Robot War Engine

Robot War Engine is an open-source real-time strategy game engine that supports Total Annihilation data and mods. Read more on our About page or view the project on Github.

Development Status

RWE is currently incomplete, read the blog posts to find out about the latest progress.

With TA data files, the Skirmish menu path works and you can load into the game, walk your commander around and fire your laser at other commanders until you both explode. You can also do this to other players on the internet, using the included launcher application to host or join a multiplayer game room. Work is currently focused on implementing the in-game UI.

Latest Posts

Progress Update 2019-04-21

Hi all! It’s been a long time since the last update. Sadly real-life things have prevented me from giving the project as much attention as it deserves, but I’ve recently found time to work on RWE again and I’m pleased to present a new progress update once again.

Since last time, RWE has learnt a few new things!

  • To show a red square and disallow building things at invalid locations
  • To read TA font files (FNT), which are used for in-game text
  • To render the top bar, containing the team colour, metal and energy bars
  • That buildings can produce and consume energy, either constantly or when activated
  • That building (nanolathing) drains resources, and pauses if resources are not available

I have spent some time observing how TA does resource calculations and I have come up with a system that appears to work similarly to TA. Here are some interesting observations:

  • TA’s resource counts update only once per second, and this gives rise to the familiar stop/start nanolathing effect when stalled for resources
  • The data you see on the metal and energy bars appears to be for the previous second, so by the time you see it, it is already one second out of date
  • When you run out of a resource you will actually “go into debt” by a small amount, i.e. below 0 metal and energy (though TA will say you have 0)
  • Builders can continue to consume a small amount of energy when stalled for metal, even when no build progress is being made. I have not yet observed this the other way round (consuming metal when stalled for energy)
  • It is possible to slightly overpay on resouces (e.g. 1 metal) due to small rounding errors during building

For today’s gif, here’s a demo of the resource bars working as the commander builds a solar collector. You will notice they update instantly – I have yet to implement the animation/tweening that TA does between states, but it’s on the to-do list.

Next the focus is going to be on rendering the bottom bar, which shows information about the hovered over unit or build button. After that, I will move on to factories.


Progress Update 2019-01-27

Hi all! This week, RWE learnt about how to build things. You can now place down buildings and the commander will build them! This includes, of course, the trusty Light Laser Tower (LLT). This means that RWE has officially been upgraded to the title of LLT Creep: The Game.

I have implemented a very rough version of the TA build effect. The shader code is a port of the build effect I wrote for the Supreme Commander mod SC:TA some 10 years ago. Currently the effect looks quite lacklustre – certainly much less impressive than my work in Supreme Commander – because RWE doesn’t render the wireframe. I want to implement this eventually, but it’s not a priority.

There is still some work to be done to polish off the building logic. For example, right now it’s possible to build buildings anywhere, regardless of slope, water, or other obstructions. RWE still does not have the concept of resources, so buildings are always built at full speed. Finally, I also have not yet implemented the nanolathe particle effect.

The next goal is to finish off work on the functional aspects of building, including adding the concept of resources. Then I will think about adding the particle effect.

Today’s gif shows our newly empowered commander constructing a wind generator.


Progress Update 2019-01-13

Hi all, welcome to the first update of 2019! For this update I’ve been working on implementing the build menus for units. RWE now knows when a unit is a builder and displays any build GUIs that are defined for it in .gui files. You can switch between the orders menu and build menu and cycle between pages of the build menu. You can click on the unit pictures too, but right now they don’t do anything.

RWE doesn’t yet know about the generic build GUIs (ARMDL.GUI, CORDL.GUI) and download/*.tdf files. This will be implemented at some point, hopefully soon.

The next goal is to implement build orders so that the commander can actually be told to build things. I’ve already made a little bit of progress on this which I shared in the #robot-war-engine channel on the TAUniverse Discord. Join me there to see the latest progress pics of features as I implement them!

Today’s gif shows off the new build menu features.


See All Posts