Pocket Wars

Pocket Wars is a 2D turn‑based strategy demo inspired by Advance Wars. Players build units, capture territory, and engage in tactical combat against AI or friends in a tile‑based battlefield. This project is one of my personal favorites, as it combines complex gameplay systems, AI programming, and polished visuals into a cohesive experience.
Technologies used
- Engine: Godot Engine (GDScript)
- Language: GDScript, C++
- Gameplay Systems: Full game loop structure, custom created and tuned turn manager, full keyboard/mouse or controller support, AI decision trees
- Platforms: Desktop (Windows, Mac, Linux), Web, Mobile
Godot Engine
For this game title, I switched from my previous Game Engine of choice, Unity, to the open source Godot Engine.
Godot is a truly fantastic game engine and works completely different to Unity. It has far less bloat and far more control over every aspect of a project.
While out of scope for this portfolio piece, do yourself a favour and research Godot as it is truly inspiring what this community has created, and I'll likely use Godot for all my future game projects.
Minute to minute gameplay
The game played like a cross between a traditional top down strategy game, while incorporating elements from other battle games like Worms. The battle takes place in a grid like structure, and movements adhere to the grid.
You have a 'team' level turn, which is composed of a turn taken by each of your in game 'units'. There are dozens of unit types... Commanders, soldiers, tanks, planes, ships... There are a huge variety of units and each with their own movement and battle mechanics.
Each unit has chess-like rules on movement, and you are forced to adhere them in order to combat your opponents.
You take your units, move them into a position of attack, and then let rip on your opponents.
Building units
Building new units is essential to maintaining a good army. Each unit type; land, sea and air, have different factories to spawn new units... Each with differing costs.
Planning out a strategy of where you are placing your factories and which units to build is essential to forming a winning team. Having all the right units doesn't matter at all if you are unable to keep pushing forward against your opponent.
AI opponents
Maybe the biggest point of pride on this project for me was the AI that I built, for the opponent teams when playing in single player mode.
In a turn based game like this, The AI intelligence can make or break the game. If the AI is too simple, the game is boring. If the AI appears to cheat, or know everything, then it feels unfair.
The AI in this game has goals and ambitions and wants to achieve these goals, but the interesting gameplay comes from when these goals are in conflict.
For example, the AI team might be only 3 spaces away from an enemy that it could attack... But the entire team may also be running low on troops and might need to retreat and build more. The nearby enemy could also be way stronger than the current unit, signalling a retreat.
The AI in this game acts smartly according to these various inputs.
There is a difficulty slider in this game though, which affects a 'magic number' which will weight all of these decisions. If the player is playing on easy, it will not always take the most effective strategy and will make mistakes. On higher difficulties, the AI can be very punishing by design.
I love how the AI performs here and I love setting a battle with all AI players and watching how they fight. It's incredibly satisfying to me to have built this thing. I think it highlights my interest in systems programming.
Demo
Click this link to launch the web build of the game in a separate tab.
Of course this is an early development build. I do not have multiple levels or a complete alpha test for you to play. You are able to play a vertical slice only... for now.
A lot of mechanics are in the works but not yet completed and as such aren't available in the demo. You cannot build new units, you cannot craft and many other planned mechanics. You can simply take existing units and battle them against the opponent.
You are presented with a couple of options from the main menu when you launch the game.
- Campaign: For the moment, the Campaign button will launch into the debug level and simulate a full battle between AI opponents. The AI is thinking in realtime, and each time you start a campaign each battle will turn out differently.
- Multiplayer: The multiplayer mode allows you to control ALL teams. There will be no AI, you are in full control of each team, to show you what multiplayer will be like. Of course you can pass the controller/keyboard to your friends and actually play a full match in the multiplayer mode.
As I work more on this game, and with this portfolio in mind, I will introduce a game mode where it is a single player (you) against a single AI. This will allow you to really get a grip on what this game is heading towards.
