Feature_Graphic-1024x500About
Minecart Run­ner is an infi­nite run­ner, inspired by the minecart lev­els from Don­key Kong Coun­try. There are 2 modes in the game, a Nor­mal mode, where the cart is on rails and the play­er must jump over gaps and obsta­cles, col­lect­ing items along the way; and then Krazy Mode, which is pro­ce­du­ral­ly gen­er­at­ed, is quite dif­fi­cult and has “crazy” physics (the cart spins around 360). Krazy mode is how MCR start­ed out and wasn’t sup­posed to be in the game, but dur­ing pro­to­typ­ing quite a few peo­ple said that they would play a game like this, due to this ear­ly pos­i­tive feed­back the game­play was kept it in as an addi­tion­al mode.

For more infor­ma­tion regard­ing Minecart Run­ner, please vis­it the ded­i­cat­ed web­site Enig­ma 23 Games — Minecart Runner

Game Design
Minecart Run­ner has two game modes, both with the same goals: reach as far as pos­si­ble and col­lect as many items as pos­si­ble. The two modes dif­fer in the style of play­er move­ment, on the ‘Nor­mal Mode’ the cart runs along rails which go up and down, along flat and have gaps. Nor­mal also has dif­fer­ent items to col­lect, dia­monds which give 10 points, crys­tals (which require a row of dia­monds to be col­lect­ed in order to appear) give 100 points and crys­tals stuck in rock (requir­ing a pick axe) give 500 points.
‘Krazy Mode’ offers more dif­fi­cul­ty, it’s not on rails, plat­forms have three dif­fer­ent sizes and are ran­dom­ly spawned at three points on the Y axis. Items to col­lect on this mode are dia­monds only, which also spawn ran­dom­ly at three dif­fer­ent lev­els on the Y axis.

To add an incen­tive, leader­boards have been avail­able in the game from the start, allow­ing play­ers to com­pete against each oth­er and chal­lenge friends to reach the high­est score/ far­thest distance.

Cod­ing
Game­play — With Minecart Run­ner have two games modes there was essen­tial­ly two lots of game­play to code, how­ev­er Krazy Mode has rather sim­ple game­play — con­tin­u­ous­ly move right, tap once to jump, a sec­ond time whilst in the air to jump again, the cart can spin 360 and the plat­forms spawn at ran­dom inter­vals. Nor­mal mode had most of the same mechan­ics, but with the added need to run along rails and not keep spin­ning. The rails were accom­plished by using a spline to run along above the graph­i­cal rails, allow­ing the cart to move along, jump between rails and speed up/ slow down as needed.

UI — The UI was imple­ment­ed much in the same way as Shh, Zom­bies, how­ev­er this time using the new UI released with Uni­ty 4.6 (MCR start off devel­op­ment on Uni­ty 4.6 and upgrad­ed to Uni­ty 5 for final release).

Uni­ty
Lev­el Cre­ation — Nor­mal Mode has four sec­tions, the start area and then three pre­fabbed areas that spawn in a ran­dom order after each oth­er. The three pre­fabs are in a pool man­ag­er to low­er the load­ing and destroy­ing of assets dur­ing game­play. Each pre­fab is reset when it is dis­abled, so that when it is spawned (and re-enabled) all the items are back in place for the play­er to col­lect again.

Mul­ti-plat­form builds — Minecart Run­ner has been released on iOS and Android (both Google Play and Amazon).

Uni­ty Plugins
UnityAds — Minecart Run­ner is a free game, with ad sup­port. Dur­ing devel­op­ment adverts were set to appear after three retries, how­ev­er this became annoy­ing to me so this was changed to five retries, which felt a much bet­ter experience.

Uni­ty Ana­lyt­ics — I replaced Game Ana­lyt­ics with Uni­ty’s own ana­lyt­ics ser­vice, which felt eas­i­er to imple­ment and with a bet­ter dash­board to track metrics.

Achieve­ments Ser­vice Man­ag­er (ASM) — Used to imple­ment achieve­ments for Game Cen­ter and Google Play again, as well as leader­boards for the two services.

Every­play — Mobile video record­ing, allows play­ers to share their game­play on the Every­play social net­work. (this plu­g­in has now been discontinued)