Code Monkey home page Code Monkey logo

adventure-go's Introduction

... Go!

What is this game about?

Nothing yet, want to make it a "Go" concept based on GPS. First steps first..

Why did I start this?

Based on the popular games from Niantic (Ingress, Pokémon Go, Wizard Unite), this seemed the perfect excuse to try and build my own (web based) version of this concept. Time to learn some more!

Live demo

The current demo setup can be found here. Try it out by walking around and experiencing spawns/de-spawns around you in real time. (Currently working in Rotterdam - The Netherlands only)

Relevant links

pm2 restart main  --max-memory-restart 80M

How to get it running?

  1. Make sure latest versions of node (8.11.2) and npm (6.9.0) are installed
  2. Install typescript with npm install -g typescript
  3. Git clone this project
  4. Run npm install in the root folder for the right tools
  5. For client side dev: run npm run client:watch in the root folder
  6. For server side dev: run npm run server:start (or npm run server:start:cron for the cronjobs) in the root folder
  7. Create MongoDB Database and make sure you have a 2dsphere index on your mongodb collection db.spawns.createIndex( { loc : "2dsphere" } )
  8. Add the dev/client/ts/config.json && dev/server/config.json files as these were not part of the git code. Contents should look like the following 2 snippets for both files:
{
  "spoof": {
    "enabled": false,
    "isIncremental": true
  },
  "languages": [
    "en"
  ],
  "mapbox": {
    "accessToken": "<GET FROM MAPBOX WEBSITE>",
    "mapSettings": {
      "zoom": 8,
      "center": [
        5.12222,
        52.09083
      ],
      "container": "map",
      "style": "mapbox://styles/mapbox/streets-v11",
      "interactive": false
    }
  },
  "geoOptions": {
    "enableHighAccuracy": true,
    "maximumAge": 30000,
    "timeout": 27000
  }
}
{
  "ports": {
    "web": 3000,
    "cli": 3001
  },
  "lngLatGameRange": {
    "lngFrom": 4.4236095632,
    "lngTo": 4.5393182311,
    "latFrom": 51.8849963082,
    "latTo": 51.9429216581
  },
  "mongodb": {
    "connectionString": "mongodb://<username>:<password>@localhost:27017/realtimemaps",
    "dbName": "realtimemaps"
  },
  "twitter": {
    "consumerKey": "",
    "consumerSecret": "",
    "callbackUrl": "http://localhost:3000/auth/twitter/callback"
  }
}

Road map

  • Extend cronjob to actually have a logic behind adding & removing items. The logic should prevent a database which is too heavy and refresh data for the clients.
  • Embed Pokémon as example of the concept
  • Make it a PWA
  • Extend PWA functionalities
  • Think out the concept further (What will Adventure Go do?)
  • Have a more variations/hierarchy in spawns
  • Refactor backend code to have logging and more separate files
  • Enrich frontend with better styling
  • Make menu work with actual result lists (catches/settings/etc)
  • Have a decent login for users to use the application (SSO Google)

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.