Why we do ParticleQuest
ParticleQuest is a project managed by students in their free time and they do it for...
- Learning cutting-edge web technologies.
- Improving their game design skills.
- And enjoying while hacking an awesome videogame! :D
What we are trying to achieve
After discussing quite a lot what would be the aim, scope and expectations of ParticleQuest, these could summarize the main goals that are planed to be achieved at some point.
- Tell a story about particle physics.
- Complete redesign of the graphics.
- Improve the game mechanics.
Further and beyond
ParticleQuest was born during a hackathon organized by Mozilla at CERN and both organizations have shown interest in the project if it happens to come to fruition. That's quite a lot of motivation!
How to get it going
ParticleQuest has two major parts:
- the server side, which runs using Node.js
- the client side, which runs in your browser
Getting the server up and running is pretty easy. You need to have the following installed:
- Node.js (v0.8.x works, v0.6.x series should work, other versions are unknown - let us know if you test them!)
- gcc-c++ (optional - not needed on windows)
- GNU make (optional - not needed on windows)
- zlib-devel <-- this is the Fedora/RHEL package name, others may be slightly different. Not needed on windows.
Clone the git repo:
$ git clone git://github.com/particlequest/ParticleQuest.git $ cd ParticleQuest
Then install the Node.js dependencies by running:
$ npm install -d
Then start the server by running:
$ node server/js/main.js
The BrowserQuest server should start, showing output like this:
$ node server/js/main.js This server can be customized by creating a configuration file named: ./server/config_local.json [Thu Sep 13 2012 17:16:27 GMT-0400 (EDT)] INFO Starting BrowserQuest game server... [Thu Sep 13 2012 17:16:27 GMT-0400 (EDT)] INFO world1 created (capacity: 200 players). [Thu Sep 13 2012 17:16:27 GMT-0400 (EDT)] INFO world2 created (capacity: 200 players). [Thu Sep 13 2012 17:16:27 GMT-0400 (EDT)] INFO world3 created (capacity: 200 players). [Thu Sep 13 2012 17:16:27 GMT-0400 (EDT)] INFO world4 created (capacity: 200 players). [Thu Sep 13 2012 17:16:27 GMT-0400 (EDT)] INFO world5 created (capacity: 200 players). [Thu Sep 13 2012 17:16:27 GMT-0400 (EDT)] INFO Server (everything) is listening on port 8000
That means its working. There should not be any warnings or errors.
Using a browser, connect to port 8000 of the server entered above. The BrowserQuest start page should appear, and the game should work.
- Firefox (any recent) - Works well.
- Safari 6.x - Background music doesn't play. Everything else works well.
- Chrome - Sounds effects don't work.
- Chromium - Varies wildly. Some releases display using BrowserQuest's "mobile" layout, with very small screen. Not recommended.
- Opera - Doesn't work, no WebSocket support.
- IE (any version) - Untested.
Node.js for Fedora 16 and RHEL6/CentOS
On Fedora 16 and RHEL 6/CentOS 6, the rpms here are known to work:
Note, those rpms are ugly, unofficial builds by @justinclift. You are most welcome to improve on them. :)
Mac OS X
Node installed through Homebrew is known to work. i.e.:
$ git clone git://github.com/browserquest/ParticleQuest.git $ cd BrowserQuest $ brew install node $ npm install -d $ node server/js/main.js
Windows 8 is known to work ok with just the base Node v0.8.18 installed, without Visual Studio, nor Python, nor the native extensions for npm modules installed.
Lots of useful info on the wiki.
Code is licensed under MPL 2.0. Content is licensed under CC-BY-SA 3.0. See the LICENSE file for details.
Winner project at CERN Summer Student Webfest.
- Alejandro Avilés - @OmeGak
- André-Pierre Olivie
- Angelo Marco Ramoso - @icanseemyhalo
- Jessy Katy Schingler - @jessykate
- Quentin Mazars-Simon - @quentinms
All of the music in BrowserQuest comes from Creative Commons Attribution 3.0 Unported (CC BY 3.0) sources.
- Aaron Krogh - beach
- Terrel O'Brien - boss, cave, desert, lavaland
- Dan Tilden - forest
- Joel Day - village
- mozilla for the original BrowserQuest code
- (Justin Clift)[https://github.com/justinclift] for continuing the original project.
- Franck Lecollinet - @whatthefranck
- Guillaume Lecollinet - @glecollinet
Many other people are contributing through GitHub:
- Myles Recny @mkrecny
- Ben Noordhuis @bnoordhuis
- Taylor Fausak @tfausak
- William Bowers @willurd
- Steve Gricci @sgricci
- Dave Eddy @bahamas10
- Mathias Bynens @mathiasbynens
- Rob McCann @unforeseen
- Scott Noel-Hemming @frogstarr78
- Kornel Lesiński @pornel
- Korvin Szanto @KorvinSzanto
- Jeff Lang @jeffplang
- Tom McKay @thomasmckay
- Justin Clift @justinclift
- Brynn Bateman @brynnb
- Dylen Rivera @dylenbrivera
- Mathieu Loiseau @lzbk
- Jason Culwell @Mawgamoth