- A 2D game world rendered by using an array of simple graphic models as tiles
- A custom pseudo-random world generation algorithm for seeded level generation
- Persistence and serialization for saving and loading game data
- An A* search algorithm for targeted path finding among enemy units towards the player
- A CLI and keyboard input recognition software to control character and navigate menus
Java
- Working with StdDraw for the first time to manage tile rendering and GUI menus
- Creating the pseudo-random world generation algorithm was a difficult process that required multiple attempts restarting from the ground up
- Understanding the different search algorithms and learning how to implement A* efficienctly
- Learned how to work closely around the CLI and how to handle different types of arguments