v0.4.0 - Viruses / Corruption, Pickups, new Commands

Emergence has officially hit 0.4.0!

While the 0.3.x band dealt primarily with fleshing out the game engine and establishing a solid technology basis, the v0.4.x band of releases deals with making the game excel at what it does and check off the boxes of a proper Roguelike - things like items, enemy AI, procedural level generation, saving a game and picking up where you left off, etc. It also seeks to embrace the aspects of Emergence that make it unique among the genre.

Case in point, 0.4.0 focuses on adding a big new mechanic to the game: a virus / bug faction and the corruption this faction causes on the system in its wake.

Bugs / Virus Enemies

These enemies (bugs, viruses, "features", and worms) will spread through the system leaving a purple trail of corruption in their wake. Corruption will slowly spread over time and result in Glitches spawning into the game world. Glitches are not yet formidable opponents, but they will be strong enough to cause the player pain as releases go on. The player also will no longer regain operations points on corrupted tiles, meaning that as corruption spreads, the level becomes more dangerous over time.

Viruses and the system factions are at odds with each other, so expect wars to break out frequently between rooms.

Enemies will also now use doors, and doors open automatically whenever anyone gets nears (unless the door has been corrupted...)

If a system enemy becomes corrupted, it will fight alongside the bugs and viruses. Additionally, the bug factions will attempt to capture or corrupt the system cores, which can actually help the player as the firewall will open if all cores on the level are no longer controlled by the system, even if the viruses own some of the cores.


On top of these changes, I also introduced a new loot system involving item rarity. Some commands will no longer drop from enemies until later levels. Other enemies will drop trivial loot while tougher enemies drop better items.

Simple items to give the player a restored amount of operations or stability are common pickups. Less common are permanent stat bonuses for maximum stability or maximum operations.

New Commands

I added a number of new commands to take advantage of the corruption mechanics as well as the new effects system.

Burst fires three mini explosive blasts at the area surrounding a target square.

Barrage fires up to six mini explosive projectiles at enemies (or passive bystanders) currently in sight.

Sweep is an active command that removes corruption from nearby tiles as you walk past.

Corrupt is the opposite of Sweep and spreads corruption in your wake (useful if you're trying to cause the entire system to become corrupted)

Cleanse is a targeted command that removes corruption from an area and damages virus enemies.

Infect is a targeted command that infects tiles and enemies around the target. Bear in mind that not all enemies are corruptable.

Performance Work

I implemented a minor performance improvement where the server will remember a game session in progress so that the client application only needs to send up the player's input, not the entire game state. This cuts down on HTTP transfer costs, message size, serialization, etc. and also puts the application closer to supporting saving and continuing games in progress.

This is becoming a common refrain, but performance is still not where I want it to be, so I'm going to do some more planning around only sending back changed parts of the game world to the game's client to further reduce message costs.

Next Up:

v0.4.1 is looking like it's going to be a really interesting release from a development perspective. I'm going after tactical enemy AI. Specifically, I'm looking at implementing a series of neural nets for different types of enemy "brains" as well as automating training those brains using something called genetic algorithms so that the enemies will behave in interesting and potentially surprising ways.

This next release might be one that takes several weeks going forward given the complexity (though it's not my first time building a neural net or using a genetic algorithm), but I think it's going to result in some interesting gameplay and help Emergence stand out.

It also ties in well with the theme - just as long as the AI I come up with doesn't start trying to escape my PC...

Leave a comment

Log in with itch.io to leave a comment.