roscale / gamez

A small Flutter game engine.

Home Page:https://pub.dev/packages/gamez

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GamEZ

By Ayman Adil (Last source code update: 2021-09-23)

A small Flutter game engine.

Utilization

Create the game model

The game model is responsible for the logical part of the game, such as adding/removing entities and managing gestures.

class MyGameProvider extends Game {
  // ... Implement override methods ...
}

Then you can create a new character MyCharacter:

class MyCharacter extends GameEntity {
  MyCharacter(Vector position, Size size) : super(position, size);
  // ... Implement override methods ...
}

To add it to the game you have to call MyGameProvider::entities.add(MyCharacter)

If you want to add an entity without gestures, you can extend it from RenderElement:

class MyElement extends RenderElement {
  MyElement(Vector position, Size size) : super(position, size);
  // ... Implement override methods ...
}

Create the game screen

In order to render and detect gestures you have to create a game screen:

class MyGame extends GameScreen {
  MyGame() : super(game: MyGameProvider());
}

You can also add a widget to the game screen by calling MyGame::addChild(MyWidget)

Other resources

Some useful resources are provided:

  • Sprite: Image loader and renderer.
  • FileManager: Synchronous file Manager.
  • Vector: 2D vector with various operations.

Example

You can find here a Flutter game using this engine.

Possible future improvements

For "completion", some planned features:

  • Detection of all gestures.
  • More basic components.
  • Audio support.

All contributions are warmly welcomed.

About

A small Flutter game engine.

https://pub.dev/packages/gamez

License:MIT License


Languages

Language:Dart 99.2%Language:Swift 0.6%Language:Kotlin 0.2%Language:Objective-C 0.1%