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-05-26

It’s been a long time since the last update, but that doesn’t mean there hasn’t been any progress! Since last time, RWE has learned lots of new things:

  1. How to display information about the currently hovered-over unit in the bottom bar, including resource production and consumption info
  2. That factories have a build queue and that you can queue up units to be built
  3. That factories have a yard map, that the yard that can be open or closed, and that sometimes parts of the yard can be driven over by other units
  4. How to activate and deactivate factories to start and stop building
  5. That units being built by a factory are attached to the factory at a specific point

The culmination of all these bits of progress is that, for the first time, it is possible to use factories to construct mobile units in RWE!

The next goal is to make metal extractors work. Once commanders are able to secure a reliable supply of metal, they will be well on their way to expanding across the map.

If you’ve been following progress in the #robot-war-engine channel on Discord, you’ll have seen a few new gifs showing off these new features. Here they are again, showing the bottom bar, build queues, factory activation and finally building.

2019-05-26-progress-1 2019-05-26-progress-2 2019-05-26-progress-3 2019-05-26-progress-4

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.


See All Posts