Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

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

branch: master
README.markdown

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:

myProject/  
    lib/  
    resources/  
    config.xc  
    index.html  
    main.js  
    xc.rb  

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 xc_platform.coffee file for the new platform. Platform compat source is in the src/compat directory.

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

Something went wrong with that request. Please try again.