ArashiJS is adapted from Project ARASHI for the Apple Macintosh. Project Arashi is available at: http://users.tkk.fi/jmunkki/cards/arashi.html
The game is incomplete at the time of writing.
To launch, simply open
arashi.html in a browser.
ArashiJS is licensed GNU GPL version 2. See the COPYING file for details.
sndcontains the WAV PCM conversions of the original sounds.
imgcontains the SVG and PNG conversions of the original images.
utilcontains some utilities used in conversion and by the
distcontains distributables created by
The game loop is found in
src/engine.js. The engine basically keeps track of the game state, and
calls the related handler method each frame. These methods in turn live in the source files
All other files are basically utilities for getting things done:
src/vakit/directory contains drawing utilities (which stem from the
VAKitlibrary in the original Project ARASHI).
src/soundkit.jslibrary is a minimal abstraction for playing sound effects.
src/random.jslibrary contains a pseudo-random number generator. The most significant feature of this is that it is seedable. (This is necessary for playback of recordings.)
src/grid.jslibrary contains the code for reading and drawing the level's grid, and includes definitions for levels converted from the original.
Makefile is included, which fulfills some optional development tasks:
make lintruns JSLint on all source files. Before each source file is processed, the file
util/lint.head.jsis concatenated. This file contains the default JSLint options used throughout the source code. You can override the environment variables RHINO and JSLINT if the defaults don't work for your set-up.
dist/. The file
util/dist.head.jsis concatenated to the input of the compressor. You can override the environment variables JAVA and YUICOMP if the defaults don't work for your set-up.
make cleanis your run-off-the-mill cleaning target for the above two.
The HTML5 canvas has a fair amount of state variables. This is the place to document the pecularities of how ArashiJS deals with these variables.
- When using the drawing state stack, always
- Always reset
globalAlphato 1.0 when you're done using it.