A C# .Net desktop app for tracking character progression through quests completion. This was created at the request of an individual who found available "gamify" apps did not fit his criteria. It is built on the Windows Presentatin Foundation (WPF) using a Model-View-ViewModel (MVVM) architecture.
As mentioned, this app was created at the request of a client who wanted to gamify their life, but did not like any of the available options. My personal motivations were as follows:
- Gain familiarity with building a C# GUI-based app utilizing the .Net framework
- Learn how to apply the MVVM architecture
- Successfully use serialization/deserialization to store persistent data in XML
My first instinct was to just bundle SQLite with the app to handle all the persistent data, but the client requested that it instead be handled with a local XML file.
- Create/Generate a base character with different values for attributes/skills
- Customize what attributes/skills are used
- Create and complete quests to gian experience
- Gain experience to gain levels, which reward attribute and skill points
- Create contacts who give quests and each possess their own reputation value for the character
- Create milestones (major achievements) that permanently boost a character's attribute
-
Clone the Repo
git clone https://github.com/cplant1776/egol.git
-
Run the executable
CharSheet\EgolApp\bin\Release\Egol.exe
-
Clone the Repo
git clone https://github.com/cplant1776/egol.git
-
Import the solution to Visual Studio (2017+)
CharSheet\CharSheet.sln
The app meets all the client's original criteria, and I therefore do not plan to develop this project further. If I were going to, I would look into the following:
- Adding basic unit tests (the biggest advantage of MVVM)
- Convert persistent data to local SQLite instance (Lower memory footprint)
- Adjust filter on New Quest screen to search dynamically (as-is it will eventually run sluggish with lots of completed quests)