Skip to content

MichaelHoste/xmoto.js

Repository files navigation

XMoto.js

DEMO

This project is a HTML5 Port of XMoto using CoffeeScript, PixiJS and Box2DWeb.

Image

This is the first part of a 2-parts project:

  1. XMoto.js (this project!): JavaScript port of the game that need to be compatible with a lot of pre-existing levels (XML files) from the original game.
  2. XMoto.io: social XMoto game with a backend for scores, replays, etc.

XMoto.io will be built on top of XMoto.js, using Ruby on Rails, and both the projects will co-evolve and interact in some parts.

More about the project development on http://xmoto.io (not up-to-date but good intro).

Demo

Master branch is frequently deployed here: http://js.xmoto.io

Click on the "debug mode" button and have fun with the simulation parameters. You can copy-paste the generated URL to keep the custom physics.

Examples:

Usage

  • Upload "data", "lib" and "bin" folders on a static web server (put 'data' folder on the root directory)
  • Include all the JavaScript files of /lib/ and /bin/xmoto.js on your web page.
  • Call $.xmoto('l1.lvl') or $.xmoto('l1.lvl', options) where "l1.lvl" is the name of the level and the options are:
{
  canvas:  '#xmoto'   # canvas selector
  loading: '#loading' # loading selector
  chrono:  '#chrono'  # chrono selector
  width:   800
  height:  600
}

Developpment

Installation

  • brew install nodejs yarn to install NodeJS and YARN (on MacOS)
  • yarn install to install development dependencies

Working environnement

  • ./node_modules/coffeescript/bin/coffee -j bin/xmoto.js -wc src/*.coffee src/*/*.coffee to compile to JavaScript in real-time.
  • node server.js to launch HTTP Server (http://localhost:3001).

Don't forget to restart the coffee command if you create new COFFEE files.

COVID-XMoto

Many years after this project was shelved, and out of nowhere, James Fator decided to fork this project to make a heavily modified version of XMoto.js, dedicated to the somewhat strange years of the COVID virus.


The COVID-19 confirmed cases timeseries has become a mountain of flags which you must climb with your motorcycle! Can you win the race for the cure?

Thanks again to James Fator for this nice project! I'm always happy to see that open-sourcing side projects can lead to unexpected things.

Please visit his personal website for other cool projects: https://jamesfator.com/

TODO

and other stuffs

About

HTML5 Port of XMoto (2D Canvas + Box2D)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published