Chibi Engine aims to offer a modern and simple approach to game development with web technologies. It takes advantage of TypeScript and ES6 features such as asynchronism, classes, and mixins for a flexible and maintainable programming methodology, inspired by popular game engines.
Its main objective is to pave the way for cross-engine game development. In this way it introduces an abstraction layer over existing engines to simplify the development process, gathering their common features under a unified API, while still allowing developers to leverage specific engine capabilities.
Additionally, Chibi Engine aims to integrate usual game creation features such as an entity component system, a physics engine and camera system.
Currently, the main target is PixiJS.
- Modern API, easy to use. Inspired by Flash and Cocos2d-x.
- Focused on Object-Oriented Programming through an extensible node and component system.
- Implicit dynamic assets loading.
- [x] Event system
- [x] Transparent resource loading
- [x] Nodes
- [x] Sprites
- [x] Game loops
- [x] Update loop
- [x] Render loop
- [x] Entity Component System (ECS)
- [ ] Scenes ⚒️
- [x] Basic implementation
- [ ] Transitions between scenes
- [x] Automated props interpolation (position, rotation, size)
- [ ] Input ⚒️
- [x] Keyboard
- [x] Mouse
- [x] Touch
- [ ] Gamepad
- [ ] Implement missing transformation attributes..
- [ ] Audio: SFX and Music with volume control
- [ ] English translation ⚒️
- [x] Tweens and sequences (inspired by Cocos2d-x)
- [ ] Camera (inspired by pixi-viewport) ⚒️
- [x] Bounds
- [ ] Parallax ⚒️
- [ ] Lerp
- [ ] Effects
- [ ] Physics engine
- [ ] Wrapper of rapier or box2d-wasm (to define)
- [ ] Wrapper of planck.js ❓
- [ ] Refactoring & code cleanup
- [ ] Documentation
- [ ] API Reference
- [ ] Getting Started
- [ ] Custom animation engine
- [ ] JSON Animation format
- [ ] Frame-by-frame element integration
- [ ] Animation editor 🔮
- [ ] Tilemap
- [ ] Masks
- [ ] Meshes
- [ ] Dynamic node loading (prefab) ❓
- [ ] Atlas generation at runtime (for optimization) 🔮
- [ ] Or ahead-of-time at compile-time? Or with a CLI?
- [ ] 3D support with babylon.js or three.js 🔮
- [ ] Native Desktop/Android/iOS version with cocos2d-x 🔮
⚒️ Work in progress...
🔮 Non-essential feature that will arrive in the distant future
❓ Potentially irrelevant feature
Chibiland - http://chibi.land/ • Feavy 2023 - https://feavy.fr/