NIMRODS Devlog - DOTS Performance


Greetings, NIMRODS!

We haven't shared a performance Devlog yet, so we wanted to share some details about our recent work.

We’re excited to share some major improvements we’ve made to our game’s performance since the Demo. Previously, certain gun builds in the Demo struggled to reach past 5 frames per second. We’ve drastically improved this by utilizing Unity’s DOTS (Data-Oriented Technology Stack), unlocking the game’s potential to perform smoothly on various devices like minimum spec devices, Steam Deck, and more.

How It Works
All of our gun augments in the game work with a modular approach where everything function as a 'modifier'. This not only enables our game designers to quickly configure these augments in the editor, but also allows all gun upgrades to combine seamlessly, resulting in trillions of possible combinations.

We believe this system significantly enhances the game's fun and replayability. Here are some examples of the projectile modifiers found in the game, along with their corresponding gun augments:

  • Homing Projectile Modifier - Causes your bullets to home in on the nearest target. Used in the Homing Sight augment.
  • Wave Projectile Modifier - Causes your bullets to path in a sine pattern. Used in Helix Barrel augment.
  • Splitter Projectile Modifier - Causes your bullets to split into two smaller bullets when you impact a target. Used in Splitter Bullets augments.

And then if you add these up together you get a homing, wavy projectile that splits into smaller sub-bullets that also home and are wavy.

Performance Gains
Before using Unity DOTS, having 10,000 projectiles on screen with the wave projectile modifier took about 3ms to finish computing (for reference, reaching 60 FPS requires each frame to take less than 16.7ms to render).

After these performance improvements, this time was reduced to just 0.03ms per frame - a 100x improvement! Pog

Here is a taste of what the game can now handle, in terms of sheer number of projectiles / enemies on screen:


These changes help us ensure the game will be lag-free, even in the end-game with thousands of projectiles, explosions, status effects, enemies, and much more. We can't wait to share more about what we’re cooking up for the Early Access release. Expect an announcement of an Early Access release date coming soon!

Thanks for becoming a NIMROD :)

-Kmess

Comments

Log in with itch.io to leave a comment.

WOAH you actually used DOTS!  I was wondering where the hell the performance came from all the sudden :D  Infinitely better now!