I worked on Havoc Zone for GAM 245 at DePaul University. It was first developed by a fellow student alone and then further developed as a team.I was the lead programmer and did the gameplay programming. I helped design and implement core gameplay components such as character controls, enemy behavior, camera behavior, visual effects, weapons, powerups and level transitions. I communicated closely with the artists, designers and producer on the 4 person team and we all felt very good about our final project. We had about two and half weeks to complete the game. It was developed in C# in Iridel, an engine built by our professor on top of XNA.
The game is a top down arena shoot with some elements of a bullet hell. From the design document:
The player takes the role of Devlin Sparx, a man who is thrown into a barbaric arena called the Havoc Zone by Barnum Scuzzy, who has stolen his girl. Devlin must fight his way through the arena in order to survive and save the love of his life.
The main core of what I implemented was the (1) enemy behavior and (2) weapons.
The main character fights generic enemies and unique bosses. The basic code for the Bludgeon and BeefCake enemies were in the original code. I retooled them to be more object-oriented and added all the other enemies and their behaviors.
- Bludgeon – Normal enemy that makes up the bulk of the enemies. Walks towards the main character.
- BeefCake – Large enemy that walks slowly towards the main character and takes more hits.
- Bolter – Small enemy that runs towards the main character and easily dies.
- Bobbenweev – Top-like enemy that spins and spirals towards the player.
- Blockade – Large enemy that has a very small hitbox.
- Bastion – Large enemy who shoots bullets out radially.
- Ballista – Enemy made out of four turrets that shoot towards the main character.
- Blitzkrieg and Bop – Two large enemies that run randomly across the arena.
- Barnum Scuzzy – Large enemy who shoots out bullets radially and has two turrets that shoot towards the main character
Devlin picks up weapons that are generated by the level and dropped by the enemies he kills. The basic code for the Pistols, Machine Gun and Shotgun were in the original code. I cleaned up the code, retooled them to be more object-oriented and added the Flamethrower and Laser weapons.
- Pistols – Fires a bullet every time the player clicks the left mouse button.
- Machine Gun – Fires bullets while the player holds the right mouse button.
- Shotgun – Fires three bullets when the player clicks the the right mouse button with a minimum time between shots. Bullets travel through enemies and destroy themselves after a short time limit.
- Flamethrower – Fires a constant stream of large invisible bullets and a stream of particles. Bullets travel through enemies and destroy themselves after a short time limit.
- Laser – Checks if enemies intersect with a line segment in front of the main character and fires a string of particles.