An online, real time, multi-player First Person Shooter video game, leveraging CesiumJS, 3D-Tiles and GraphQL. (Early Development Phase)
katzi0 Merge pull request #180 from katzi0/ac-map-layer-provider
change bingmaps key, added ac-map-layer-provider
Latest commit 4a3280a Mar 18, 2018

GeoStrike (alpha)

3D game for real world data. Boom!

Play it live at


Node, GraphQL, Angular, CesiumJS, Angular Cesium

Getting started

  • Go to project directory
  • install
  • run server & client:
 yarn start

Enable remote users

  • Go to packages/client/src/environments/environment.ts and change server url to your ip with port 3000
   serverUrl: 'localhost:3000' // OLD
   serverUrl: '[your_ip]:3000' // NEW
  • run normally
yarn start
  • Now you and other players on the same lan can connect to http://[your_ip]:4200

Game Controls

  • Tab - switch FPV/SemiFPV
  • Shift - run
  • Space - switch to shooting mode
  • c - crawling mode
  • w,a,s,d - move
  • mouse_move - look around
  • mouse_click - shoot (in shooting mode only)
  • e - enter nearby building

Start a game

  • login to client http://[ip]:4200
  • choose new game
  • select character and user name
  • User code is shown (for other player to join your game they should choose "Join game" option and insert your game code)
  • Press "start game" and press "ready" when you want to start the game

Start game on terrain

  • Go to packages/client/src/environments/environment.ts and change the flag loadTerrain to true.
  • Then run the command TERRAIN=true yarn start

Required global packages for development

install using yarn global add <PACKAGE_NAME> or npm i -g <PACKAGE_NAME>

Credits list - how to modify

to modify credits, open assets/credits/credits.json and add\delete\change destinated credit