Published: Updated:

Emergence is an RTS game developed in 48 hours for Ludum Dare 30, Theme: Connected Worlds. In the game, the player must create factories to generate money, and spend that money on tanks. Factories can only be built on asteroids that are under the player’s control, with a limit of 5 per asteroid. Each asteroid has a portal which can be used to teleport to another asteroid. When instructed to move to a different asteroid, the tanks will become rockets and travel there. The goal of the game is to destroy all the enemy’s factories and capture all their asteroids. The enemy is an AI built into the game.

Overall, the game was difficult to control and the gameplay did not provide enough complexity to be entertaining. Additionally, the theme of the game jam “Connected Worlds” was only manifested in the portals, which were not a central game mechanic.

The player selecting tanks as one rockets to another asteroid. A tank battle has begun.

Technical details

Maps are generated randomly when the game begins. For entities on asteroids, their location is recorded as a combination of the asteroid they are on, plus an angle on the asteroid. This makes geometric calculations within a particular asteroid such as pathfinding easier to perform.

The game was also used as a chance to experiment with a component system in the game engine. Entities in the game would be assigned components representing things like location, ownership or health. While this system provides a great deal of flexibility, the complexity was overkill for an RTS developed in a short timeframe. Additionally, the abstractions chosen for each component could have been allocated better to improve code quality.

The AI functioned in a fairly straightforward way. It had a simple priority of tasks to execute.

  1. Build tanks
  2. Destroy enemy factories
  3. Fight enemy tanks