• Register


  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

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

IndieDB Header Image 001


Hello fellow strategy game enthusiasts!
Since my last devlog, I've been rewriting the pathfinding and local avoidance from the ground up.

hovercraft moves forward

The Old Pathing Solution

The poor pathfinding performance in my game was bugging me lately.
Ordering a unit to the other end of the map could cause a severe lag.

To combat this, I tried making the code asynchronous,
which means that the calculations had time to run in the background until the next simulation tick (33 milliseconds). In theory, without causing any visible lag.

However, I had made a stupid mistake- I assumed that the pathfinding algorithm couldn't possibly take more than 33 milliseconds to complete. After finishing my changes to the code to make it asynchronous, I discovered this this still wasn't enough time for the pathfinding algorithm to complete its job.

After making this change to the code, unacceptable freeze-ups were still a thing.
I was not about to defer the calculations for 66 milliseconds or longer...

The pathfinding library I had previously used (from the Unity asset store) served its purpose as a quick proof-of-concept solution at the time, but no more!

New Pathfinding Logic

A different, more performant solution was needed, so I decided to rewrite the pathfinding from scratch, and to include local avoidance logic on top (local avoidance prevents units from running into each other).

I had a good experience implementing the physics simulation for Assembly RTS using the Rust programming language, which is why I started implementing a pathfinding solution utilizing the same language.

Following some initial setbacks I tried my hand at implementing the pathfinding using Unity's HPC# language instead, but it is quite restrictive.

After overcoming the initial challenges the next day, I stuck with writing the code in Rust again.
In fact, sticking to Rust allows me to incorporate the physics colliders of the environment directly into finding the best path around obstacles.

However, Rust has some strict coding rules, and for prototyping purposes this was costing me precious development time.

Later on I decided to write some of the logic in a separate C# project first, which I will translate back into Rust code at a later time.

Visualization of a Theta* pathfinding algorithm I've been working on:pathfinding demo


I'm still not done with this topic, but I'm confident that my solution will be far superior to what was before, a very basic and poorly performing pathing solution.

That's all for this devlog, I hope you found it interesting.
Assembly RTS, the strategy game with deep customization mechanics can be wishlisted on Steam!

Air Units Foundation and DirectX 12 Support

Air Units Foundation and DirectX 12 Support

News

DirectX 12 support is coming to Assembly RTS, a real-time strategy game with deep customization mechanics. Discover seemingly endless possibilities. Assemble...

Level Editor and Camera Improvements

Level Editor and Camera Improvements

News 2 comments

Cinematic shots have never been easier and the level editor, though painful to develop is slowly coming along. Assembly RTS is a real-time strategy game...

Removing AI imagery from my marketing assets

Removing AI imagery from my marketing assets

News 11 comments

I'm no longer using AI art for marketing. Assembly RTS is a real-time strategy game with deep customization mechanics. Discover seemingly endless possibilities...

The Icening

The Icening

News

The environment is getting even frostier for Assembly RTS - Unleash Your Forces, the physics-based real-time strategy game with deep customization mechanics...

Post comment Comments  (0 - 10 of 11)
spawnof2000
spawnof2000 - - 61 comments

is this project at all inspired by earth 2150?

Reply Good karma Bad karma+1 vote
FlightFight Creator
FlightFight - - 34 comments

I never played Earth 2150 but I can see some similarities.
My main source of inspiration is Command and Conquer Tiberium Wars 3.

Reply Good karma+1 vote
t95blackeagle
t95blackeagle - - 687 comments

Interesting project :)

Reply Good karma Bad karma+2 votes
BioClone
BioClone - - 98 comments

good luck, looks nice Im only affraid of you considering to remove the infantry :_(

Reply Good karma Bad karma+3 votes
FlightFight Creator
FlightFight - - 34 comments

Update:
Infantry is now officially a part of the game 👍

Reply Good karma+1 vote
FlightFight Creator
FlightFight - - 34 comments

Thank you! For now, I estimate that infantry would be too slow compared to all the other units available and also more challenging to implement. However, it's early days so a lot can still change 🙂

Reply Good karma+1 vote
Guest
Guest - - 691,687 comments

nice, may wish to reach out to some of the artest on the thingverse and ask if you can use there mech files . will save you time and allow you to add some more units easly. just a thought

Reply Good karma Bad karma+1 vote
FlightFight Creator
FlightFight - - 34 comments

Thanks for your suggestion! I don't plan to add many mechs to Assembly RTS so I don't think that will be necessary.
It's also important that everything keeps a coherent art style.
Most units will be hovercraft. These are far less work to create.
Thanks for your support. If you have any other suggestions please let me know.

Reply Good karma+1 vote
Guest
Guest - - 691,687 comments

Hello, nice project, do you have a discord ?

Reply Good karma Bad karma+1 vote
FlightFight Creator
FlightFight - - 34 comments

Update: There is a discord server now
Discord.gg

Reply Good karma+1 vote
FlightFight Creator
FlightFight - - 34 comments

Hey, glad you find Assembly RTS interesting! At this time, I don't have a Discord server set up for the game. However, I also post updates on my YouTube channel and Twitter account if you'd like to stay updated on the game's progress. Thanks for your support!

youtube.com/@seannowotny
twitter.com/SeanNowotny

Reply Good karma+1 vote
Post a comment

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

X

Latest posts from @seannowotny

Hey everyone, I just posted a short devlog on IndieDB 👍 Indiedb.com #AssemblyRTS #indiegame #indiedevT.co

Jul 7 2023

Working on new UI elements for #AssemblyRTS 👌 #screenshotsaturday #indiegame #indiedev #strategygame #scifiT.co

Jul 1 2023

New devlog is out! Assembly RTS is currently the most popular #strategygame project on IndieDB 💪… T.co

Jun 30 2023

Looking for prey 👀 #AssemblyRTS #indiegamedev #strategygame #WIP T.co

Jun 27 2023

Falchion in #AssemblyRTS 🌴 T.co

Jun 27 2023

Making progress in the visuals department! #AssemblyRTS #indiegamedev #strategygame T.co

Jun 27 2023

The latests devlog about the art in my game: Assembly RTS is currently the most popular project on IndieDB 🥳… T.co

Jun 24 2023

Started writing a work journal today. I dig it, it's nice to reflect on the work done for the day, even if it's just for a minute!

Jun 20 2023