A 2d game engine and math lib based for JavaScript and HTML5 Canvas
Branch: master
Clone or download
Latest commit feadac8 Dec 23, 2017

README.md

Arcade.js Powered by You

Arcade.js is a 2d game engine based on JavaScript and HTML5 Canvas.
Written 2010 by Martin Wendt, Licensed MIT.

ArcadeJS is a 2d game engine, written in pure JavaScript. It requires HTML5, namely support for <canvas> and <audio> elements. This package was developed during a summer hollyday 2010 and finished during winter 2010. The goal of this fun project was to learn about HTML5 and implement a clone of the Rip-Off game. As a consequence I borrowed a lot (especially from processing.js), reinvented some wheels, and stuck with rather simple vector graphics for the demo games.

Note: this project is not actively maintained.

The repository was migrated from Google Code 2015-03-15, because Google Code Project Hosting was turned down.

The project consists of

  • lina.js
    An independent, object oriented library for points, vectors, and homogeneous transformations in 2D space. A polygon class helps with collision detection and hit testing.

  • arcade.js
    A 2D game engine that provides a render loop and support for multiple moving objects.
    Also sound, keyboard, mouse and touch events are supported.

  • arcade-controls.js
    Some controls (button, joystick) for mouse and touch screens.

  • Playable demos

Lina.js

An independent, object oriented library for points, vectors, and homogeneous transformations in 2D space.
A polygon class helps with collision detection and hit testing.

Arcade.js

A 2D game engine that provides a render loop and support for multiple moving objects.

Demos

Rip-Off

A port of the Rip-Off arcade game written by Tim Skelly / Cinematronix in 1980. Rip-Off, was the first arcade game with two-player cooperative play. The bandits use some early 'artifical intelligence' / flocking behavior.

Rip-Off demo

Asteroids

A remake of the famous arcade game (~420 lines of code).

Asteroids Demo Asteroids Demo (mobile version) Asteroids Demo (iCade version)

Billiards

A simple JavaScript implementation of carambolage using arcade.js.

Billiards demo

Quirks

A simple render loop with two reflecting points.

Quirks demo

DesktopMobile

Collisions

This sample shows how to implement moving objects, circle-circle and circle-polygon collisions.

Collisions demo