Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including quick-quick with all npm packages installed. Try it out:

var quickQuick = require("quick-quick")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

quick-quick v6.5.2

quick game engine library

build status chat downloads license npm version support


multi-platform, lightweight, easy-to-use game engine for game creation, focused in performance, fast development and maintainability


  • virtual resolution - run your game in any screen size without affecting your development or game logic
  • accessible - play with a common user interface for gamepad, keyboard, mice or touch screen
  • multiplatform - architecture agnostic at the core, all you need is a JavaScript runtime
  • complete - no further dependencies required
  • easy to use - rich, well defined API that feels natural to game development
  • agnostic - whether you want to write your game with OOP or functional code, the choice is yours
  • open - free to use, read, and extend it. Enjoy!


some games made with quick:


the skeleton provide a sample quick project with an initial Scene, a black background and a player Sprite with the Controllable plugin, so you can move it with the keyboard or a gamepad, while the demos provide some sample game implementations


the input subsystem dynamically attaches physical devices such as gamepads, keyboards, mice and touch screens to virtual devices, so gamepads and keyboards are known to the game as controllers via the Controller class, while mice and touch screens are known to the game as pointers, via the Pointer class


to be accessible and ergonomic to the majority of players without configuration hassles, quick convenes to an opinionated set of commands which are:

  • Up
  • Down
  • Left
  • Right
  • A
  • B
  • X
  • Y
  • Select
  • Start

these commands can be easily referenced to using the [[Command]] enumeration, so physical devices which implement [[Controller]] map to these commands, as follows:


  • Up (digital / analog) - Up
  • Down (digital / analog) - Down
  • Left (digital / analog) - Left
  • Right (digital / analog) - Right
  • A or 1 - A
  • B or 2 - B
  • X or 3 - X
  • Y or 4 - Y
  • Select - Select
  • Start - Start


  • Up arrow, E or I - Up
  • Down arrow, D or K - Down
  • Left arrow, S or J - Left
  • Right arrow, F or L - Right
  • Space - A
  • Alt - B
  • Ctrl - X
  • Shift - Y
  • Esc - Select
  • Enter - Start


while mice and touch screens have different capabilities, they share a few common concepts which we can leverage to interact them in an uniform way, as both can provide clicks and position coordinates

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free