firefly-logo

Firefly Framework – a small insight

August 6, 2014 devblog, Firefly Framework no comments

The Firefly framework is our C# based development framework for Unity3D, that we use to build our virtual reality experiences. As we build our stuff we expand on it and improve it, with the goal to hold a tool in our hands that will boost our development productivity.

I want to lift the curtain a little to show what we have created up to this point.

To do this , I will present a list with our classes framework folders and explain what kind of useful classes they hold and to what purpose.

so here it is …

/Classes/

  • Actions
    Actions (FFAction)  are classes with code that be executed within a time line. Actions can be organised in action lists or action trees and can be parallel or serially linked.
  • AI
    This will hold all Artificial Intelligent support classes (like FFBrain) that we can use to implement believable AI
  • Assets
    Assets are pieces of content that can be downloaded at runtime or loaded from resources.
  • Base
    This folder will contain our base classes like FF, FFObject and FFBehaviourObject
  • Data
    Classes in this folder will give you access to data like XML, JSON and Databases (MySQL)
  • Editor
    All unity editor integration stuff is in here
  • Entity
    All objects in our virtual reality experiences or games are enitities. Is is the framework’s base object.
  • Graphics
    Sprites stuff, Sky domes , etc
  • GUI
    All our Unity GUI integration code is in here
  • Input
    Code handling input like keys, mouse but also touch gestures, game controllers
    and even other input devices.
  • Managers
    Managers control specific process/update related (Monobehaviour) framework functionality, like loading of assets (AssetManager), executing actions (ActionManager), processing timelines (TimeManager) .. and more…
  • Movement
    Everything related to movement, like FFMotor classes and Mechanim integration code
  • Network
    Code to quicklt and simply setup network based apps and games. Also base classes to integrate 3rd party tools like Photon Networking or Google Game Play Services
  • Sensor
    Our FFBrain (AI) driven entities use FFSensor classes to become aware of their environment. The sensor classes are in here.
  • State
    State Machine classes
  • Time
    Time and timelines
  • Tween
    Lots of different tweens are possible
  • Utils
    Even more code……

I will post some more in depth info about seperate folders/classes/systems in future posts.

 

About the author

Alround development specialist with programming roots going back to the early 80's on a ZX-81, went for commodore 64 and Amiga and ended up after a lots of programming adventures coding C# in Unity3D. ( among lots of other things... )

Join the discussion

Your email address will not be published. Required fields are marked *