Faze
v2.0.0-pre
v2.0.0-pre
  • Introduction
  • Getting Started
  • Abstractions
    • IPipeline
    • IGameState
    • IPlayer
    • Rendering
      • ITreePainter
      • IPaintedTreeRenderer
      • IColorInterpolator
  • Engine
    • Agents
  • Rendering
    • Tree Renderers
      • SquareTreeRenderer
      • SliceAndDiceTreeRenderer
    • Color Interpolators
  • Concept
    • Tree Rendering
    • Real-time Rendering
  • Blog
    • Visualising games as fractals
    • Visualising player choice
  • Examples
    • 8 Queens Problem
    • Chess Pieces
    • Gallery
  • Research
    • Renderers
      • Square Tree Renderer
      • Circle Edge Renderer
      • Compressed Square Tree Renderer
  • GitHub Repository
Powered by GitBook
On this page
  • Game
  • Engine
  • Renderer

Was this helpful?

Abstractions

Faze.Abstractions

PreviousGetting StartedNextIPipeline

Last updated 3 years ago

Was this helpful?

At its core, Faze can be summarised with the following diagram.

The pipeline is made up of two main parts - the engine and the renderer. The engine provides the data and the renderer draws it.

Faze aims to provide everything except for the game logic as standard, consisting of a default set of tools to allow the user to define their game and focus on exploring it. However, much of the pipeline will be extensible, with the idea of eventually integrating any useful third-party functionality back in.

Game

Implements IGameState which provides the available moves, a new state given a valid move and the result of a game. With this simple model it is possible for a generic engine to simulate and collect results for any implementation.

Engine

A generic service which provides helpful methods to explore and aggregate results for any given IGameState.

Renderer

In charge of rendering images from tree data structures and keeping track of what portion of the tree needs to be rendered for a given viewport.