Skip to content

02 — Game Development

Systems built in C++ and Unreal, shipped to real players.

Gameplay code, engine work, and the unglamorous parts of actually releasing something to an audience that reviews it.

Unreal Engine 5 · SteamJan 2024 — Jul 2025

CODEDOOR

Solo developer — designed, built, and shipped the complete game

CODEDOOR gameplay in a container yard with two zombies approaching numbered containers
Official Steam screenshot · shipped Jan 2024View on Steam

A survival-action game set in an abandoned container yard. Each wave issues a code; you find the matching container while zombies hunt you. Reach wave ten and the endgame nuke unlocks.

I designed and built the complete game, including the container-code system, enemy chase and combat behaviour, wave progression, and win-state handling. For V3, I moved performance-sensitive logic out of Blueprints into C++ while keeping designer-facing properties configurable in the editor.

I released it publicly in January 2024 and maintained it through several patches, with changes driven by player feedback rather than a plan written up front.

  • Public Steam release
  • Single-player PC build
  • Steam achievements
  • Post-launch patches
  • Unreal Engine 5
  • C++
  • Blueprints
  • Steamworks
  • PC (Windows)
Modern C++ · Terminal rules engineMay 2023 — Dec 2025

Monopoly Rules Engine

Solo developer — architecture, rules, terminal UI, and tests

View source on GitHub
file-loaded board spaces
40
hot-seat players
2–4
polymorphic tile types
9
runtime dependencies
0
$ make runC++17 · ANSI terminal
Colour-coded Monopoly board rendered in a terminal
40-space terminal boardActual engine output

A two-to-four-player hot-seat implementation built as an engine, not a scripted demo. The board, prices, rents, colours, and tile metadata live in a text definition, so a board change does not require rewriting the rules.

The hard part is shared state: buying, rent, building, mortgages, trading, cards, jail, auctions, and bankruptcy can all change the same players and assets. Every debt follows one resolution path so ownership and money stay consistent when a player cannot pay.

State hand-offs

Small enums in State.h pass control between the turn loop, rules, and terminal UI.

Tile-owned behaviour

Streets, railroads, utilities, taxes, jail, cards, and corner spaces share one action contract.

Central game context

One owner for the board, players, dice, decks, money movement, and asset transfers.

Implemented and verified

  • Buying & rent
  • Houses & hotels
  • Mortgages
  • Trading
  • Auctions
  • Cards
  • Jail
  • Bankruptcy
  • Rules tests