
This project was an attempt to recreate the mechanics of popular real-time strategy games, taking inspiration from Populous II: Trials of the Olympian Gods.
This was done in a team of 3 people, where I was responsible for
- Terrain
- NPC stats & decision-making
- Input handling
- Cross-platform functionality
Terrain
To create the terrain we desired, I utilised a voxel-based terrain generated in chunks to allow changes of terrain without affecting the entire terrain. While using Perlin noise to create an initial randomised terrain without harsh slopes.
Initially the generation process took inspiration from Minecraft, however instead of creating voxel cubes, tiles were created using lists of vertices.
(Minecraft generation project 2025)


The final version of the terrain included a terrain shifting ability similar to populous II, where altered tiles will initiate a check across neighbouring tiles to ensure a maximum height difference between neighbouring tiles.
Cross-platform
The UI was the responsibility of other team members, however to allow users to interact with the game while using controllers I created a pointer, which takes the players’ mouse or controller inputs to move around the screen.
Touch controls were also implemented allowing users playing on Nintendo Switch to either use the joy-con sticks or click directly on the screen to select and use abilities.
NPC AI
The NPCs have three different processes, they will either build a house, go to a nearby house or attack enemies. Housed NPCs will spawn new NPCs to expand both the players’ and enemies armies. NPCs can be kicked out of the house either by the player or by the house being full when a new NPC is spawned inside. NPCs’ decision-making is dependent on the number of houses your army possesses, with a greater number of houses increasing the chance of your units attacking the enemy.
When units decide to fight they will path towards the enemy’s bases while checking a set radius for enemies. If an enemy is detected the units will path towards the detected enemy unit and begin attacking once in range. NPC stats for health, damage, attack speed and walk speed are set by the house that spawned them, with higher level houses spawning stronger units with random stats.