Corpse Creator is a 2D casual, player versus player puzzle game.

  • Game Engine: Unity 3D
  • Platform: PC/Mac, and devices that can use UNITY 3D
  • Programming Language: Javascript
  • Additional Support: Detonator
  • # of Players: 2
  • Genre: 2D Puzzle game
  • Trailer Link

Karl Markis – Designer/Audio Engineer/QA
John Davis – Designer/Producer/QA
Benjamin Rogers – Artist
Christopher Cheng – Designer/Programmer/QA

Online Design Document

The goal of Corpse Creator is to defeat the other opponent by creating zombies and placing them on their opponent’s field to deplete the opponent’s health and/or having three zombies simultaneously on the opponent’s field to instantly win the game. Zombie’s are created by stacking and matching a set number of different gems.

Game Field
The field is a 8 x 8 grid which can be filled vertically with gems. Gem’s are continuously dropped into the grid by the player’s pace and the opponent’s creating combo’s and dropping Hidden gems into play.
-There are 4 different types of gems; each represents a different body part. (Legs, Arms, Torso and Head)
-Stacking and matching 3 like gems vertically and horizontally will eliminate the gems from the field and will create 1 whole body part.
-Having a total of 3 different whole body  parts (12 gems total) will create 1 zombie.
-Any gems that are eliminated that have other gems stacked on top will cause the gems to cascade downward a few levels.
Creating a Zombie Corpse
Players can obtained body parts by eliminating specific gem pieces from the field.
at least one of each body part, they deploy a zombie onto the enemy’s grid. The zombie will randomly spawn on the lattice anywhere in the enemy’s grid. A player destroys a zombie by dropping 4 gems on top of the zombie.
Win/Lose State
-If a single column is filled with gems and makes contact with the top of the field, the player loses.
-If a zombie has successfully climbed to top of the field and has depleted the player’s health.
-If three zombies are on the same field.

Below a diagram of the basic game flow of a typical match.

A Screen Shot of the help menu:

Author’s Note:
Corpse Creator was one of the first complex puzzle games I have created. I haven’t programmed many “Match 3″/stacking puzzles (Columns,Tetris, Bejeweled) but I have played a great amount of them. The online forums of the Unity community did offer some help into the right direction, but its not going to hold my hand.

Display the Grid in Debug

function showGridText()
print(“row8 “+” – ” + row8[0] +” “+row8[1]+” “+row8[2]+ ” ” +row8[3]+” “+row8[4]+” “+row8[5]+” “+row8[6]+” “+row8[7]);
print(“row7 “+” – ” + row7[0] +” “+row7[1]+” “+row7[2]+ ” ” +row7[3]+” “+row7[4]+” “+row7[5]+” “+row7[6]+” “+row7[7]);
print(“row6 “+” – ” + row6[0] +” “+row6[1]+” “+row6[2]+ ” ” +row6[3]+” “+row6[4]+” “+row6[5]+” “+row6[6]+” “+row6[7]);
print(“row5 “+” – ” + row5[0] +” “+row5[1]+” “+row5[2]+ ” ” +row5[3]+” “+row5[4]+” “+row5[5]+” “+row5[6]+” “+row5[7]);
print(“row4 “+” – ” + row4[0] +” “+row4[1]+” “+row4[2]+ ” ” +row4[3]+” “+row4[4]+” “+row4[5]+” “+row4[6]+” “+row4[7]);
print(“row3 “+” – ” + row3[0] +” “+row3[1]+” “+row3[2]+ ” ” +row3[3]+” “+row3[4]+” “+row3[5]+” “+row3[6]+” “+row3[7]);
print(“row2 “+” – ” + row2[0] +” “+row2[1]+” “+row2[2]+ ” ” +row2[3]+” “+row2[4]+” “+row2[5]+” “+row2[6]+” “+row2[7]);
print(“row1 “+” – ” + row1[0] +” “+row1[1]+” “+row1[2]+ ” ” +row1[3]+” “+row1[4]+” “+row1[5]+” “+row1[6]+” “+row1[7]);

Sometimes, I can’t trust the visual effects of my code working, so I have to rely on the debug display to see if the arrays are working. If the spot isn’t occupied in the arrays when its suppose to, I will know from row(row_number)[Column_number]. I found a simple Tic-Tac-Toe program that displayed which spots out of the 9 were taken, so I expanded that idea to a 8×8 grid.