GithubHelp home page GithubHelp logo

lukaszgr / chasing_shadows Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gtormiston/chasing_shadows

0.0 2.0 0.0 27.44 MB

A realtime hybrid iOS game that allows you to attack monsters when within a range of 500m

Ruby 1.36% JavaScript 10.13% C 0.19% Objective-C 40.44% Batchfile 1.03% Shell 0.36% HTML 3.11% C++ 0.94% C# 0.81% Java 2.16% CSS 39.48%

chasing_shadows's Introduction

Chasing Shadows

What is it?

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.

Screenshots

Welcome screen Welcome screen

User login User login

Game instructions Game instructions

Gameplay page showing the map Gameplay page showing the map

Attack page Attack page

Presentation Video

Watch our presentation video here - password is chasingshadows

Technologies Used

  • Cordova
  • JavaScript, jQuery
  • SASS
  • Karma, Jasmine, PhantomJS, Casper

Development Team

  • Tim Chipperfield
  • Crescenzo D'Alterio
  • Lukasz Grychowski
  • Anna Holland-Smith
  • Graham Ormiston
  • Alistair Wye

Suggested Improvements

  • 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

Getting Started

Prerequisites

Set Up

  1. Clone this repository
  2. cd into it
  3. Run npm install

Server

  1. Run cordova serve run the app locally in the browser
  2. Visit http://localhost:3000
  3. To run on a phone, run cordova build ios
  4. Open the Xcode project in the platforms/ios folder
  5. Use Xcode to create a developer provisioning profile and run a test build on your device

Testing

  1. Run gulp tdd

please note: the majority of tests for this application are feature tests using RSpec and Capybara from our API server repo


User Stories

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

chasing_shadows's People

Contributors

alterenzo avatar annahollandsmith avatar awye765 avatar gtormiston avatar lukaszgr avatar timchipperfield avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.