Murder Morris

Dawid Van Graan

MurderMorris-logo

H-A-C-K is not a four letter word. This is what the Polymorph team rediscovered when we set out on our 3rd Hack-day event. This event was different from our previous event because of two big changes. Firstly the event spread over two days. We were given mission briefings ahead of time and use them to come up with a creative and fun solution.

Our mission was the track and display the location of the notorious Mr. Morris movements and create a geo-fencing to know when he moves out of the specific zones. Mr. Morris also wanted to view his minions on a map and be able to contact a minion from with in app. We also tasked to use as many freely available out the box solutions, this was to encourage developers to try out existing solutions.

Our Mission briefs

Hack Day Mission Brief 1

Hack Day Mission Brief 2

The Plan

We decided to build a game from our objects. The game consisted out of 3 Characters:
CharacterMorrisMr. Morris
CharacterMinionMinions
CharacterAssasinAssassin

Mr. Morris would send out his Minion’s by placing flags on a map to places that practise non-Waterfall development practices (Agile software development). Once a Minion gets to a location he notifies Mr. Morris who would then converge at his location and convert the establishment to Waterfall practices by any means necessary. For every conversion Mr. Morris would receive a point. The role of the Assassins is to try and stop Mr. Morris before he can convert all the locations. When the Assassins is within a certain radius of Mr. Morris he is allowed to take a shot to try and kill Mr. Morris. The probability of the shot being a hit or miss would be randomly calculated server side and would depend on a few variables to ensure an even game.

In essence we would build a game that reads the currently GPS location for a players phone and feed that into our game. We would then use Geo-fencing to know when the players are within a certain radius of each other and apply the game rules accordingly.

Technologies

We decided to make use of the following technologies:

Parse.com

Parse.com is very easy to use and has a variety of SDK’s available so we decided to use it as our backend to store all our game data (location data, games in progress, etc…). Parse.com also provides Push Notification as well as Geo-Fencing.


Laravel

Laravel is a PHP Model-View-Controller framework. From Laravel Wikipedia “.. of August 2014 Laravel is the most popular and watched PHP project on GitHub.”

Sinch

Add voice calling and instant messaging to your app in minutes. The Sinch SDK, available for iOS and Android, takes care of app communications and lets you focus on what’s important; creating experiences that people love.

The Team – Elevator Pitch

The team created a Elevator Pitch along with User Stories that would be use to guide the Development process and help the designers to create the design.

img_20140918_154624882

Working Hard

The team hacking away!

IMG_20140918_091612793

20140918_114231

Flow Diagram


This is the basic outline and flow of the game.

murdermorrisgameflowdiagram

The iOS App

We decided to start with a iOS app (Android to follow later).
screen_shot_2014-09-18_at_4.32.56_pm

Website

From the Website you can view current games in progress. The website was created using Laravel with the Parse.com Javascript SDK to retrieve game information and display it on a map in real time.

Screen Shot 2014-09-19 at 4.17.58 PM

All comes together

After the two days hacking away I can say that we produced an awesome game and had a really fun time building it together. We could not have done this without the awesome team at Polymorph and without the Polymorph Directors allowing us to have FUN at work!

H-A-C-K is not a four letter word because at the end of the day you receive some much more than you put in!!

Here is a video of the final product: