Robot War Engine

Blog

Progress Update 2022-05-23

Hi all. It’s been a very long time since the last progress update! Since the last update in 2019 work on the project was “officially” suspended. Work has still been happening in the background however, albeit at a much more relaxed pace. In this update I’ll highlight some of major new features that have been added to the engine.

Progress Update 2019-11-13

Hi all. It’s time for a surprise midweek update to make up for missing the last two weeks.

Progress Update 2019-10-06

Hi all. It’s been a very long time since the last update, so here’s a new one for you all.

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:

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.

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.

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.

Progress Update 2018-12-30

Hi all. Sorry it’s been so long since the last update. I’ve been working hard for you over the holidays – here’s one last update for the end of the year.

Progress Update 2018-11-25

This week, RWE learnt about giving orders using the minimap. Units can now be told to move or attack using the minimap instead of the main world. RWE also understands that units could also be selected using the minimap, but RWE currently only supports the right-click interface for TA, which doesn’t let you select units using the minimap. However this will work when the left-click interface is also supported.

Progress Update 2018-11-18

This week, RWE learned to make space for the gui and how to render the minimap. RWE now displays the minimap, shows dots for the units and shows where the camera is. When you hover over a unit in the main view, it is highlighted on the minimap. You can also drag your mouse on the minimap to move the camera around.

Progress Update 2018-11-10

Hi all. For this update I’ve been working on the map selection dialog in the launcher. It now shows the minimap and the map info for the selected map.

Progress Update 2018-10-20

Hi all. For this update I’ve been continuing to work on the game room in the launcher.

Progress Update 2018-10-07

Hi all. This week I’ve been working on the game room in the launcher. Players can now choose their side, colour and team. Today’s gif shows this off.

Progress Update 2018-09-22

Here’s the update, as promised.

Progress Update 2018-06-24

Hi all, I’ve been quite bad at doing updates recently, so I’ll try and cover everything in this one.

Progress Update 2018-06-01

Hi all, sorry I missed the last update. I’m busy this weekend so sadly I will miss this week’s usual update as well. I will continue to be a bit busy next week but I’m hoping to gradually resume progress.

Progress Update 2018-05-20

This week, RWE learnt that some players in the game can be controlled by the network and can now communicate with these players. This means that it is now possible to play a network game in RWE. Note that this feature is still living in a separate network branch for now as the implementation still needs some polish before I’m happy with it.

Progress Update 2018-05-13

This week I worked on refactoring RWE to decouple the concept of player commands from the local computer. More concretely this means that when you issue a command to a unit, the command is not directly given to the unit but rather placed into a queue to be issued at the appropriate future time in the simulation. At each time step, the simulation consumes the next set of commands in the queue for each player. This may be the empty set, if the player did not issue any commands for that time step. If the game reaches a point in time where the queue for a player is empty, the simulation is paused until the commands (or lack of commands) do arrive.

Progress Update 2018-05-06

This week RWE learnt to accept info about players on the command line when being started directly into a game. This is one of the first steps needed to be able to launch RWE into a network game from another program or as a developer for debugging.

Progress Update 2018-04-29

This week RWE learnt about the end of the game. RWE now detects when a commander dies, marks the owning player as defeated and destroys their remaining units. Once only one player remains in the game (or 0 if commanders destroy each other), the game is considered finished and RWE exits after a brief delay. For now, there’s no victory/defeat banner, hopefully this should be straightforward to add in.

Progress Update 2018-04-14

Update time, here are the things that have happened in RWE since I last posted:

Progress Update 2018-03-25

This week, RWE learnt about how projectiles collide with units and about unit health and damage. Lasers now collide with units, and units have the concept of damage, but lasers still don’t actually apply damage yet. Since units have health now, they also have health bars, toggled by pressing the key to the left of “1” on your keyboard (on English layouts this is normally “`”).

Progress Update 2018-03-18

This week RWE learnt about weapon impact effects and a bit more about targetting. Weapons now play their impact sound and explosion when they collide with terrain and units now aim for the enemy unit’s sweetspot. Units will also automatically engage their weapons if an enemy comes into range.

Progress Update 2018-03-11

This week, RWE learnt about laser projectiles. When a unit fires its weapon, RWE now creates a projectile at the firing point. Projectiles travel across the map and are destroyed when they collide with terrain.

Progress Update 2018-03-04

This week I was a bit naughty, I said I was going to work on weapon firing but really I didn’t do that. Instead I investigated crash reporting services and started doing some work to integrate crash reporting into RWE. I think this will be a huge time saver in the long run as it will make it easier for me to get the information I need to find and fix bugs.

Progress Update 2018-02-25

This week RWE learnt more about attack orders and weapon firing. Units will now move into range when they are given an order to attack an enemy unit and can now play their firing animations and sounds. RWE also now properly reads in weapon data (before I cheated and just hardcoded the values for ARMCOM).

Progress Update 2018-02-18

This week RWE learnt more about attack orders and weapon aiming logic. This has largely been internal restructuring to allow multiple weapons to operate independently and to allow unit to be smarter about carrying out attack orders. Weapons still can’t fire yet, but the logic surrounding firing is gradually coming together.

Progress Update 2018-02-11

This week, RWE learnt about weapons, attack orders and aiming.

Progress Update 2018-02-04

This week I made some enhancements to RWE’s pathfinding system. Some of these were things I removed last week in order to help me fix the bugs I discovered, but some are new. The basic overview is:

Progress Update 2018-01-28

I quietly missed my update last week. Unfortunately I didn’t have a lot of time to get anything done and this week I’ve been ill again, so progress has been a bit slow.

Progress Update 2018-01-14

This week I rewrote the pathfinder to use jump point search. This means that the pathfinder is fast again! I should also mention that RWE no longer crashes if you try to tell a unit to go to a place it can’t reach.

Progress Update 2018-01-07

Just stopping by for my usual update. Haven’t got back into things yet but I did a little work on and off over the break.

Progress Update 2017-12-11

This week’s update is a little late as I’ve been quite busy with the holidays coming up (and a little bit ill).

Progress Update 2017-11-26

This week, I originally promised to do pathfinding, but since a few of you have tried the program out and encountered some problems, I’ve been working on other improvements instead that should help with this.

Progress Update 2017-11-19

This week, RWE learnt that units can collide with features and with other units. Now the commander can no longer walk through trees. Of course, the commander doesn’t have any pathfinding logic yet, so he’ll still try to anyway.

Progress Update 2017-11-12

This week, RWE learnt about unit move orders. After selecting a unit you can now right-click (sorry left-click users!) to issue a move order, and the unit will carry out that order. You can also use shift to queue up move orders and press the “S” key to stop a unit. Units follow the terrain contour but there’s no collision or pathfinding yet, so walking through trees is no problem.

Progress Update 2017-11-05

This week, RWE learnt to know when a unit is currently under the mouse cursor and will allow you to select that unit, if it’s yours. When a unit is selected we also play the appropriate selection sound.

Progress Update 2017-10-29

This week, RWE learnt to spawn in the correct commander for the player’s side (previously it was hard-coded to “armcom”). To make this work we now read unit FBI files and sidedata.tdf. This means we can successfully start as Core now!

Progress Update 2017-10-22

This week, RWE learnt to use the OpenGL shader pipeline to display unit meshes. Doing this was a bunch of work but it will make implementing graphical effects more straightforward in the long run. I think it is much better to take this pain now than later when the engine is more reliant on the legacy fixed-function pipeline.

Progress Update 2017-10-15

This week, RWE learnt to load and display textured 3do models. This means that we can now display the commander’s model on the map. The flare on the commander’s d-gun is visible because these are hidden by the commander’s script, and we don’t yet have a scripting engine to run it.

Progress Update 2017-10-08

Not much to report this week, I’ve been taking a bit of a break.

Progress Update 2017-10-01

I know I said there wouldn’t be an update but I found some time anyway.

Progress Update 2017-09-24

This week, RWE learnt to launch into a “game” that displays the map terrain. You can pan around this terrain with the arrow keys.

Progress Update 2017-09-17

This week, RWE learnt to display the player setup part of the Skirmish menu. You can now configure players, their side, colour, team, metal and energy. You can also press the Start button, which sends you to the loading screen. The loading screen just shows the loading bars at various stages as a demo/debugging aid.

Progress Update 2017-09-10

This week, RWE learnt to display the map selection dialog properly. It now knows how to display listboxes, scrollbars and how to read map TNT files to display the minimap preview. It also learnt some things about gui element focus and how buttons should respond to keyboard input.