Chasing Shadows is a hybrid iOS game inspired by Pokemon GO, where players can view monsters near them on a real-time map and are able to attack and destroy monsters only when they are within range of the enemy!
The mobile app uses the native hardware geolocation that iOS provides, a custom built remote API server built in Rails to login, display monsters based on location and to provide the game logic, and the Google Maps API to display the maps and markers.
Watch our presentation video here - password is chasingshadows
- Cordova
- JavaScript, jQuery
- SASS
- Karma, Jasmine, PhantomJS, Casper
- Tim Chipperfield
- Crescenzo D'Alterio
- Lukasz Grychowski
- Anna Holland-Smith
- Graham Ormiston
- Alistair Wye
- User sign out
- RPG features (character with powers, points, XP etc)
- Track distance covered by gamers
- Multiplayer
- Use of websockets rather than HTTP requests
- Host public or private games
- League
- Node (and npm)
- Clone this repository
cd
into it- Run
npm install
- Run
cordova serve
run the app locally in the browser - Visit http://localhost:3000
- To run on a phone, run
cordova build ios
- Open the Xcode project in the
platforms/ios
folder - Use Xcode to create a developer provisioning profile and run a test build on your device
- Run
gulp tdd
please note: the majority of tests for this application are feature tests using RSpec and Capybara from our API server repo
As a human
So I can play a game outside where the birds and trees are
I want to play a role playing game on my phone that uses maps
As a gamer
So I can record my progress in the game
I want to sign in and create a profile for myself
As a gamer
So I can have something to aim for
I want to be able to gain hit points for beating enemies
As a player
So I can enjoy the game with friends
I want the game to be multi player
As a gamer
So I can defeat an enemy
I want to be able to attack it
As a gamer
So it’s a challenge
I want to be able to die
As a gamer
So it’s a challenge
I need to avoid the monster’s aim
As a gamer
So I can play the game outside effectively
I want to see my current position on a map
As a gamer
So I can progress
I want to be ‘levelled up’ when I make certain progress
As a monster
So I can avoid being killed / catch gamers
I want to move around
As a monster
So I can kill gamers
I want to be able to aim at them and hurt them