Martyn Patrick / Portfolio
Dungeon Game
Dungeon Game was the working title of a Unity Project I worked on for over a year after going to University and then on and off during my work with the NHS. Because of its complexity I have put the game on hold and Plan to return to it when I have some more experience and time. You can see the code for the stamina UI system and the level generation system HERE
The general idea was that it was going to be a Co-op Top Down Dungeoncrawler for up to four players with randomly generated levels. With the players locked in a Timeloop, each time reaching the bottom of the dungeon only for the boss to break time and force them back to the top, but this time with a different modifier affecting their run (Like, Slime enemies now split into four copies instead of 2 copies when slain.) To keep things fresh, there would be different tile-sets each with different lists of spawnable monsters, Curses and Blessings. Curses were negative things in any given room, For example a spike trap or a totem that buffed the enemies in that room. Whereas Blessings were things in the room that were beneficial to the players like; A healing fountain or a (untrapped)treasure chest.
The players would each be playing a hero, with a unique set of equipment (with their own attack combos) and abilities to use.
The combat would consist of Light and heavy attack combos with a dodge and a block (parry) function. Both of which I coded into the game. When a player blocked an incoming attack they would lose some stamina (based on the nature of the attack.. I planned to have some enemies that would cleave through a block and stagger the player.) Stamina recovered over time and was displayed over the player's head (disappearing when it wasn't needed) if the player ever tried to block an attack with Zero stamina, they would be left staggered by the attack and would be unable to attack (there was an animation for this.) The slime enemy I coded in would split into two smaller copies if it was reduced to zero health by attacks. But if the player blocked during a slime's attack, the slime would be instantly destroyed.

One of the hero characters. The Ranger;
The Ranger had a fast movement speed, long dodge roll. A rapier with two area low damage attacks with a final thrust attack that was more precise but dealt increased damage. The ranger also had access to a bow (something I had yet to code into the game.)
For abilities I planned to include a AOE cone of arrows attack as well as some place-able nature based traps.
The Project itself was very time consuming and diffcult, as I had never attempted anything quite like this before. All code and art assets were produced by myself. Until later on I realised that one of the advantages of unity was the Asset store and the reusable of code. To this end, I found assets that would be helpful to assist me in the development of the game. Like "AStarPathfinding Project" to handle the movement of my AI and Blackgarden studio's "HitboxStudiopro" to handle my melee hitbox Registration. I also used Powerhoof's "Powersprite Animator" to help smooth out some of my animations in game.
One of the main challenges of the game was the automatic dungeon generation which I spent a lot of time researching eventally I settled upon using a Recursive Binary space tree algorthrim to generate my rooms and corridors. I then coded some custom tileset functions that would place tiles in appriate positions based on the rules of the tileset. For example, make sure that door tiles are places in spaces where there is a connecting corridor to a room or in "Castle" themed dungeon we might always want a Random Decorative wall tile (A banner, a noble's crest or a pretty vase) placed next to the door tiles.