Overview

This capstone project brings together game development coursework, object-oriented programming, and project planning into a finished game prototype. The goal is to turn a broad concept into something playable, demonstrable, and tested enough to explain as a complete software project.

What I Built

  • A playable game with a defined core loop and clear player goals.
  • Gameplay systems organized around object-oriented code rather than one-off scripting.
  • Iteration checkpoints for mechanics, visual feedback, balancing, and presentation.
  • A project structure that can be explained, demonstrated, and extended after the course.

Technical Focus

The project emphasizes C# fundamentals, class design, state management, and gameplay-loop thinking. I'm treating the capstone as both a game project and a software-engineering project; the architecture needs to stay understandable as features get added.

Parallel Web Stack (Cozy)

I also maintain Cozy, a TypeScript and Svelte 5 codebase that prototypes the same systems thinking in the browser: a small engine, data-driven maps, NPCs, progression, plus a map editor for iteration. The structure below reflects the bundled web demo architecture.

Engine + Runtime Class View

  • Display *-- Game
  • GameInput --* Game
  • Game --* SceneOrchestrator
  • SessionProgress *-- SceneOrchestrator
  • SceneOrchestrator ..> LoadedTileMap loads JSON
  • Game ..> LoadedTileMap renders

Game wires CanvasLib through Display and GameInput, while mountGame builds SessionProgress and drives loadTileMap() into LoadedTileMap.

Engineering Decisions

Game projects require multiple engineering decisions in one small system: input handling, state changes, feedback, asset coordination, and deadline-driven scope control. This project shows I can carry an idea from design through implementation and presentation.

Back to Projects