Tremble
A simple Flutter game engine following the setup/update/draw pattern (p5.js, Processing, Raylib, LÖVE style).
📖 Full documentation: tremble-docs.netlify.app
Quick Start
FittedBox(
child: SizedBox(
width: 480,
height: 640,
child: GameArea(controller: MyController()),
),
)
class MyController extends ScreenController {
@override
void setup(BuildContext context, double width, double height) {}
@override
void update(double deltaTime) {}
@override
void draw(Canvas canvas, Size size) {}
@override
void dispose() {}
}
Features
| Area | Includes |
|---|---|
| Rendering | Raw Canvas access, SpriteBatch (GDX atlases), Sprite, Animation |
| Input | Keyboard, mouse, resize, multi-touch |
| Tooling | Signal (pub-sub), WaitEvents / WaitChainBuilder, StateMachine |
| Utilities | Vector2, Tween, SecondOrderDynamics, ColorUtils, MathUtils, ImageUtils |
Packages
License
MIT
Libraries
- animation
- game_area
- game_listener
- game_painter
- game_ticker
- screen_controller
- signal
- signal_builder
- sprite
- sprite_batch
- state_machine
- tremble
- utils/color_utils
- utils/extensions
- utils/helpers
- utils/image_utils
- utils/math_utils
- utils/parametrics
- utils/second_order_dynamics
- utils/tween
- utils/types
- utils/vector2
- wait_chain_builder
- wait_events