quick-quick v6.5.2
quick
multi-platform, lightweight, easy-to-use game engine for game creation, focused in performance, fast development and maintainability
features
- 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!
games
some games made with quick:
usage
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
input
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
controllers
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:
gamepad
- 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
keyboard
- 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
pointers
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