Shh,Zombies

title
About
Shh, Zom­bies orig­i­nal­ly start­ed out as a com­pan­ion mobile game to an MMO game con­cept, but as that MMO was nev­er going to get made I turned SZ into its own, full, game. Shh, Zom­bies is a puz­zle game where the play­er must get Jim safe­ly to the exit, they do this by plac­ing way­points down to com­plete a path to the exit and then watch the action unfold. There are two types of zom­bies to avoid: the idle, but ever watch­ing, zom­bie — if they spot Jim they will give chase. Then there’s the walk­er, these just walk in a straight line, obliv­i­ous to what’s going on around them.

There are 40 lev­els, set dur­ing the day and at night. Night lev­els offer greater dif­fi­cul­ty, as it is night time there are more zom­bies and low­er light­ing. Each lev­el has 2 objec­tives:
1- Com­plete the lev­el in a set num­ber of moves (par).
2- Col­lect all the zom­bie heads.

For more details about Shh,Zombies, please vis­it the ded­i­cat­ed web­site Enig­ma 23 Games — Shh, Zom­bies

Game design
Shh, Zom­bies is a fair­ly orig­i­nal game which start­ed out life as an ear­ly con­cept to be a com­pan­ion app to an MMO con­cept of mine. Obvi­ous­ly an MMO is unlike­ly to get made, so Shh, Zom­bies was turned into a full game. I planned and imple­ment­ed all aspects of the game design includ­ing: mechan­ics; puz­zles; char­ac­ters; and art style. The basic con­cept of Shh, Zom­bies remained almost intact, with just the art style chang­ing to be vast­ly dif­fer­ent (and any links to an MMO not being used). Shh, Zom­bies art style went from a realistic(ish) look to the car­toony cubed world that Shh, Zom­bies is now.

Cod­ing
Cod­ing for Shh, Zom­bies is all in C# con­tained in about 52 scripts. Some ele­ments that I’ve cod­ed are:
Game­play — plac­ing of way­points and the paths between two way­points, fol­low­ing the path set by the way­points, ene­my AI to detect if the play­er comes close.

AI — There are two types of ene­mies in Shh, Zom­bies, a sim­ple “walk­er” that just walks aim­less­ly for­ward and an “idle chas­er”, which sits idle until it sees the play­er come close enough, then it will give chase. The play­er is slight­ly faster than the zom­bies, so he can get far enough away that they will stop chas­ing, how­ev­er the zom­bies aren’t lim­it­ed to mov­ing along X or Z on the grid like the play­er is.

UI script­ing — I’ve used the NGUI plu­g­in for Shh, Zom­bies, a lot of cod­ing and time went into the UI, mak­ing sure it works across all areas of the game, all screen sizes/ res­o­lu­tions and across mul­ti­ple plat­forms.

Mul­ti-plat­form con­trols — Shh, Zom­bies auto­mat­i­cal­ly detects the plat­form it is run­ning on and dis­plays the cor­rect infor­ma­tion for con­trols, and loads the cor­rect con­trol method (touch screen or mouse).

Inte­gra­tion of plu­g­ins — I’ve used some plu­g­ins from the Uni­ty Asset Store to achieve some aspects of the game, a list of the plu­g­ins used and what they were for are below.

Uni­ty
Lev­el cre­ation — All lev­els, and their puz­zles, in Shh, Zom­bies were hand done, using mod­els cre­at­ed in Qubi­cle. From the start of devel­op­ment I made sure there was a stan­dard import size for all 3D assets, so that all objects that sat next to anoth­er would be in mul­ti­ples of 1x1 (X, Z) Uni­ty units — height did­n’t need to con­form so strict­ly.

The first few lev­els are indi­rect tuto­r­i­al lev­els, in that they don’t use any dia­logue to teach the play­er how to play or what is hap­pen­ing, but use lev­el design to teach. Lev­el 1 is a very sim­ple lev­el, using the Par to see that only 1 way­point is required, the play­er can see to place that way­point on the exit and press ‘Go’. As Jim is then run­ning along the path, they’ll see that the zom­bie heads are col­lec­tables (also dis­played on the UI next to the lev­el Par) and that the zom­bies react when they see Jim, but are unable to reach him. Lev­el 2 is the same as the first lev­el, with the bar­ri­cades removed and the zom­bie heads moved 1 square away from where the zom­bies can see, this is teach­ing the play­er that there is a lim­it to how far the zom­bies can see, and that way­points can only be placed in line with the pre­vi­ous way­point.

Mul­ti-plat­form builds — Uni­ty was cho­sen, not only for its ease of use, but thanks to its mul­ti-plat­form sup­port. Shh, Zom­bies has been released on iOS, Android (both Google Play and Ama­zon) and Win­dows Store (desk­top).

3D
To cre­ate the 3D mod­els for Shh, Zom­bies a pro­gram called Qubi­cle was used, this allows quick and easy cre­ation of cubed mod­els. I used Qubi­cle to cre­ate: char­ac­ters; envi­ron­ment ele­ments; build­ings; col­lec­tables; etc.

The char­ac­ters are specif­i­cal­ly look­ing upwards in an odd way, this deci­sion was made for two rea­sons:

  1. I did­n’t want the play­er to just be see­ing the tops of heads, know­ing all they would see would be black squares.
  2. It added a unique quirk­i­ness to the game.

Uni­ty Plu­g­ins

The main plu­g­ins utilised in Shh, Zom­bies are:

Grid­Frame­work — This plu­g­in was used to dis­play the grid area where way­points are placed, this allows for easy work­ing out of where the play­er is point­ing (to high­light a grid square), where the way­point was placed and to eas­i­ly con­vert that Vector3 so the way­point is placed in the cor­rect align­ment, and to work out where to place the path between two way­points.

Madlev­el Man­ag­erMLM man­ages all aspects of lev­el track­ing — whether the lev­el has been com­plet­ed, if the extra goals (com­plete in par/ col­lect all heads) have been met and sav­ing of this infor­ma­tion.

Every­play — Mobile video record­ing, allows play­ers to share their game­play on the Every­play social net­work.

Achieve­ments Ser­vice Man­ag­er (ASM) — Achieve­ments for Game Center/ Google Play.

Game Ana­lyt­ics — The ana­lyt­ics’ ser­vice provider ‘Game Ana­lyt­ics’ was used to track play­er stats, see the com­ple­tion of lev­els, goals, etc.

NGUI — Imple­men­ta­tion of UI for cross plat­form sup­port.