Dungeon Crawl was a one week sprint to provide a prototype of a simple game. The goal was to test our knowledge of concepts such as using vectors for distance, ray-casts, and game design skills for creating systems of play.
The game itself is a lightweight Action-RPG that takes most of its inspiration from Diablo and Diablo III. Expect to see all of the traditional ARPG controls and fighting styles.
Dungeon Crawl features a combat system, inventory/loot system, quest system, and enemy AI.
Combat system: The combat system is your classic hack and slash attack. Click your enemy and if you are in range you will attack. This system uses vectors to determine if the enemy is in range and if you are facing that enemy. It was designed in a way to make it easy to expand into a more complete game.
Inventory/Loot system: Due to the time limitations of the project the loot system was limited to 4 items. Weapon, Armor, Potion, and Gold. How the system worked is each enemy had a chance to drop an item and then that item had a chance to proc a value. So if a weapon dropped it could then proc a damage modifier. When the player picked up that weapon it would increase the damage of the current weapon. The potion and gold would just add the amount you gained to your inventory. The weapon and armor values were used to calculate the damage the player could do and how much damage they could mitigate.
Quest system: The quest system had three parts; quest assigner(this would be where you got the quest and turn it in), quest objective (the actual thing you had to do), and quest blocker (these things had to be completed before you could complete an objective). Combining these three things made a fairly modular and easy to setup quest system that could be used to create simple quests in this prototype.
Enemy AI: What fighting game would work without something to fight. The first thing that was developed for the AI was the use of Nav-mesh to give the AI the ability to path find around each level. Then I developed a finite state machine that would handle the AI behavior through simple states. States that were included; idle, patrol, search, attack, and die. The AI also utilized the inventory system to determine the enemy attack power.
This was a solo project so I did all of the design, programming, level layouts, testing, and asset integration.