Game Engine Architecture Project

Modular 2D RPG Engine

A custom 2D RPG engine built with C#, MonoGame, XML, and xUnit, focused on modular systems for rendering, input, animation, combat, persistence, and content editing.

  • C#
  • MonoGame
  • xUnit.net
  • XML
  • WinForms

Architecture & implementation

Technical highlights

MonoGame Rendering

Used MonoGame to render 2D gameplay scenes, sprites, shapes, and user interface elements.

C# Engine Architecture

Organized the codebase into separate systems for rendering, input, animation, combat, state management, and persistence.

XML Data Persistence

Used XML to store structured game data and support save/load workflows.

Geometry & Collision Logic

Implemented reusable shape and collision logic for gameplay objects, attacks, and interaction checks.

WinForms Tooling

Built a desktop editor utility to support faster content creation and reduce repetitive setup work.

xUnit Testing

Added unit tests around core systems to improve reliability during ongoing refactoring and feature development.

Problem solving

Challenges & solutions

  • Managing Engine Complexity:As the project grew, keeping rendering, input, combat, animation, and persistence organized required breaking the code into smaller reusable systems.
  • Building Reusable Game Systems:Creating systems that worked across different gameplay objects helped me better understand abstraction, composition, and object-oriented design.
  • Improving Content Creation:Manually configuring game data became time-consuming, so I built a WinForms editor tool to make content setup faster and more consistent.

Planned enhancements

Future improvements

  1. 01Expand map editor features
  2. 02Add more enemy behaviors
  3. 03Improve combat balancing
  4. 04Add inventory and quest systems
  5. 05Improve asset loading pipeline
  6. 06Package playable demo

Continue exploring

Explore moreengineering projects.

Browse additional full-stack applications, production websites, and software projects covering APIs, databases, testing, deployment, and maintainable system design.

Back to projects