Isaac 2D  1.0
Isaac 2D Documentation

Isaac 2D is a C++ framework based on SFML(Simple and Fast Multimedia Library) and Boost C++ Libraries that provides support for an easy development and understandable(flexible) structure even in complex scenarios for application and games. Also, Issac it is a multi-platform library, your applications or games can compile and run on the most common operating systems: Windows, Linux, Mac OS X.

Isaac was developed with the idea of making something complex(complex systems like big applications or games) easy to understand and maintain, with that in mind the very reasonable approach in order to create something like that, was the using of Petri Network.

A Petri net consists of places, transitions, and arcs. Arcs run from a place to a transition or vice versa, never between places or between transitions. The places from which an arc runs to a transition are called the input places of the transition; the places to which arcs run from a transition are called the output places of the transition.

So, this is basically the mechanism that Isaac is using. The places defined by a Petri network are the scenes in our game/application the transitions between the scenes are made by the so called Isaac Triggers and the arcs are the transition directions. This is basically the model that every application is trying to obtain in one way or another.

In order to undestand Isaac, read the tutorials: