Memories of War

| |
| Design | Combat Design · Encounter Design · Level Design · Systems Design |
|---|---|
| Programming | Gameplay Programming |
| Genres | Strategy · Tactics |
Memories of War is a squad-based grid tactics game built around a shared action economy, chess-inspired movement and positioning that matters.
I designed its levels and combat numbers, reworking the stats into small, simple values. As its sole programmer, I refactored the code I inherited and built the rest of the game.
The project
Memories of War is a squad-based grid tactics game made with YouGo Games by a team of six. YouGo designed its core: a shared action economy, chess-inspired movement and positioning that matters. A previous programmer had already started the code when I joined.
My role
I was a game designer and the sole programmer. My job was to design the game’s levels and combat numbers, and take over its development.
What I did
Development. The code I inherited was tightly coupled, threw frequent exceptions, and made little use of polymorphism. Some data came from ScriptableObjects and the rest didn’t. I refactored the entire codebase, then developed the rest of the game in Unity myself.
I reworked the classes so allies and enemies work the same way, built a better turn system, and rebuilt the whole attack and movement preview. I tried to reuse the existing attack and movement patterns, but ended up rewriting those too. Data is now a mix of ScriptableObjects and JSON, and the JSON doubles as the save data.
Levels that build on each other. I designed the levels and the obstacles that shape them, each one building on the last. The first level is a single enemy and teaches the basics. The second splits the map in two, adds more enemies, and shows how walls two tiles thick get in the way of both moving and attacking. The third arranges the walls so that movement itself gets hard. Each level asks you to use what the one before it taught.
Balance. I set the stats for every ally and enemy. They live in JSON, and I tuned them by playtesting the game a lot, making sure each character has its own specialty. Since I designed both the levels and the stats, playtesting let me balance them together. When a character was too strong or a level too hard, I could adjust either side.
Small numbers. Stats used to run to values like 25 and 105, which felt bloated to me. I reworked them into small, simple numbers, so the player can do the math in their head and work out a fight at a glance, the way Hearthstone and Magic: The Gathering do.
Outcome
It’s playable in the browser and on Windows on itch.io.
It changed how I think about code. I now pay more attention to how a codebase is structured as a whole. When a game needs many characters, I want the pieces that make up a character to be modular, so adding one means putting existing parts together.
Screenshots from the game’s itch.io page.