Command physics-based vehicles in an immersive world! Assemble your own army. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Join us on Discord! discord.gg/JSypkZqQT7

Post news Report RSS Air Units Foundation and DirectX 12 Support

DirectX 12 support is coming to Assembly RTS, a real-time strategy game with deep customization mechanics. Discover seemingly endless possibilities. Assemble your perfect army and conquer the enemy! Build a base, gather resources and persist in a hostile, arctic new ice age.

Posted by on

Welcome to a new devlog for Assembly RTS, the physics-based real-time strategy game!
IndieDB Header Image 001


Hi there, during the past two weeks I've continued writing music and enhanced game logic and runtime performance. Let's get right into it!

Writing The Soundtrack

Lately, I've started producing music for the game again, usually on Sundays.

It's always important to listen to the music in context whenever possible.
I watched C&C3KW footage while listening to the tracks to get a better understanding.

What struck me is how quiet soundtracks typically are in comparison to gameplay sound effects.

Does it still sound great when you can barely hear the instruments, and does it jive well with the action?..
This is what actually matters for an RTS soundtrack.

Which is your favorite? I personally like the last track best, but only when the orchestral instruments kick in does it actually shine when combined with gameplay.
Surprisingly, I found the second Midtempo track also very suitable as soundtrack material, despite its extreme simplicity.

Rendering Performance Enhancements

The performance in the Unity Editor Play Mode has been quite bad lately, and I finally got fed up with it. Testing the game under unrealistically bad framerate conditions makes it difficult to judge things.

To fix this issue I upgraded my project to the Unity 6 Beta, which brings some rendering performance enhancements with it, especially when paired with DirectX 12.

Previously I would get 40 FPS in the Editor Play Mode. Now I get well over 80 FPS.
Surprisingly there is actually barely any performance difference in executable builds (~120 FPS), but still, mission accomplished!

Targeting Fixed

For a long time Assembly RTS has suffered from a bug which made targeting unreliable. Enemy units simply couldn't 'see' each other.
Thanks to some more visual debugging improvements I was finally able to fix this issue (fingers crossed).

Unity mSqSV8IWKa


Major Coding Productivity Improvements

Previously, much of Assembly RTS's logic would require recompilation and editor play mode restart after every change, costing about a minute every time.

Finally, I've found a way to write much of the offending code in such a way to make it hot-reloadable.
This means, that I can change the code while the game is still running in the Unity editor. A huge deal!
I will incrementally rewrite the code as needed to make fast changes like these possible.

Air-Based Units Integration

Before making any other changes to the game I finally integrated the base logic required for air-based units. My gameplay framework now supports structures, vehicles, infantry, mechs and aircraft.

The aircraft, which for the current prevalent faction are going to be airships, are running a separate physics simulation, making it possible for them to collide with each other (without colliding with the ground-based units).

I haven't made any airship 3D models yet so all I've got for you today are some floating boxes.

air physics smol


Stats From CSV

The stats for different units and structures are now loaded from CSV files, which is a file type supported by Excel and Google Sheets, making it possible to easily share them with you guys for scrutiny and for future limited modding support.

wps JgliV1RXpn

That's it for this devlog. Don't forget to wishlist Assembly RTS - Unleash Your Forces on Steam!

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: