chibiengine
TypeScript icon, indicating that this package has built-in type declarations

0.5.0 • Public • Published

Chibi Engine (WIP)

npm version Maintainability Rating

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.

Objectives

  • 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.

Roadmap

  • [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)
    • [x] Easing functions (penner / phaser)
    • [ ] Implement missing actions
  • [ ] Camera (inspired by pixi-viewport) ⚒️
    • [x] Bounds
    • [ ] Parallax ⚒️
    • [ ] Lerp
    • [ ] Effects
  • [ ] Physics engine
  • [ ] 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/

Package Sidebar

Install

npm i chibiengine

Weekly Downloads

59

Version

0.5.0

License

MIT

Unpacked Size

528 kB

Total Files

524

Last publish

Collaborators

  • feavy