Autumn (or fall if you’re that way inclined) has well and truly began to take a hold in our part of the world. The nights are drawing in, the temperature is dropping and there is some fun stuff being worked on for Empires of the Undergrowth. Or boring technical stuff, depending on your point of view. Either way, we shall detail it here for your perusal!
With there not being much in the way of visual newness at the moment (a large majority of the recent work has been on systems and algorithms rather than artwork) I asked each of our three developers to give me some background information about what they’ve been working on. John has been expanding current systems to handle the upcoming fire ants, Liam has been finishing off his overhaul of the movement code, and Matt has been working on a long-anticipated feature, the titan climbing system!
Titans of the Undergrowth – Matt
In real life, ants do not live on a flat plane with incremental steps, battling their enemies from the ground. They swarm and conquer, clambering all over their foes to get at weak spots they otherwise couldn’t reach. Although we are definitely making a game rather than a simulation, and many of our game systems are reliant on the incrementally-layered flat plane, we want to introduce some more three dimensional elements when it is both fun and appropriate to do so.
Having ants swarm and climb over their foes has been in our plans for a very long time. We liked the idea of describing the larger creatures as the Titans of the Undergrowth, and they had the climbable functionality to distinguish them from smaller creatures. There are some videos from very early development, back when we were using our own custom-built engine, of this system being tested. When we made the move to Unreal Engine 4 this system fell to the wayside somewhat when the planned levels for the start of early access did not require it. Now is the time to bring it back. Matt has recently been working on doing just that.
As a test case until he has models for new creatures, he has been using the whip spider from the leafcutter levels. It’s a suitably massive creature, and although he doesn’t promise that it will be climbable in the game it seems quite likely.
The system he’s creating works in a similar way to how leafcutters climb plants in the current game. In the above GIF, the green lines represent “rails” along which “carts” travel. In this example, an ant will get close to the titan, choose a climbing point, and board one of these imaginary “carts”. The cart travels along the length of the green path and deposits the ant at the end (the end representing a weak point on the body that ants would attack) which along with its walk cycle animation will give a very convincing representation of the ant scurrying over the titan. At the end of its allotted time, or when the titan is defeated, it will board another imaginary cart back to the ground and end up back on the normal ground plane.
The exact mechanics gameplay-wise of how this will affect the damage to the titan are yet to be entirely worked out, but the visual side of things is coming along nicely. The system is a very flexible one – although in this example Matt is using six paths, any number can be added to creatures for variety. It’ll see heavy use in the fire ant levels, as the furiously aggressive fire ants overwhelm their enemies.
Movement Code – Liam
Although Liam’s new movement and pathing code is up and running, there are lots of little outlier issues that were solved in the past and need to be thought about again. This is what happens when you remove a core piece of the game engine that has been built upon since 2016!
Below you can see the new overground tunnel exit. You should notice that the whole thing is now made from hexagons, so it fits snugly on the tile grid (in the real levels you won’t be able to see the join). Whilst we were doing this, we took the opportunity to change the exit hole layout (they used to all face the same way). You can also see some colourful spheres and lines, if you really want to know what they are about, read on.
Movement on the over ground tile grid is very predictable: the creatures are always walking horizontally at a multiple of tile block height and for any given point on the plane X,Y, there is only one tile. Each tile contains a “node” that links to 12 surrounding nodes – these relationships are used for the fast jump pathfinding algorithm (so ants know how to get from A to B). The highlighted overground tunnel exit piece works a little differently; nodes can have heights between two tile levels (on the ramps) and there are areas that have two viable locations for a given X,Y position (down the tunnels and above the tunnels). Not only does this complicate the pathfinding system, so that X,Y locations on the overground tunnel link to arrays of pathing nodes rather than single nodes, we also need a way to “sew in” to the surrounding tiles.
The turquoise arrows show the pathing information on the exit itself – this is like a directional net (the ants can travel anywhere the arrows point to). The black hexagons indicate the edges of the exit that need to attach to surrounding tiles. The red lines represent these attachments, any tiles they connect to are aware of links to both the exit (red) and links to normal tiles (blue). The pink spheres are just to brighten Liam’s day as he works.
Fire Ants and Extra Missions – John
Breaking Your Own Rules
Recently John has been working on the fire ants and trying to bring something new to the table with this fascinating species that works with them narratively. Several of their new abilities attempt something that is new to the game. One variant of them has the eggs hatch for free if the egg has been on the tile for longer than a minute leading to an attack-retreat style play to get the most value out of the colony.
A recent issue has been making multiple ants hatch from the same tile. One ant per tile has been a rule since the first demo and is ingrained in many core systems of the game. For instance, tiles are often used to work out how many ants should join a trail quickly, whether an enemy colony should attack and even saving and loading the colony. All of these are expecting to work with a single ant. Similarly the UI needed to be updated to work with the array of ants rather than a single object.
Fire ant tiles will allow two ants at level 3 and we are very much looking forward to how this will change your strategies when playing with this species.
John’s upcoming survival map Extremis (previously known by its working title of Holdout Extreme) now has a unique unlock system – upon defeat, you will be given points to spend on unlocking ants and abilities for your next attempt.
Extremis will be just one of what we hope will be many extra missions that are apart from the main campaign, beginning with the next large update to the game (which will focus on freeplay, as detailed in a previous newsletter).
The most fun part of writing these newsletters for me is looking through the recent uploads on our Steam community page to find the best screenshots. We’re consistently blown away by just how amazing you guys are at making our game look gorgeous! If you’d like to submit something to Screenshot Central, simply upload it to Steam (F12 by default takes a screenshot, and you’ll be given the option of uploading upon exiting the game) or manually sent it to me firstname.lastname@example.org. F9 will take you into photo mode to get some great angles, and holding shift whilst you do that will break the camera free of any restrictions.