Introduction

Welcome! This is the documentation for Flare Engine. This tool provides an array of tools for creating 2d platformers much quicker, all without touching a line of code! It comes equipped with a streamlined user interface that makes the editor easy to work with. This will quickly get you going on creating your games!

If you are reading the autogenerated pdf version, please feel free to read the online version for a more readable experience:

twobitmachines.github.io/FlareEngineDocs

If you have any questions or feedback, please contact us at TwoBitMachinesDev@gmail.com

The Basics, Getting Started

At its core, like most custom implementations, the system uses raycasts. These raycasts will emit from the characters and detect the world, bypassing the physics engine. This will allow the user to have greater control over the game world. To get this foundation setup properly, each scene must contain a World Manager gameobject. Once this component is in the scene, it will automatically install the following Layers and Tags (if they don’t already exist) to ensure smooth operation of the system:

Layers

  • World - Ground, slopes, walls, ceilings. Use this layer on any gameobject that is a solid surface.

  • Platform - Use this layer on any gameobject that is a Moving Platform.

  • Player - Use this layer on the player gameobject.

  • Enemy - Use this layer on any enemy gameobject.

Tags

  • Friction - Use this tag on any ground gameobject that is using the Friction component.

  • Block - Use this tag on any block if using the Push Block for the player ability Pick And Throw.

  • Edge2DUpOnly - Use this tag on any gameobject with an EdgeCollider2D that only allows jumping up through it.

  • Edge2DDownOnly - Use this tag on any gameobject with an EdgeCollider2D that only allows jumping down through it.

  • NoClimb - If the player can climb walls or ceilings, use this tag on any gameobject that is not meant to be climbable.

  • UIControl - Place this on any UI that needs to ignore IsPointerOverGameObject. This is useful for UI buttons that need to fire weapons.

And that’s basically it. That’s all you need to get started. From here you can add a player, choose its abilities, design AI enemies, setup common systems such as Inventory or Dialogue, and implement world interactables to spice up your game.

Demo

As of now, the engine comes with two demos showcasing the many possibilities of the tools. One should use the demos as a starting point for learning. Go into the Hierarchy and check how the gameobjects are set up and how they connect with other systems via Unity Events. And please feel free to create whatever prefabs you deem necessary from the demos. The first demo has pixel perfect disabled, so you might notice some glitchy artifacts from time to time. Good luck!