It’s a crazy world out there right now. Here at AstroNaughty Games, we really hope everyone is staying safe, healthy, and being socially responsible by limiting your exposure to others. Keep those hands clean!
The bright side of all of this is that it has allowed the team to get even more work done when compared to our usual schedules. Extra free time mean extra time to work on Grimmstar! We’ve made significant progress in a number of areas, including breaking down the biggest blocker that stood in our way. You’re welcome to see the devlog here:
To start things off, we’ve been working to greatly improve our explosion effects. This is still in iterative process and we’ll continue to improve things as time goes on, but these new effects are giving a much more satisfying feeling and better visual feedback to the player. We’re using a combination of flipbooks, ribbon particle, volumetric fog, and mesh emitters to give an extravagant effect upon the destruction of an enemy ship.
For our flipbook generation, we’ve begun using a program called EmberGen in order to generate explosions. This neat tool has been pretty awesome to work with, even while in its alpha phase of development. It allows us to construct fluid simulations in real-time and then generate flipbooks of various different outputs to be used within Unreal Engine.
The great thing about real-time simulations is that you don’t even really have to know what you’re doing at first; learning is super fast and simple. With programs like Maya and Houdini, it not only costs a lot of money to license the software, but you have to wait for the programs to render these simulations before making minute changes to get things perfect. With EmberGen, we’re able to make changes in real-time and get immediate feedback on the changes being made. We can mess with variables without having to worry about spending 5 minutes waiting to see the changes it made.
At first, we used the raw outputs as flipbooks for our explosion particle emitters. Things just weren’t looking as good as we wanted though, so we went in and did some additional work. Instead of using the 4k RGBA output that we rendered with EmberGen, we changed the texture to be greyscale. On top of this, we lowered the flipbook to 2k. This saved an immense amount of texture memory while allowing us to get even more control and make a better looking explosion, all at the same time. Seems crazy, doesn’t it?
Well, but using the greyscale values, we can actually derive a color temperature ramp so that color is controllable and less resource intensive. This has an added bonus of allowing us to control the illusion of fire hiding behind the smoke as well, all with one single texture. By hooking up dynamic parameters in the material, we can control these outputs in the particle emitter itself, allowing us to fine tune things over the time of the emitter.
An example of our material setup is seen here:
Here’s what we get as the output (with some sparks added):
Staying with the theme of explosions, we reworked the system for our homing missiles. They’re working splendidly now and are easy to use and operate. A Middle Mouse press locks on to the chosen target and, once locked on, holding Middle Mouse fires the missiles. They pack quite a punch and can be really good for taking down enemies from distance.
The biggest news for us to share is that our AI’s 3D Pathfinding and Object Avoidance systems have been drastically improved. They’ve been reworked from the ground up and are more efficient than ever. Our previous methods for pathfinding and object avoidance were quite expensive. We would have four enemies on the screen at once and dip down to 13fps with RTX. With RTX off, we’d still be going to the 20’s. It was miserable.
Now though, we can have over 40 enemies on the screen at the same time with RTX support, in 1440p, inside an object dense area, all battling out with each other and using multiple behaviors. This allows us to get the epic battles that we plan on putting you in.
Because of this, we’ve begun working on our first mission: Saving the Terranova. While the Terranova continues progress in development, it’s in a good enough state to throw in to one of the levels and start scripting the mission to keep it alive until its warp drives can spool back up. You’ll be tasked providing assistance to the Terranova to keep it from being destroyed.
Battles are going to be tough, so you’re going to need some help. One of the main features that separates us from other space fighters is the usage of fleet mechanics while in or out of battle. We just put in our first pass of the fleet reinforcements mechanic. Using the radial menu, you can call in reinforcements to help you with your fights. These reinforcements will have a limited time usage, a cool down, and will cost resources though, so you’ll have to use them wisely. Eventually, we’ll be implementing corvette and capital class reinforcements as well. So stay tuned for those!
Lastly, we’re about half way through our reworked UI/HUD systems. A change of color and a more classic, retro-scifi style for the HUD is being put in. We’ve also added a whole dialogue system, accompanied with radio transmissions that you’ll be receiving.
For future development, we’re going to get started on the overall mission logic system to track global progress of missions, resources, and more. With that in, we’ll be able to generate mission events with a tool being designed to streamline the process of sub-mission implementation. We’re getting ever closer to getting the vertical slice ready for release!