a <canvas> game framework that does as little as possible
Latest commit 5fc53f7 Aug 29, 2016 @nornagon committed on GitHub Update README.md
Failed to load latest commit information.
LICENSE Add BSD license. Jan 31, 2012
README.md Update README.md Aug 30, 2016
atom.coffee Merge dommmel's fix for #3 Jul 16, 2013



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 = -> game.run()

<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.