Mobile Dungeon Crawler
bartron on 1/1/2021
I had never created a mobile game before, so I wanted to do something that was fairly simple and concrete. I chose to make a tile based dungeon crawler, similar to the D&D board games, but simpler. I developed this using Monogame 3.6 and is supposed by Android 5.0 and up.
I used this project to learn and practice more modern dev practices such as Dependency Injection (through interfaces and constructor injection), separating layers into multiple projects/assemblies, unit testing (and mock objects) and learning how to develop & deploy on android. All of these were new and I learned a ton. After doing this project, there's some things I'd do differently next time, such as completely moving all rendering and input handling down into the logic layer, and changing how I handled chaining of events (exploration events after exploring, or level ups after enemy encounters), but I'll apply those lessons to the next project.
The game and engine supports:
- Screen resolution independent rendering, and supports both screen styles: portrait and landscape
- Isolated storage game saving and loading
- Basic UI Toolkit (control abstraction: button, labels, dialogs & complex controls)
- Minimap
- Pathfinding
- Enemy AI (will find the shortest path to player, and get as close as possible. Attack if able)
- Multiple terrain types and tiles
- Random events based on the type of terrain