A WebGL 3d first person shooter for the web, with octocats and lasers!
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 64 commits ahead, 3 commits behind github:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
node_modules last working state Dec 17, 2012
screens last working state Dec 17, 2012
static last working state Dec 17, 2012
views last working state Dec 17, 2012
.gitignore integrate server Nov 19, 2012
LICENSE add license Jan 22, 2013
Makefile effing collision detection. better aabs. Nov 29, 2012
README.md update readme Dec 1, 2012
ai.js last working state Dec 17, 2012
compiler.jar wow I need to commit in case my hard drive failes Nov 12, 2012
ideas.txt integrate server Nov 19, 2012
room.js add scores and all the game mechanics and screens Dec 1, 2012
scene.js split off games into separate URLs, create rooms Dec 1, 2012
settings.js-dist updated web-remix; fixed chat layout Nov 21, 2012


Octoshot is a multiplayer FPS for the web. You are an octocat clone and you must defend your octocat-ness by shooting other clones with lasers. Each person has 3 hit points, so you must shoot well 3 times.

Octoshot features a 3d WebGL world, and a site for running games of up to 8 players. Simply go to the site and click "start a game" to start a new game, or click "find a game" and it will try to find an existing game and put you in it. When in a game, you can simply pass the current URL around to other people and they can join in!

The multiplayer server is authoritative, so it actually runs the game on the serve and reconciles everything with all the players. No cheating available!

Whoever kills the most within 5 minutes wins the game!

This requires multiple people. If nobody is playing, please ask a few people to jump on real quickly. Simply click "Start a Game" and you can give other people the URL that you are forward to.

Only tested in Firefox Nightly and Chrome (latest). The lastest release version of Firefox doesn't have the Pointer Lock API unfortunately, which is necessary for this game. Please either:

Known bugs: you can go through walls.


This is writting in node. If you want to run it locally, and you have a recent version of node, you should be able to run it with simply node main and access the site at localhost:4000.

Open Source Projects

The following libraries are used:

  • express.js - Javascript web server
  • webremix - Inline media by replacing URLs with the actual content (images, videos, etc)
  • nunjucks - Javascript templating engine
  • binaryjs - Binary websockets
  • gl-matrix - High performance javascript vector and mat operations using Typed Arrays