Composition Rendering

A graphics engine for creating 2D games. Composition Rendering is not a game engine. This solution can be used as part of a third-party game engine. The functions of creating game scenes and managing graphic objects in the action scene are at your disposal. Object rendering is optimized to minimize the number of drawing commands calls. Drawing is based on Canvas.drawRawAtlas

Usage

A simple usage example:

import 'package:composition_rendering/core.dart';
import 'package:composition_rendering/scene.dart';

void main() {
  final gameScene = GameScene();
}

class GameScene extends Scene {
  @override
  void init() {
    var texture = systems.textureSystem.getTextureRegion('bg.jpg');
    var background = systems.factorySystem.spawnSprite(texture!, Priority.background);
    add(background);
  }
}

Use with Flame

Plugin for integrating composition rendering into the Flame game engine. Pub Version

History of creation

The source of inspiration was the resource Replica Island

Other projects that may have influenced the development of this work:

GitHub

https://github.com/QiXi/composition_rendering