This game shows my knowledge of: 2D vectors/math/translations/rotations/etc. 2D collision 2D Sprite Drawing in DirectX 2D Alpha Blending 2D Page Flip Animations C++ Classes,Structs,Standard Template Library type DirectX initilization and callbacks Windows Input/Screen
FMOD Sound API
Update : Added Sound, Player Animation, Full Working Release
Improvements I would like to make later on: A Boss Enemy Better Collision Detection Particles
Metalocalypse: Dethgame is an unreleased game for Konami and Cartoon Network. This game revolves around the Cartoon Network “adult swim” IP “Metalocalypse” and is Developed by Frozen Codebase LLC. I worked on this game for 9 months until being laid off. The game was to be for Xbox 360 Live Arcade and the Playstation 3 Network.
This game was developed with the Vicious Engine.
My main responsibilities were:
-Enemy AI code
-Cinematics Scripting
-Gameplay Systems (Finishing Moves/Objects/Combat Systems)
-Music Mini Game Code (Guitar Hero Clone)
-Engine Code
-Design (Combat/Music Mini Game/Finishers/Enemy AI)
-System Code Xbox360 / PS3 (checkpoint saving, PS3 load/build, Guitar Controls interface with Engine)
The game itself has two main parts, one is a Brawler where you take control of one of the “roadie” members of Dethklok the band in Metalocalypse, a “Klokateer”. The other mode is where you play as the band Dethklok from Metalocalypse in a Music Mini Game much like Guitar Hero.
The Brawler Part:
My main responsibility on this part was the Enemy AI. Here I created a system I called the “Gentlemen’s Rule” system where each enemy approaches the player and initiates combat in a 1 on 1 manner, instead of all enemies swarming the player and killing him instantly. This way we focus on “Fun AI” instead of “Good AI”. Each other enemy that is not engaged in combat in a 1 on 1 manner then instead waits in the background for their turn. This is the “Gentlemen’s Rule” where the player will fight 1 person then move on to the next, without any of the other enemies interfering. However on higher difficulties, enemies are also coded to take “Cheap Shots” at the player if his back is turned, or sometimes two or more attackers will approach the player. For obstacle avoidance for my Enemy AI, I had them cast 3 rays out from their center sort of like a fork, so they could see what was ahead of them. If they saw something in front of them (an obstacle) they would turn left or right (coin flip) and try to navigate around said object. Enemies also interacted with each other, such as side stepping around each other, circle strafing the player if they are waiting their turn in the “Gentlemen’s Rule”, walking backwards away from the player when he has a weapon, and some different enemy types enemies dislike each other often hitting each other to get the person out of their way.
The other main part of the brawler part of the game was our Finisher System. We had several combat finishers, environmental finishers, and weapon finishers. Each was my responsibility, because the enemy and the player had to be in correct states. The player could do certain cinematic “finisher” kills to the enemy in hand to hand combat, or with an environment object such as a “wall spike” or with a weapon such as a “chainsaw”. Each of these parts was my responsibility to make sure they worked correctly.
The Music Mini Game:
I shared responsibility on the music mini game with another programmer, and our main goal was to create a good clone of “Guitar Hero” but not an exact copy to avoid copyright infringement. This is the section of the game were you play as the band “Dethklok” from Metalocalypse the Cartoon Network show. Here we had to show the brand of the IP the strongest and I was responsible for setting up certain cinematic moments in the music mini game when playing. I was also responsible for the integration of guitar controllers for our engine. Interestingly enough simply plugging in a guitar controller into the Xbox returns a simple “Guitar is plugged in” enumeration in c++, however for the PS3 no such guitar enumeration exists, only a product number and id number, which causes problems for things like the “Aerosmith Guitar Hero Controller” because that controller registers as the same product number/id number as a regular dualshock. So we had to overcome certain issues like that. I was also responsible for setting up the note-tracks for the music mini-game which was fed into our engine as a csv file. I also implemented the local multiplayer for the music mini game.
I was one of two programmers on this project at Frozen Codebase. We were basically responsible for everything. The game was made with the Vicious Engine and completed in 5 months, the first shipped project I was on from beginning till end. Sandy Beach is currently available in the US and Japan. Europe release is TBD.
My main responsibilities were:
-Vicious Engine Code Changes/Management/Extension, Integration of AI Live Move tools into Engine
-Gameplay code, Player Controls, Camera Code, AI Code
-System code (Saving/Loading/Wii Homebutton/Wii Ware menu)
-Build system (Wad for Wii Ware), Use of Codewarrior, Wii SDK, Devkit updates, Localization, Wii Ware Online Manual
-Nintendo Wii Lot Check requirements, Nintendo Ware use (Banner File Creation/Icon File)
-Game Design, System Design, Planning, Project Management
I am credited as Programmer on this game.
Main Game modes:
Free Play:
The regular mode of Sandy Beach is a simple free mode where you can build sand castles without hassle on the beach. The way the system worked was much like Legos. Our team decided upon this style of design because we didn’t have the manpower or time/resources for a physics system to simulate sand, so we simply masked the building of a sand castle by emulating “lego” blocks that can be placed on a grid.
Crab Battle:
Originally this mode was supposed to be simply a timed mode where you tried to build the best castle you could in a time limit and then a tidal wave comes and destroys your castle. I felt this was a really poor idea, so I suggested a mode that was similar to a Tower Defense style game where you could place cannons on your sand castle and defend it from incoming crabs. Our producer told us that since it was not in the budget or schedule we would have to do this mode on our own time. So the artist at the time made me a single cannon and a crab, and over the weekend on my own time I was able to create this mode. ”Crab Battle” mode is now hailed as the “best” part of this game, even if it was scored low by reviewers.
An Xbox 360 Live Arcade Downloadable Game for Sierra Online, developed by Frozen Codebase.
After Sierra was bought out by Activision, the game was delayed from its original release date in 2008 till 2009 .
This game features 1-4 player coop, and is an action oriented game about catching / defeating zombies
I was a programmer for 1~2 weeks on this project before moving teams within Frozen Codebase
I am listed in the credits as Special Thanks
I did gameplay related code, such as:
-Items spawnning from trees, mailboxes, garbage cans.
-Melee combat tweaks
-Weapons code
-Ambient items in world code
-Powerups code
-UI work
-Enemy Hit Reactions Code
Screwjumper was an Xbox 360 Live Arcade game for THQ and developed by Frozen Codebase LLC.
For the 360 part of this game, I am listed in the credits as special thanks for QA help.
For the PC part of this game, I am listed as a Programmer.
My task was to make the PC port of this game: -Porting game to PC (360 code to PC code) -Gameplay updates (New multiplayer mode, code updates, gameplay updates) -Integrating with www.instantaction.com API
-AI updates, UI updates, various Engine updates to code
The game was to be for www.InstantAction.com however was taken down from the site after being on it during its beta run. Thus it was cancelled.
This was a project for Garage Game’s www.InstantAction.com developed by Frozen Codebase LLC
The game was announced but never completed past Beta Phase.
The game was a 2D sidescrolling multiplayer deathmatch/capture the flag/control point game. It was based upon the much loved “Soldat” (http://www.soldat.pl/en/)
It featured player classes, different weapon loadouts, game modifiers, server hosting, lobbies, special weapons and abilities, and more!
I was one of two programmers on this project. My responsibilities were: Weapons Code, Multiplayer Code, Server Lobby Code, Player Code, Integration with Instant Action API, Class Abilities Code, UI work.
Spacehogs was an Xbox 360 XNA School Project for my CSE 682 Procedural Animations Class at The Ohio State University, in 2007. The class was a survey of computer animation algorithms and techniques; interpolation, path following, quaternions, object deformations, forward/inverse kinematics, rigid body dynamics, particle systems flocking, autonomous behavior, and L-systems. I was on a team of 5 people total, my responsibilities were: Player Control and Movement, Enemy Monsters, Weapons (Laser and Tractor Beam), and Boss Monster.
For the player ship orientation in our game, it was represented as a Quaternion matrix, and we used Spherical Linear Interpolation to animate our ship tilting left and right and up and down. Using XNA’s built in Quaternion objects and SLERP we were able to accomplish our goal of procedurally animating the player spaceship for moving. I was responsible for implementing the player controls, movement, and making sure they “felt” good.
The Monster AI is a simple follow prey-predator algorithm that uses the player’s position and simply allows the enemies to follow the player. The regular enemies were programmed to try and crash “kamikaze” style into the player ship causing damage, while the boss monster shoots homing fireballs at the player. I was responsible for implementing the Enemy AI for the game.
The Laser and Tractor beam were some of the weapons we created for our XNA game. We fired a ray into 3d space and used spherical collision to detect if the ray fired from the position of the player intersects with a target object. I was responsible for the implementation of the Laser and Tractor beam. The Laser would destroy objects such as asteroids/enemies, while the Tractor beam could push/pull objects towards the player.
Garfield Bowling is a Bowling Game for Mobile Phones by Centerscore Inc.
I am credited in this game as Special Thanks.
I was a Summer 2003 Intern at Centerscore Inc.
My duties were:
-QA, Bug Testing, Data Entry
-Learning Brew C++ for Mobile Phones
-Creating a Benchmark Program for Mobile Phones
-Learning SCRUM / Agile Development
CS Video Poker is a Video Poker Game for Mobile Phones by Centerscore Inc.
I am credited on this game as Special Thanks.
I was a Summer 2003 Intern at Centerscore Inc.
My duties were:
-QA, Bug Testing, Data Entry
-Learning Brew C++ for Mobile Phones
-Creating a Benchmark Program for Mobile Phones
-Learning SCRUM / Agile Development