Bare-bones, highly modular game engine for 2D 8-bit games.
EightBittr is an in-progress experimental game engine targeted to 8-bit retro 2D games. It's got some great features built-in, such as:
- ⚡ Blazingly fast start times:
- Lazily-instantiated and -loaded components
- Lazily-instantiated actor classes with inline POJO sprite declarations
- <150KB minified / <30KB gzipped TTFI game components
- 🔧 Easy scaffolding for extensible mods, level editors, and random map generation
- 🖐 Touch UI support with UserWrappr and TouchPassr
- 💉 Full testability with dependency-injectable, swappable APIs for data storage and time management
❌ ⚠ EightBittr isn't production ready or well-supported - you're probably better off using a more standard game engine. ⚠ ❌
Interested in learning more? See:
- docs/Architecture.md for a rundown of how EightBittr sets up its members.
- docs/Components.md for descriptions of how each of EightBittr's pieces work together.
- docs/Consumption.md for how to set up a game using EightBittr.
- docs/Testing.md for how to test a game set up with EightBittr.
- docs/Runtime.md for a detailed play-by-play of what happens each game frame.
- docs/Walkthrough.md for step-by-step instructions on how to set up a game with EightBittr.
yarn run test
Tests are written in Mocha and Chai.
Their files are written using alongside source files under
src/ and named
Whenever you add, remove, or rename a
*.test.t* file under
watch will re-run
yarn run test:setup to regenerate the list of static test files in
You can open that file in a browser to debug through the tests, or run
yarn test:run to run them in headless Chrome.