Skip to content
a <canvas> game framework that does as little as possible
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


a <canvas> game framework that does as little as possible

Honestly, this thing does so little that you should just read the code.

Here's what a game using Atom looks like:

class Game extends atom.Game
  constructor: ->
    atom.input.bind atom.key.LEFT_ARROW, 'left'
    atom.input.bind atom.key.RIGHT_ARROW, 'right'

  update: (dt) ->
    if atom.input.pressed 'left'
      console.log "player started moving left"
    else if atom.input.down 'left'
      console.log "player still moving left"

  draw: ->
    atom.context.fillStyle = 'black'
    atom.context.fillRect 0, 0, atom.width, atom.height
    # Carry on.

game = new Game

window.onblur = -> game.stop()
window.onfocus = ->
<script src="atom.js"></script>
<script src="game.js"></script>

not a library

atom isn't intended to be used as a library, to be npm installed and require()d. It's intended to be a starting point, a nucleus around which you build your game. Copy it into your source folder and tweak it when you need to.

You can’t perform that action at this time.