Skip to content
xc.js - Javascript framework for cross platform 2d games
JavaScript CoffeeScript Other
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
tests fixed some stuff with removing nodes, added initial collision detecti… Nov 30, 2010


xc.js - a Javascript framework for cross platform 2d games

This project is not maintained.

If you're interested in a cross platform JavaScript game framework, check out the GameClosure Devkit

Building xc.js

xc.js requires node.js, coffeescript (0.9.5 or later), and Ruby for the build utility.

From the root directory, run cake:
$ cake build
xc.js built.

You can also run some unit tests: $cake test

Using xc.js

To create an xc.js project, use the xc.rb utility:

$ ruby xc.rb myProject create will create a directory named myProject. The directory contains:


The lib directory contains the xc.js framework.

The resources directory is where images and other media are stored. Images put in the resources directory will automatically be added to an xc.js project.

config.xc is the project configuration file. You can specify a resolution when creating a project by appending it to the create command myProject create 800x600. If you don't, you can change the resolution in config.xc.

index.html is the file where your canvas game will be loaded. It is automatically updated whenver you run the development server so any new resources or other changes will automatically be available.

main.js is the entrypoint of your xc.js game. It contains the main() function, which will be called to start the game.

xc.rb is a utility you can use to do various tasks. The most useful is

$ ruby xc.rb server which will start a development server. You can then access your xc.js project with a webrowser at localhost:8000.

Adding a new backend

xc.js is designed to be easy to port to new platforms. All that is required is a new file for the new platform. Platform compat source is in the src/compat directory.

The canvas implementation, in is documented and should provide a good starting point for a new backend.

Something went wrong with that request. Please try again.