Skip to content

About

Data-driven RPG engine from scratch: C# .NET 10, WPF, strict MVVM, factories, JSON/XML content

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🛡️ C# RPG Desktop Engine (WPF/MVVM)

Status: Foundational Architecture Completed
Tech Stack: C#, .NET 10, WPF (Windows Presentation Foundation), JSON/XML Data Parsing

📖 Overview

This repository showcases a highly complex, data-driven RPG engine built entirely from scratch for the Windows Desktop environment. Rather than relying on a commercial game engine, I architected the core systems manually to master complex data binding, state management, and user interface decoupling.

⚙️ Core Architecture & Features

  • Strict MVVM Pattern: The engine strictly separates logic using the Model-View-ViewModel architecture. The backend data (Models), the UI logic (ViewModels), and the visual layer (WPFUI) operate completely independently.
  • Factory Design Patterns: Engineered robust C# Factories (ItemFactory, MonsterFactory, QuestFactory) to instantiate complex game objects dynamically at runtime.
  • Data-Driven Design: Game data (locations, stats, items, recipes) is decoupled from the compiled code and loaded dynamically via JSON and XML parsing, allowing for scalable content expansion without touching core logic.
  • Event-Driven Combat & Logic: Utilized C# EventArgs and custom Event Handlers to manage complex interactions like combat calculations, level-ups, and inventory management asynchronously.
  • Persistent Memory States: Engineered a Save/Load service that serializes the complex GameState into persistent data structures.

🚀 Technical Takeaways

This project was a massive undertaking in system architecture. It heavily exercises advanced C# features, strict interface implementation, dependency management, and Desktop UI data-binding—proving readiness for enterprise-level desktop application development.

🎮 How to Run

Because this engine is built using a strict MVVM architecture, the solution contains multiple decoupled projects (Models, ViewModels, Core, Services, and UI).

  1. Clone this repository to your local machine.
  2. Ensure you have Visual Studio installed with the .NET Desktop Development workload, alongside the .NET 10 SDK.
  3. Open the G00DS0ULRPG.slnx (or .sln) file in Visual Studio.
  4. Crucial Step: In the Solution Explorer, right-click on the WPFUI project and select "Set as Startup Project".
  5. Press F5 or click Start to build the solution. The engine will dynamically load the JSON/XML game data and launch the Desktop UI!

About

Data-driven RPG engine from scratch: C# .NET 10, WPF, strict MVVM, factories, JSON/XML content

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages