- 1 Documents
- 2 Communications
- 3 Roadmap
- 4 Projects
- 4.1 Catalogue
- 4.2 REST/WebSocket API
- 4.3 Benchmarks
- 4.4 Documentation
- 4.5 Example Code
- 4.6 galaxy.js
- 4.7 galaxy.js-mobile-gamepad
- 5 Screencasts & Demos
- 6 Archives
- 7 Contact Information
- List of competing game center/HTML5 distributors
- List of good HTML5 (WebGL/asm.js) games
- List of mobile game controllers in the wild
- History of Galaxy: A Trip Down Memory Lane
- Technical Architecture (Wiki)
- Technical Architecture (Presentation)
- Controller Lab
- HB is curious about the galaxy controllers
- Stumbler is going to check out leaderboards
Therefore, our priorities are:
- Off-the-shelf controllers
- Leaderboards: Complete and documented, awaiting feedback from MozStumbler contractors.
- Controllers: Complete but needs more documentation. We should encourage people to contribute to the wrapper for galaxy.getGamepads. cvan has a fork of commits to upstream and a bunch of controllers to add controller mappings. cvan wants to make a standalone Controller Configuration tool that we can deploy to crowdsource controller mappings in the wild.
- Login: Awaiting UX and integration help with Services.
- cvan: documentation
- rfkelly: fxa integration, general backend helping-out
Game Center Roadmap
- In lieu of a lobby, keep the list of games private.
- Build a page for each game to show potential with API (e.g. show leaderboard, show who's playing); we can work with the game developers to skin/customize it as needed.
- The "lobby" as previously envisioned, should be justified with interest stemming from HB, Stumbler, etc.
Below are the following GitHub repositories that comprise the Galaxy services.
Contains the catalogue, a static web page, that showcases the games, leaderboards, and friends' activity.
During the build step, via Gulp and Metalsmith, the HTML is generated from static JSON files, Markdown files, and HTML templates. The compiled HTML talks to the backend API (`galaxy-api`) via WebSockets to render any user-specific information (i.e., leaderboards and friends' activity).
Contains the REST API server and the WebSocket server that the catalogue (`galaxy`) talks to and the in-game services (`galaxy.js`) talk to.
Such services include game, leaderboard, and leaderboard score creation.
Node.js, Koa, Chai, Mocha, Redis, PostgreSQL, WebSockets, Gulp.
- Staging: https://api-galaxy.dev.mozaws.net
Screencasts & Demos
A demo of cvan using two USB-based controllers (N64 and NES) to play a version of HexGL, a WebGL-based racing game, which has been modified to work with
galaxy.js. Included in
galaxy.getGamepads, a simple, cross-browser wrapper around
navigator.getGamepads, also providing mappings for various controllers on the market. Instead of writing lots of boilerplate code, game developers can simply listen to events (when buttons get pressed or axes change) or inspect a state object in their game loop.
A demo of cvan using a Firefox OS phone to play HexGL with
galaxy.js. Also included in
galaxy.getMobileGamepads, an interface for pairing a mobile device with the Galaxy in-game services to provide accelerometer gameplay controls. Using the browser's
deviceorientation events, we identify which direction the player is turning and whether the player is accelerating.
A demo of Sathya playing HexGL whilst sharing his screen with a friend. Using Chrome's
desktopCapture API from an extension, the screen is turned into a Media Stream,
which is then streamed to another browser using WebRTC. (The API will be available soon in Firefox Nightly.)