Welcome to a new devlog for Assembly RTS, the physics-based real-time strategy game!
Hi everyone, let's dive back into the world of Assembly RTS after the exciting exclusive footage showcase!
Assembly RTS is a game that's pushing the boundaries of real-time strategy with its innovative unit customization and physics-based units. In this update I'm adding animated infantry to the game using a brand new solution for animations.
Better Animations
Even though I already implemented animations for mechs, I wasn't happy with the system I was using for the animations. So I decided to look for a better alternative before adding infantry to my game.
"Why don't you just use the default Unity animation system?" (you might ask)
The answer is simple: Performance
Unity's default animation struggles when it has to animate hundreds of characters.
Assembly RTS will support over 800 moving units at a time, many of which will feature complex animations. This is why a different solution is in order.
The Old System
The animation system I previously used for the mechs required lots of additional animations to work well.
Furthermore, even though this solution was GPU-based (which can be insanely fast in theory) it was unoptimized and slow in practice.
I started searching for a different solution that would surpass my previous approach in every way.
To address the performance issues, I first looked at alternative GPU-based options.
The New Animation System
It turned out that there aren't any GPU-based solutions with sufficient animation blending capabilities available.
Theoretically, I could modify some code to better support seamlessly blending between many different animations, but it would cost me a lot of time.
Next, I looked for CPU-based alternatives.
This approach can't reach the optimal performance of GPU-based options, but it could still get the job done.
I discovered two promising solutions:
I tried integrating both of these libraries into my project to compare them with each other.
However, so far I only managed to get Rukhana (almost) fully working.
Rukhana
The Rukhana animation system lets me use the default Unity Mecanim animation state machine.
This makes setting up complex animation behaviors quite convenient.
Infantry Squads
Like in many other RTS games out there, every infantry unit is made up of a squad of soldiers.
To make the men move in a natural group-like fashion I implemented a simple boids algorithm.
Upcoming Features
Here's some of what's next:
- Resolving remaining animation issues
- Making it possible for infantry to properly participate in combat
- Adding spatial querying solution for much better unit targeting performance
- Implementing more performant VFX solution?
- Visual improvements
You can also get notified as soon as Assembly RTS hits Steam!
look great , I'm sure will wait for the release
Thanks!
Fab!