Site hosted by Angelfire.com: Build your free website today!
    3D ENGINE EXPLORATION
   
Links  
Main Page
Downloads
Links
E-Mail

Projects  
OgreScript
NeoScript
Jet Stream
Walk Test

Articles  
Ogre
Nebula Device
Auran Jet
Fly3D
Crystal Space

 

  Fly3D
Language: C++ Documentation:
Platform: Windows Examples:
Cost: Free Features:
Links: Fly3D Tools:

Fly3d is a 3D game engine being written as a companion to the 2nd volume of "3D Game Technology", which is going to be released sometime in 2002. The current version is Fly3D 2.0 RC1, so I don't think that the book is far from being released.

Fly3D differs in its approach to creating games from most other 3D engines. Whereas most engines expect you to provide your own game shell, Fly3D has been designed to allow you to plug in your game elements into an editor. This editor produces a .fly file that is then loaded directly by the engine. The result is that you don't have to worry about creating code to load a level, place entities or setting their default properties. Some might see this as a restriction, but in my experience having this functionality saves a lot of time and lets you get on with the task of creating your game.

Fly3D achieves this plug-in functionality by isolating game code in separate DLL files. It's possible to create a game using Fly3D without typing one line of code through the DLL's provided with the engine. You can simply define the level to use and create a few entities in the editor, and you have your game. It's really that simple.

Whacking together a game from a bunch of default options is all well and good, but you are probably reading this because you want to make your own game, right? In that case, you are going to have to code some DLL's for yourself. If you have a copy of Visual Studio 6, Fly3D provides a plug-in to get you started. Run through the wizard, and it will create a shell for you to fill in with your code. When I first encountered Fly3D the thought of programming DLL's was a bit daunting because I had never done it before. However, with the wizard doing most of the work for you though it's a piece of cake to get started.

Fly3D is heavily biased towards creating Quake style games. To this end it includes something that I have yet to see in any other downloadable 3D engine; a fully functional BSP/PVS renderer. For those that don't know, PVS stands for Potentially Visible Set, and is the culling technology used by some of the latest games, like Quake 3. It allows a game to display complex indoor environments at maximum speed. Fly3D even includes a Quake 3 map converter, so you can use any Quake 3 level editor to make your maps. So if creating a FPS is your thing, look no further than Fly3D.

Of course you aren't limited to creating just a FPS. Fly3D also includes support for large terrain rendering, allowing you to create pretty much any game you choose. The only limit is your programming ability.

Another area where Fly3D excels is in its support tools. As I mentioned before you have a VS6 plug-in, a Quake 3 map converter and a general purpose editor to piece you game together with. Fly3D also comes with an exporter for 3D Studio Max 3 and 4, allowing you to create game models and levels using Max. A decent toolset is rare with freely available engines, so Fly3D definitely sets itself out here.

Collision detection is another aspect often ignored by other engines. Not so with Fly3D. It provides an excellent selection of collision detection methods which allow for robust collisions for moving models (or their bounding boxes for maximum speed) or rays. If the thought of excellent collision detection doesn't get you excited, then you've never tried to create a game without it.

Fly3D's documentation is a small disappointment though. You get a basic description of the classes, their methods and variables, but no explanation on how exactly they work. Usually you can work out what the methods do by the description, but some of the finer aspects of their usage are impossible to know without an example. This may change once the engine has been finished and the book released, but bear it in mind for now.

The Fly3D licensing is pretty liberal. Although you don't get the source to the engine (which will be released with the book), you can use the engine free of charge and even sell your work.

Fly3D is currently my favourite engine to use, and I don't see that changing much in the future. With better documentation, and even a full book supporting it, Fly3D will quickly become the easiest way to start making your own games.