A WebGL 3d first person shooter for the web, with octocats and lasers!
JavaScript
Switch branches/tags
Nothing to show
Pull request Compare This branch is 64 commits ahead, 3 commits behind github:master.
Latest commit cd8ca04 Jan 22, 2013 @jlongster jlongster add license
Permalink
Failed to load latest commit information.
node_modules
screens
static
views
.gitignore
LICENSE
Makefile
README.md
ai.js
compiler.jar
ideas.txt
main.js
room.js
scene.js
settings.js-dist

README.md

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.

Running

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