- JDK 8 (or later; openjdk 8 or 11 recommended)
- Mill (use the bootstrap script)
-
Run
./mill server.run
for a dev HTTP server and openhttp://127.0.0.1:8080
-
Run
mill
in background:
./mill -j 4 -w game.fastOpt
Loader
pre-loads resources using a Canvas 2D based progress bar and creates instances of aCanvasRenderer
, aController
andAudio
. On success, it instantiates aGameLoop
implementation.CanvasRenderer
sets up the canvas HTML element and exposes the 2D context providing scaling without smoothing (for pixel art). It will draw anyDrawable
.Controller
is a game controller abstraction. There's a keyboard implementation.Audio
creates audio instances and plays them.GameLoop
provides a game loop implementation with fixed update (at 80 FPS) and draw at 60 FPS (using request animation frame).