Posted: Tue Aug 02, 2005 10:41 am
Hi, I’m currently helping fix bugs and add features to the Jet3d engine. I have followed the progress of the RF game shell and the Genesis3d and Jet3d engine pretty much from their public release. I really haven’t done anything with the engines but I have studied them and know what they are capable of producing. I’m writing this post to clear up some of the misconceptions about the Jet3d engine and inform you of some of the differences between Genesis3d and Jet3d. I am a programmer, not an artist or modeler but I do know how to make levels, actors and art for both G3D and Jet3d so I think I’m qualified to state the facts about each engine.
Graphics
Graphic quality is subjective and you don’t need a state of the art engine to produce high quality graphics but having more graphic features at your disposal will help produce better looking games.
Jet3d has a WYSIWYG editor making creating levels easier and faster. You can add, move and place lights, actors, effects, sounds, terrain, objects, etc. in real-time. Also, since the editor uses the Jet3d engine for rendering, the game graphics will look exactly like the editor’s graphics.
G3D doesn’t have a real-time editor but it does have pre-compiled radiosity lighting which can look better than Jet3d’s dynamic radiosity lighting. Other than that G3D’s editor can’t compare to Jet3d’s editor for creating quality graphics fast and efficiently.
Jet3d has a D3D 9.0 driver but all the D3D 9.0 features have not been added to the engine yet. It’s development is progressing nicely and very soon Jet3d will be able to use shaders and all the other D3D 9.0 features.
G3D and the RF have made great strides with the graphic driver but it is still only D3D 7.x which doesn’t allow the use of a lot of the features of the newer graphic cards and limits the speed of the engine.
G3D 1.6 has added actor shadows and a lot of other cool features which are currently not in Jet3d but as soon as Jet3d gets shaders then it would just be a matter of writing a shader to incorporate these cool features plus a lot more.
Jet3d has weighted vertices for actors, G3D does not.
I can go on about graphics but what it really comes down to is the skill of the development team.
Speed
Jet3d has a slight speed advantage and is capable of rendering more polygons at a higher frame rate. Once the new D3D 9.0 driver fully implements hardware T&L the frame rate should be comparable to modern engines. I don’t think a major speed increase can be achieved by the G3D engine unless it gets true hardware T&L.
Programming
The functions in both Jet3d and G3D are very similar, but there are major differences. Jet3d makes use of objects which allow the programmer to create self-contained pieces of code that work in the editor and in the game allowing the level designers to actually incorporate game functionality in to the editor. For example someone created an object that renders waves. You can place it in the editor just like a sheet brush then modify it’s parameters in real-time to create ocean waves. Someone else created an object that allows the level designer to create sky domes. Objects can be used to create almost anything such as actor AI , physics, effects, sounds, movement, gravity, collisions, terrain, world geometry, etc. Any part of the game can probably be made in to a generic object that allows the level designers to use and set it’s properties from within the editor. If you wanted to create a RF type shell for Jet3d I would start by creating a bunch of objects that do all the work then it’s just a matter of putting the objects together within the editor to create a game. G3D relies on entities which is very primitive and not as flexible as Jet3d’s objects.
Game Shells
Jet3d just has the basic minapp and a few demo apps at the moment. Seven is working on a demo / game shell for Jet3d call ProjectJ. G3D has demos and minapps plus RF. Jet3d may never have a game shell like RF but you never know.
Well those are the facts as I see them. My overall opinion is Jet3d is better than G3D feature and programming wise but Jet3d still has some stability problems which need to be fixed. Also Jet3d is a work in progress and formats might be changed to make things compatible with D3D 9.0, so if you do create something today it might not work tomorrow but we are doing our best to keep compatibility. In the coming months the D3D 9.0 driver conversion will be complete and then there will probably be no comparison between Jet3d and G3D due to the addition of hardware T&L and shaders.
Also, if you do try the Jet3d engine and discover a problem please don't discount Jet3d as a pile of junk and bad mouth it on other message boards. Report your problem on the Jet3d message board and the Jet3d development team will do their best to fix the problem. If you have questions or need help just ask, the people working on the engine know it inside and out and can probably answer your questions.
Graphics
Graphic quality is subjective and you don’t need a state of the art engine to produce high quality graphics but having more graphic features at your disposal will help produce better looking games.
Jet3d has a WYSIWYG editor making creating levels easier and faster. You can add, move and place lights, actors, effects, sounds, terrain, objects, etc. in real-time. Also, since the editor uses the Jet3d engine for rendering, the game graphics will look exactly like the editor’s graphics.
G3D doesn’t have a real-time editor but it does have pre-compiled radiosity lighting which can look better than Jet3d’s dynamic radiosity lighting. Other than that G3D’s editor can’t compare to Jet3d’s editor for creating quality graphics fast and efficiently.
Jet3d has a D3D 9.0 driver but all the D3D 9.0 features have not been added to the engine yet. It’s development is progressing nicely and very soon Jet3d will be able to use shaders and all the other D3D 9.0 features.
G3D and the RF have made great strides with the graphic driver but it is still only D3D 7.x which doesn’t allow the use of a lot of the features of the newer graphic cards and limits the speed of the engine.
G3D 1.6 has added actor shadows and a lot of other cool features which are currently not in Jet3d but as soon as Jet3d gets shaders then it would just be a matter of writing a shader to incorporate these cool features plus a lot more.
Jet3d has weighted vertices for actors, G3D does not.
I can go on about graphics but what it really comes down to is the skill of the development team.
Speed
Jet3d has a slight speed advantage and is capable of rendering more polygons at a higher frame rate. Once the new D3D 9.0 driver fully implements hardware T&L the frame rate should be comparable to modern engines. I don’t think a major speed increase can be achieved by the G3D engine unless it gets true hardware T&L.
Programming
The functions in both Jet3d and G3D are very similar, but there are major differences. Jet3d makes use of objects which allow the programmer to create self-contained pieces of code that work in the editor and in the game allowing the level designers to actually incorporate game functionality in to the editor. For example someone created an object that renders waves. You can place it in the editor just like a sheet brush then modify it’s parameters in real-time to create ocean waves. Someone else created an object that allows the level designer to create sky domes. Objects can be used to create almost anything such as actor AI , physics, effects, sounds, movement, gravity, collisions, terrain, world geometry, etc. Any part of the game can probably be made in to a generic object that allows the level designers to use and set it’s properties from within the editor. If you wanted to create a RF type shell for Jet3d I would start by creating a bunch of objects that do all the work then it’s just a matter of putting the objects together within the editor to create a game. G3D relies on entities which is very primitive and not as flexible as Jet3d’s objects.
Game Shells
Jet3d just has the basic minapp and a few demo apps at the moment. Seven is working on a demo / game shell for Jet3d call ProjectJ. G3D has demos and minapps plus RF. Jet3d may never have a game shell like RF but you never know.
Well those are the facts as I see them. My overall opinion is Jet3d is better than G3D feature and programming wise but Jet3d still has some stability problems which need to be fixed. Also Jet3d is a work in progress and formats might be changed to make things compatible with D3D 9.0, so if you do create something today it might not work tomorrow but we are doing our best to keep compatibility. In the coming months the D3D 9.0 driver conversion will be complete and then there will probably be no comparison between Jet3d and G3D due to the addition of hardware T&L and shaders.
Also, if you do try the Jet3d engine and discover a problem please don't discount Jet3d as a pile of junk and bad mouth it on other message boards. Report your problem on the Jet3d message board and the Jet3d development team will do their best to fix the problem. If you have questions or need help just ask, the people working on the engine know it inside and out and can probably answer your questions.