Home
Fusion 2.5+
Firefly+
Tutorials+
Videos+
Guides & Tips+
Extensions+
Versions
Teaching


3: WHAT IS FIREFLY ?

3: WHAT IS FIREFLY ?


 

 

OK, what we want to create is a breakout-style game. In a breakout game, you typically have a ball, a bat, and some bricks. In this tutorial, we want to create a super breakout game, with impressive graphics, made in 3D.

First, unlike a 2d game where everything has already been setup by fusion, for a 3d game we need to setup a few things ourselves such as where in the world our 3d game will happen, where will the camera man stand and where are all the 3d objects going to start.

Luckily the Fusion Team have created an extension to help with all of that, so find the extension called Firefly and install it. Once installed it will add some new firefly objects that we can use. Firefly itself consists of a main engine and then loads of little node objects that each do different things, I will list them all here now - but dont worry too much about them or what they do as we will try to cover most of them in a later stage.Wow, thats an awful lot of new objects to learn and understand but not to worry we will try and gradually bring them in so you understand what they are and what they do and more importantly how to make them do what you want them to do.

     
 

This Firefly Engine object does almost all the work within these set of extensions. First, you should add one to the frame and then resize it to cover the frame. The area covered by this extension dictates the resolution of your 3D scene.

Firefly Engine

The Firefly Node Camera object is necessary to draw anything to the frame. It works similarly to how the Engine object works, except the area covered by the Camera object dictates where to draw the scene to (through the camera). Through this system, split-screen effects can be achieved, but usually the Engine object and your singular Camera will both be at the same point on the frame and both be of the same size.

Firefly Node Camera

The Firefly 2D Text object puts 2d text inside your 3d world useful for things like names above heads and other User Interface information.

Firefly 2D Text

The Firefly Image object puts images inside your 3d world useful for backdrops for all that User Interface information you have.

Firefly Image

The Firefly Material Cache object represents and acts as an array of Materials. A Material has an Index that it resides at within a Material Cache object, and it can also have a name. Most node objects require one or more materials to render something other than a grey mass in the scene.

Firefly Material Cache

The Firefly Movement object is one of the most important objects in the FireFly set as it helps you move all your other nodes around.

Firefly Movement

With the Firefly Node Animated Mesh node you can insert an animated mesh into the scene. An Animated Mesh is animated across a number of Frames by calculating the position, scale, and rotation of the mesh's Joints using each one's collection of Key Frames across those Frames. 

So, an Animated Mesh might have many Joints, and each Joint can have many Key Frames of a Position and/or Scale and/or Rotation type. When the animation takes place, it calculates what Position, Scale, and Rotation each Joint should be set to at a given frame by working out each difference between the last and next Key Frame.

Firefly Node Animated Mesh

The Firefly Node Billboard object is like a 3d sprite: A 2d element, which always looks to the camera. It is usually used for explosions, fire, lensflares, particles and things like that.

Firefly Node Billboard

The Firefly Node Dummy object isn't really an object at all, in fact it isnt anything and you will never see it in through the Node Camera but its incredibly usefull for holding data for example you could have players mark an area in your world and put a dummy node there and use its values in your calculations.

Firefly Node Dummy

The Firefly Node Light object places various light sources such as spot lights or directional lights in your scene, Lights are often needed to brighten up a scene. Any Material (from the Material Cache object) that has its 'Lighting' setting set to true/on (which it is by default) means that it requires light to be rendered in some colour other than black.

Firefly Node Light

With the Firefly Node Particle System you can insert a particle emitter into the scene. A Particle System node can be one of these types: Point, Box, Sphere, Animated Mesh Node, Cylinder, Mesh, Ring. These types describe the shape of the emitter. What is actually emitted is similar to a Billboard node object. 

A Particle System Node also can one or more Affecters. An Affecter is something located at a X,Y,Z position within the scene and will affect particles generated by the node object in different ways. The different types of Affecters are 'Attraction', 'Fade-Out', 'Gravity', 'Rotation', 'Scale'.

Firefly Node Particle System

The Firefly Node Primitive object is capable of very quickly creating a mesh in the shape of standard objects such as cubes, spheres, arrows and planes.

Firefly Node Primitive

The Firefly Node Static Mesh object isnt static as in not able to move its just static as in not containing any animations, most of your 3d objects will be static mesh's.

Firefly Node Static Mesh

The Firefly Node Terrain object is capable of very quickly loading terrains and updating the indices at runtime to enable viewing very large terrains. It uses a CLOD (Continuous Level of Detail) algorithm which updates the indices for each patch based on a LOD (Level of Detail) which is determined based on a patch's distance from the camera.

Firefly Node Terrain

The Firefly Node Text object lets you insert 2D text within the 3D scene. It works similar to the Billboard object in that it will always face the camera and the size of the text as it appears is not dependant on how close the object is to the camera.

Firefly Node Text

This Firefly Node Water object for rendering an animated water surface mesh. Looks really good when a Material with Transparent Reflection is used.

Firefly Node Water

This Firefly Sky object object is not quite a node object in that you can only have one in the scene, and it cannot be moved around. you can however choose to have a skysphere or a skybox which will allow your players to feel that the world is massive around them.

Firefly Sky

The Counter object : as its name indicates, this object holds numerical values and, at your option, displays it on the frame. The value can be displayed as a number, or as a percentage bar, either horizontal or vertical. This object is very useful for complex applications where you need to store data. You can add tosubtract from, and set a counter.

Tip : In the counter's properties, you can set the starting value, as well as the highest and lowest numbers it will be able to work with. It is very important to use these settings for percentage bars or you may not see them do anything at all when running your application.

The Lives object : displays the number of lives remaining for the player. It can display it as individual drawings, or as a number.

The Hi-Score object : automatically displays and manages a table of high scores for your game.

The Button object : this object displays a Windows' style button, a checkbox or a radio button. Very useful when you have to create interfaces. Buttons let your user/player control things.

 
     
Wow, thats an awful lot of new objects to learn and understand but not to worry we will try and gradually bring them in so you understand what they are and what they do and more importantly how to make them do what you want them to do.
     
 
     
     
     
     
     

 




Spread the word!



You can share this document using the following buttons.




Submit your own User Tip