don't click here

SAGE 2023 - Framework Dash Engine 1.3

General Information

Cinematic1.png


Dash Engine 1.3 is the newest release of the original Unreal Engine 4 fangame framework. Features new systems, optimizations, graphical improvements, and more to help you make fangames!
Here’s some of what’s been added and changed for Dash Engine 1.3;

  • Optimizations: A lot of optimizations have been made, alongside cleaner blueprints too. More code uses Timelines rather than timers, a lot of older blueprints have been made more readable, etc.
  • Overhauled Grinding: The grind rail system has been completely overhauled. Grind rails use a Timeline system to allow for proper physics when grinding; Sonic will gain and lose speed naturally while grinding down and up rails! This speed can be amplified further with the new Grind Crouch skill; hold Duck while grinding to move faster (or slower)!
  • Improved Adventure Sonic: Adventure Sonic has been rather neglected in prior versions of Dash Engine, but 1.3 changes this. Rolling has been fixed, the Dropdash and Bounce can be used together, and the character model has been fixed up; goodbye 06 Sonic, hello green-leather bronze-buckle shoes!
  • Slope Physics: Sonic will properly gain and lose speed when running on all inclines, not just steep ones. This is amplified by rolling or sliding!
  • Wisp Improvements: The Wisps were introduced in Dash 1.2 and have since received several improvements. They start a little faster, Laser properly bounces off of walls, visuals for Wisps have been greatly improved, etc!
  • Proper Game Options: Dash Engine has always been either inconsistent, lacking, or a mixture of the two in terms of the options it provides; Dash 1.2 ended up with nothing! Dash 1.3 however solves this, providing common Audio, Graphic, Control, and Game settings to toggle with!
  • Sample Assets: Some sample assets are included with Dash 1.3, including some custom 3D stuff based on objects and decor from Sonic 1's Marble Zone, Spring Yard Zone, and Starlight Zone! Some music from different Sonic games, mainly Unleashed, are also included and properly loop via their sound cues!
Despite all of the progress and improvements made in Dash 1.3, it's still not everything that I wanted to do! College and general life made me loose steam on the project, but the state it's in now for Sage '23 is something I'm content with.
Expect updates to the GitHub repository every once in a while! I might end up finding time down the road to finishing everything else up!

Because the project files and packaged demo are larger than what SFGHQ can process, download links are below. The GitHub repository is also down below too!

PROJECT FILES
GitHub Repository: https://github.com/YakuzaBalooza/Dash-Engine-1.3
The GitHub repository has the latest, most recently updated files! This includes any hotfixes I do before or during SAGE '23!

PACKAGED DEMO



! ! ! IMPORTANT ! ! !
It is recommended to have some prior knowledge of navigating and using Unreal Engine 4 to get the most out of Dash Engine.
Dash Engine 1.3 was developed using UE4 4.27, and as such is not compatible with other versions of Unreal Engine.

Dash Engine uses a lot of particles created using UE4's Cascade system. Cascade is deprecated in UE5 and replaced with Niagara, and as such UE5 is not recommended for use with Dash 1.3.
Project credits can be found in the special Credits scene on the Main Menu.
Dash Engine requires a unique compilation method. Please see the GitHub repository linked above for more information.

Happy creating!

Comments

Oh wait, you aren't trying to use the packaged demo for this process right?
The packaged demo is an executable file. You can't use that within UE4, as its not a uproject file.

The project files can be found at the GitHub link on this booth page. On the GitHub repo is a video link to Nova's guide on setting up Dash Engine (ignore the "dash-gen.exe" part, the video is old and from Dash 1.1 but everything else still applies save for UE4 version).
So apparently now when I try to open the dash.gen file, it’s says my Unreal Engine version is not the same version, I have 4.27.2, is this the right version?
 
So apparently now when I try to open the dash.gen file, it’s says my Unreal Engine version is not the same version, I have 4.27.2, is this the right version?
You likely downloaded the incorrect version of Dash Engine. My apologies on not clarifying this before, I'll update this booth page and my GitHub repo with this info;

Dash Engine 1.1 had a required step during setup where you had to run "dashgen.exe" in order to generate important files.
Dash Engine 1.2 and 1.3 both do NOT require dashgen.exe, the linked video here and on my GitHub repo make mention of the exe due to the video being made back for 1.1 although all steps save for dashgen still apply.
The correct GitHub repo to use is linked within this SAGE booth, with the creator being YakuzaBalooza (me!).

You have the correct version of UE4, but likely not the right version of Dash Engine downloaded.
 
You likely downloaded the incorrect version of Dash Engine. My apologies on not clarifying this before, I'll update this booth page and my GitHub repo with this info;

Dash Engine 1.1 had a required step during setup where you had to run "dashgen.exe" in order to generate important files.
Dash Engine 1.2 and 1.3 both do NOT require dashgen.exe, the linked video here and on my GitHub repo make mention of the exe due to the video being made back for 1.1 although all steps save for dashgen still apply.
The correct GitHub repo to use is linked within this SAGE booth, with the creator being YakuzaBalooza (me!).

You have the correct version of UE4, but likely not the right version of Dash Engine downloaded.
So I need to download the file off of GitHub, then run the Unreal Project? What file do I need to select to run the Visual Studio?
 
So I need to download the file off of GitHub, then run the Unreal Project? What file do I need to select to run the Visual Studio?
  1. Go to the GitHub repository linked on this booth.
  2. Click Code, then select Download as ZIP.
  3. When the ZIP file is finished downloading, extract the contents using 7ZIP to your preferred directory (EX; Documents>UnrealProjects).
  4. Ensure that Visual Studio has all of its needed components installed (see video linked in GitHub repository).
  5. Right click the .uproject file in the DashEngine directory, then select Generate Visual Studio project files using UE4.27.
  6. If successful, you should be able to open up the .uproject like normal. Note that a first boot of Dash Engine takes a while (even longer on a weaker machine) due to Unreal needing to compile shaders. Give it some time to settle before doing anything else.
 
  1. Go to the GitHub repository linked on this booth.
  2. Click Code, then select Download as ZIP.
  3. When the ZIP file is finished downloading, extract the contents using 7ZIP to your preferred directory (EX; Documents>UnrealProjects).
  4. Ensure that Visual Studio has all of its needed components installed (see video linked in GitHub repository).
  5. Right click the .uproject file in the DashEngine directory, then select Generate Visual Studio project files using UE4.27.
  6. If successful, you should be able to open up the .uproject like normal. Note that a first boot of Dash Engine takes a while (even longer on a weaker machine) due to Unreal needing to compile shaders. Give it some time to settle before doing anything else.
Got it working!!! THANK YOU SO MUCH! I want to create 3D levels now, a couple questions, would you like to be a part of the new huge Sonic 3D Boost game I now am going to make? And second of all, how would I change Sonic's physics so I can make the boost gameplay more momentum based?
 
Got it working!!! THANK YOU SO MUCH! I want to create 3D levels now, a couple questions, would you like to be a part of the new huge Sonic 3D Boost game I now am going to make? And second of all, how would I change Sonic's physics so I can make the boost gameplay more momentum based?
Glad you got the project setup!
Unfortunately, I'm currently unavailable for any new projects due to college, sorry!

As for boost gameplay being more physics centric, that might not be fully possible. The Boost formula by design goes against physics (the Boost action pushes the player forward at a constant rate). While the Boost in Dash Engine does speed up and slow down from slopes, Sonic will still move up walls while boosting.
If you want more physics centric gameplay, you're likely better off using the Adventure Sonic pawn as your baseline with the Roll action.
 
Glad you got the project setup!
Unfortunately, I'm currently unavailable for any new projects due to college, sorry!

As for boost gameplay being more physics centric, that might not be fully possible. The Boost formula by design goes against physics (the Boost action pushes the player forward at a constant rate). While the Boost in Dash Engine does speed up and slow down from slopes, Sonic will still move up walls while boosting.
If you want more physics centric gameplay, you're likely better off using the Adventure Sonic pawn as your baseline with the Roll action.
Okay, can you at least tell me where I can look at the code for the physics?
 
Okay, can you at least tell me where I can look at the code for the physics?
You can see how the pawn handles slope physics (increase/decrease speed when going down/up inclines) in the SlopePhysics function of the DashPlayerPawn.
The calculation for the velocity change can be found in the collapsed graph within the SlopePhysics function.
 
I commend the updates to the Adventure style movement cause imo its really the star of the show for this engine. That being said there are a few small changes that I think would elevate the fun factor of it many times over. Firstly, I think a dedicated roll button would be a lot more intuitive than having it bound to the same button as the spindash and bounce. Mainly because that allows for the spindash to be activated without crouching which I think would add to the overall flow since you wouldn't need to slow to a stop to start charging one or accidentally roll when ur trying to charge. (Yuji Naka is in prison we don't need everything mapped to one button anymore lmao) I bound my B button to the left trigger and that felt like a super comfortable Button to have the roll mapped to personally. I think keeping the bounce and the spin dash on one button seperate from jump in combination with a dedicated roll button would feel super nice, tho thats not something I was able to test with the demo. In my head, the ideal button layout for the current Adventure movement would be Spindash and bounce on X, Jump airdash and dropdash on A, and The roll on the left trigger (XBOX Buttons). I never got to use the Light Speed Dash but I'm assuming that's on Y like usual and that's always been fine lmao. That's just me tho and that might end up being totally uncomfortable if tested lmao. The only other complaint I had was that the Drop dash feels a bit weak when I use it. I usually end up choosing to airdash instead cause I get almost double the speed that way. I don't think any more than doubling the speed of it is necessary tho. Maybe even less than that would be ideal I'm not sure. Other than that tho, the adventure style as it currently is in this demo is honestly the closest to perfect feeling 3D Sonic controls I've ever gotten my hands on with its only real competition being Project Hero. The Devs should be super proud of it! Sorry for typing out such a mouthful lmao. Thx For the Demo!
 
I commend the updates to the Adventure style movement cause imo its really the star of the show for this engine. That being said there are a few small changes that I think would elevate the fun factor of it many times over. Firstly, I think a dedicated roll button would be a lot more intuitive than having it bound to the same button as the spindash and bounce. Mainly because that allows for the spindash to be activated without crouching which I think would add to the overall flow since you wouldn't need to slow to a stop to start charging one or accidentally roll when ur trying to charge. (Yuji Naka is in prison we don't need everything mapped to one button anymore lmao) I bound my B button to the left trigger and that felt like a super comfortable Button to have the roll mapped to personally. I think keeping the bounce and the spin dash on one button seperate from jump in combination with a dedicated roll button would feel super nice, tho thats not something I was able to test with the demo. In my head, the ideal button layout for the current Adventure movement would be Spindash and bounce on X, Jump airdash and dropdash on A, and The roll on the left trigger (XBOX Buttons). I never got to use the Light Speed Dash but I'm assuming that's on Y like usual and that's always been fine lmao. That's just me tho and that might end up being totally uncomfortable if tested lmao. The only other complaint I had was that the Drop dash feels a bit weak when I use it. I usually end up choosing to airdash instead cause I get almost double the speed that way. I don't think any more than doubling the speed of it is necessary tho. Maybe even less than that would be ideal I'm not sure. Other than that tho, the adventure style as it currently is in this demo is honestly the closest to perfect feeling 3D Sonic controls I've ever gotten my hands on with its only real competition being Project Hero. The Devs should be super proud of it! Sorry for typing out such a mouthful lmao. Thx For the Demo!
Thank you for the feedback! Some notes relating to how the Adventure Pawn is setup in Dash 1.3;
  • It is possible to have the Spindash usable while moving. By default, the Adventure Pawn requires a standstill to charge the Spindash.
  • Bounce is binded to Duck due to it working similar to the Stomp (quick drop down, also on Duck) as well as it being the binding in previous iterations of Dash Engine (1.1 and 1.2).
  • Lightspeed Dash has always been bound to Special (X key, face button top).
  • The velocity launch of the Spindash can be configured between a fixed velocity or an additive velocity, which also applies to the Dropdash since that action uses the same launch function as the Spindash. By default, the Adventure Pawn is configured for a fixed velocity launch.
  • Roll is binded to Duck as it has always been on Duck since Dash 1.0, however I 100% understand it being more comfortable on something like a trigger! It's just not setup like that in Dash 1.3 due to needing to be flexible for whatever the individual developer needs to do (better to just have it on a button with other similar actions rather than on a separate button that may conflict with other actions).
 
Thank you for the feedback! Some notes relating to how the Adventure Pawn is setup in Dash 1.3;
  • It is possible to have the Spindash usable while moving. By default, the Adventure Pawn requires a standstill to charge the Spindash.
  • Bounce is binded to Duck due to it working similar to the Stomp (quick drop down, also on Duck) as well as it being the binding in previous iterations of Dash Engine (1.1 and 1.2).
  • Lightspeed Dash has always been bound to Special (X key, face button top).
  • The velocity launch of the Spindash can be configured between a fixed velocity or an additive velocity, which also applies to the Dropdash since that action uses the same launch function as the Spindash. By default, the Adventure Pawn is configured for a fixed velocity launch.
  • Roll is binded to Duck as it has always been on Duck since Dash 1.0, however I 100% understand it being more comfortable on something like a trigger! It's just not setup like that in Dash 1.3 due to needing to be flexible for whatever the individual developer needs to do (better to just have it on a button with other similar actions rather than on a separate button that may conflict with other actions).
Are those configurations possible through just running the demo or would I need to run it through Unreal 4?
 
Are those configurations possible through just running the demo or would I need to run it through Unreal 4?
Atm I'm just running the engine through steam and playing around in the test stage since I have no experience in game/level design lmao. Is it possible that's why I couldn't find those configs?
 
hi, is there anyway to fix this issue when i turn super sonic? where his spines are down and none of his animations are from his super animations.
afaqfw.JPG
also what did you name the red kill plain under the map, i cant seem to find it
 
Last edited:
Atm I'm just running the engine through steam and playing around in the test stage since I have no experience in game/level design lmao. Is it possible that's why I couldn't find those configs?
To change how the pawns (and anything for that matter) are configured, you'll need to set up the project files. You cannot do it from the packaged demo.
 
hi, is there anyway to fix this issue when i turn super sonic? where his spines are down and none of his animations are from his super animations. also what did you name the red kill plain under the map, i cant seem to find it
While Super Sonic's model, animations, and textures from Unleashed were imported into Dash 1.2 (and subsequently 1.3), the animations are incomplete. A lot of important animations aren't present for Super Sonic, and I had no luck with retargetting. This is why only a material change occurs when turning Super.

The kill plane for a level is present within the LevelSettingsActor, and actor that functions as a level manager of sorts and is essential to Dash Engine working.
 
While Super Sonic's model, animations, and textures from Unleashed were imported into Dash 1.2 (and subsequently 1.3), the animations are incomplete. A lot of important animations aren't present for Super Sonic, and I had no luck with retargetting. This is why only a material change occurs when turning Super.

The kill plane for a level is present within the LevelSettingsActor, and actor that functions as a level manager of sorts and is essential to Dash Engine working.
cool thanks for the feedback, if you ever get around to working on super sonic again please tell me because i would love to include it in my level as a reward for collecting all of the emeralds, i have one more thing to ask, is it possible to add force velocity to the springs, because sometimes i want the springs to go on a set course but it messes up because of the momtentum / propulsion, for example if you hit the spring right next to it you go flying, if you hit it from a fair distance you won't get launched as far. I want it to send me at its max speed everytime if possible on certain springs. thanks again :D
 
Last edited:
cool thanks for the feedback, if you ever get around to working on super sonic again please tell me because i would love to include it in my level as a reward for collecting all of the emeralds, i have one more thing to ask, is it possible to add force velocity to the springs, because sometimes i want the springs to go on a set course but it messes up because of the momtentum / propulsion, for example if you hit the spring right next to it you go flying, if you hit it from a fair distance you won't get launched as far. I want it to send me at its max speed everytime if possible on certain springs. thanks again :D
Springs always launch the player with the same velocity. If you want the player to maintain that fixed arc for longer, increase the input delay on that actor (disabled player input for x seconds). Player input is likely causing your spring launching to go off course.
 

Item information

Added by
YakuzaBalooza
Views
7,271
Comments
44
Last update

More from YakuzaBalooza

  • Sonic Other World
    Explore a strange new world filled with odd locations in this fan-game...

Share this item