This is a school assignment from the 1st year of my studies on game developing.
I consider this to be one of my greatest beginner milestones in programming, because I managed to complete this assignment regarding the fact that I had started learning coding 6 months prior to this. 
The assignment was given to us with some base code, and on top of that we had to create algorithms that generate random dungeons with rooms and doors and path finding algorithms.
SufficientDungeon.cs - Generates a dungeon with rooms by binary space partitioning and then connecting all adjacent rooms with doors.
GoodDungeon.cs - Same as *SufficientDungeon.cs, the only difference is that it removes rooms that are smaller than a specific area threshold and colors the rooms based on their size into 3 different categories (Green, Orange, Yellow) and for a room that is not connected to any other room, it is colored in (Red).
HighLevelDungeonNodeGraph.cs - Assigns a node to every room and door and connects room nodes to door nodes only if they are adjacent to each other.
RecursivePathFinder.cs - Based on the node clicked, the agent finds the shortest path to that target(clicked) node with a Recursive Path Finder Algorithm.
This is the debug window of the Recursive Path Finder processing all nodes and paths in order to find the shortest path possible.
BreadthFirstPathFinder.cs - Based on the node clicked, the agent finds the shortest path to that target(clicked) node with the BFS algorithm which is faster and needs less processing power than the Recursive Path Finder.
This is the debug window of the Breadth First Path Finder processing all nodes and paths in order to find the shortest path possible.
Unfortunately I am not allowed to share the whole solution of the assignment since the GXP 2D Game Engine is not an open-source engine, though you can check the code that was written by me, on GitHub by clicking on the button down below.
Back to Top