What is Kontra.js

Kontra.js is a lightweight JavaScript gaming mirco-library created specifically for the Js13kGames game jam.

The goal of Kontra.js is not to implement everything you could possibly need to make a game. There are already libraries out there that do that (like Phaser or Jaws).

Instead, Kontra.js aims to implement basic game requirements like asset loading, keyboard input, the game loop, and spites to keep the library very small and focused. This allows it to be used when your game size is limited (a la Js13k).

Kontra.js does provide some more advance data structures like object pools and quadtrees that have been fine tuned to be small, fast, and memory efficient.

Kontra.js prides itself in being:

  • lightweight: 14 kB minified (5.5 kB gzipped) for the entire library. The basic bundle is 4.5 kB minified (2 kB gzipped).
  • modular: pick and choose what modules you want when you download. No inter-dependencies.
  • extensible: everything is customizable and can be extended.
  • fast: all logic has been removed from the update and render cycles.
  • memory conscious: takes up as little memory as needed and tries not to be wasteful about the memory it does take up.

Use it When

  • you want to get something up and running fairly quickly.
  • you want a basic structure that is easy to scale and extend.
  • in conjunction with other libraries (like Playground.js).
  • prototyping.
  • game jams.

Ready to Get Going?