LogoIgnis

Ignis

A 2D Flutter game engine built on nodes and signals.

The Ignis mark, a painting of a flame.
  • Embrace composition. Everything is a Node. Compose behavior and graphics with trees.
  • Locality of behavior. An API specifically designed for keeping related code physically close together.
  • Precise live reload. Wield fine-grained control over how each node changes with the source.
  • Platform flexibility. Ignis runs wherever Flutter runs: desktop, mobile, and web.
@override
void build() {
  super.build();

  final square = add(
    ShapeNode(
      shape: .square(40),
      anchor: .center,
      paint: Paint()..color = Colors.orange,
    ),
  );

  tick((dt) {
    square.angle += pi / 4 * dt;
  });
}
overview.dart
Loading the scene…
By the way...

Every demo on this site is a real Ignis scene compiled into the page.

Start Here#

AI Usage#

Some parts of Ignis are built with the help of AI. The degree of AI involvement is tracked on a per-source file basis through an AI disclosure convention. See more details here.

This documentation site contains no AI-generated text. This is me, writing everything out with my grubby little fingers.

Attribution#

The mark in the header is a beautiful painting by Mewyn.

The example assets in the demos are provided by Infected Tribe.