3D Engine Comparisons
Miscellaneous Forums/General Discussion/3D Engine Comparisons
ok... it's no secret that i'm a traitor and defector... that i have no alliegance to any 3D engine flag...
my only saving grace is that i'm seen equally the same way by all the fanboys on all the 3D engine sites that i've been suckered into licensing...
i still wander around in the yet unrealized dream of completing and marketing a halfway decent 3D game... making a billion quatlooms... and sailing off to live happily forever after on my yacht to my own island in the Carribean... and i'm still licensing these development tools in an effort to foster and validate this dream into becoming reality...
with all that said... here's a lil non scientific comparison... for those out there in Blitz and 'Max land who are secretly planning their own bit of treasonous defection...
TrueVision3D - to early to say anything definitive... the code is verrrry easy to pick up, but if you are expecting the programmers reference type of help we get here in Blitz HelpFile land... forget it.
the TV3D docs come with a good getting started section, and the rest is merely a class diagram with methods... it's complete though, but of no help telling you what to do next... for that you will need to look at the examples... very well commented, though, and very explanative... no 6.5 (beta) examples yet, except the user written ones, but there is enough similarity between the old stuff and the new so you won't have a problem getting going.
the forum is active and not as elitist as i've heard... so far, they've been very helpful and the developers are online and accessible...
Torque - probably the easiest engine to get something up and running in... as long as it's a first person shooter, in the Tribes mold... doing anything different is gonna require that you learn and understand the way the Torque Engine already does what it does... and that's quite a lot... there is no programmers reference manual, and while there is a vast amount of pertinent data around, it is only now coming together in a cohesive, organized fashion... you're gonna do a lot of hunting around to get even the smallest thing accomplished... but hey, in all fairness i'd like to say... well, lemme use the following as an example of the benefits of Torque...
you don't have to program in networking... it's already there, and it works... it works really good... expect to have no problems getting over 16 players (possibly a lot more) playing your Torque game, with no problem as far as connecting and speed... (i've been on a board with about 30 players all running around shooting each other)... you only need understand a few basics about the engine to do this, and fortunately, this info is readily available...
it's the small things that stop me in Torque... but that's my shortcoming, not the engines...
3Impact - for some reason i'm still sticking with this one... even though i'm starting to feel the ole 'workaround blues' that i had come so accustomed to in 3DRAD... but, make no mistake, 3Impact is a diferent beast entirely... built in physics, an easy to set up networking paradigm (though yet untested by me personally) , and DX8 perpixel 'shader' effects (bumpmapping, environment mapping)... and it too is quite easy and straightforward to code against, although guys/gals coming from the Blitz mindset will find the artpath a lil awkward, and certain concepts (texturing and texture blending) a lil strange in the way it is done over there...
still and all, i think it is a capable engine, and i'm hangin with it for a while...
Unreal3 Engine - yeah... i wish!!! :)
--Mike
Instead of always switching the engines back and forth... how about actually doing something with one system a little longer! You can do great 3d game with any of those engines.... It's just takes time and skill. Just make up your mind :)
now let me count how many times have i told myself exactly that...
... wait a second, i've run outta fingers and toes.
seriously though Bouncer... for me, there is not much difference in any of these tools... they all pretty much do the same thing... one does it a bit different from the other, but they're all doing the same thing...
coding wise, whether it's c++, visual basic, blitz basic, torque script... it doesn't matter which one really...
the only real difference between em, that i see... is the information ad documentation available... this to me is the key...
all that said... a lot of the development has nothing at all to do with coding... models, graphics, textures... they are all, for the most part, transportable... and, more importantly, they must be done to just as high a degree, maybe even a higher degree, than the coding part...
... and they require the same littany of tools and learning in order to get accomplished.
do you just use one modeling software... do you just use one paint programming...
why should 3D engines be any different... why should i restrict myself to just one...
if anything... i should've not even looked at any of em, and stuck with the DX SDK like i originally started out doing... i would've definitely had something out by now...
actually, i have finished the game, for all intents and purposes in 3DRAD... it's just not something i would really like to debut as the big sub game i've been doing all this time...
... plus, the damn networking is very problematic... and i've spent weeks trying to get it working right... even an attempt to merge my own lil net code replacing their built in code...
that, along with a few other nagging things will get very frustrating over a period of time... especially when the engine has no effective debugging facilities... you wanna get it done, but... hey, that cute lil DX9 capable engine wiggles it's shader in front of you...
... and before ya know it :)
hey, how long have you been working on that Nano project... quite a while now, and you've only been with Blitz, right...
no real difference between you and me... results wise that is... the point you are trying to make, while on the surface sounds good... loosees a lil validity when it is broken down into its actual component reasons...
bottom line is... it's really not the engines... it's me.
game engines don't make games... developers do... i'm sure this is something that you already know... sure i could release the 3DRAD version sub game now... single player, as is...
... who knows, i might just wind up doing that.
--Mike
Btw Mike are there things like entities, cameras, lights etc in TV6.5? Are there any simmilar functions like MoveEntity, RotateEntity, PointEntity, etc? What's it like coding in TV3.6. Got any examples?
If Torque had some more gameplay centric commands in the torque script it would be really good.
Messing around with it, I keep wishing I had a timing loop and some basic style high level control of the entities. Whats there is great, but it could certainly do with some more careful planning allowing for greater flexibility with simple things.
Camera control is pretty poor, allthough Jeremy actualy added a resource that allows for more dynamic scripted camera movement control than the default fixed rotation everyone seems to have used before.
Other than that, the default art path is pretty weak, but can be gotten around if you are a competent programmer willing to put some work in.
I also don't like the fact that almost everything, including RGB is done with floats. So colour picking is a royal pain in the arse since it doesn't stick to establshed art tool conventions.
Overall its pretty good though, and does do a lot for you in a generic kind of fashion. Getting spit and polish out of it and producing something of commercial quality is probably going to take more work than blitz in many cases. But there is no real limit to where you can go, since you do have full source.
As Red mentioned, the MP networking is first rate, and overal I see myself using torque more and more in the coming months as our art path improves.
I too would like to get in on it. Certainly looks good, though Torque doesn't like me :P Should get a hardback book or something :)
Maximo:
the Entity concept that Blitzers have become used to is something that is particular to Blitz... and it is one of the things i like about Blitz... it makes conceptualizing functionality a lot easier to do as opposed to not having it...
TV3D is more object oriented (from wht i can see), and it is based on classes... an object derived from a class will, in most cases, have it's own Move or Rotate methods... which you can access..
for examples, in Blitz you'll most like do something like this
MyActor=LoadAnimMesh(ActorMesh)
EntityMove MyActor,10.0, 10.0,10.0
where in TV3D, or any object oriented environment you would more likely do something like this
MyActor=new Actor
MyActor.Move 10.0,10.0,10.0
do you see the fundamental difference... in Blitz you are directing a animated mesh entity... in TV3d you would be telling an Actor object to move itself...
the impleications here are profound... no, seriously, they are...
in Blitz you are using Blitz's EntityMove function to move an animated mesh... period... now while this seems cool on the surface, when you dig a lil deeper, this is really kinda restrictive... all EntityMove will ever do is translate a mesh that you've decided represents the entity in case...
in TV3D, the concept of entity is replaced by the concept of an object... one derived from a class... a class that is premade in TV3D, or one that you can make yourself...
...so, in TV3D, an object is more than just a mesh... it is a collection of mesh,animation, tetures, functionality, and whatever else is built into the class it derives from... and by this very aspect, it has it's own Move functionality (method), which not only will move it, but will also trigger the corresonding sounds and animation as well...
most likely, you will call MyActor.Run or my Actor.Walk methods as opposed to MyActor.Move
the whole mindset is different than Blitz.
while the lil code snips i put up are not real TV3D code, they serve to illustrate what you are asking... you can download 6.2 and use it to see what it's all about... it's open to the public... that'll probably be the best way to see if you are comfortable with it or not...
these are examples of 6.2 VB code for TV3d
Option Explicit
' Global Declarations :
Public TV As TVEngine
Public Scene As TVScene
Public Inp As TVInputEngine
'The teapot and its texture
'Public SphereMap As Texture8
Public Teapot As TVMesh
Public isRunning As Boolean
Private Sub Form_Load()
Me.Show
Set TV = New TVEngine
Set Scene = New TVScene
TV.DisplayFPS = True
TV.SetAngleSystem TV_ANGLE_DEGREE
isRunning = True
...
...
End Sub
as you can see.. it looks a lil like 'MAX code :)
anyways, it runs in VB6, c++, Delphi, and some dotNet languages...
i hope i've been of a lil help... i really haven't had it long enough to give out many specifics as far as coding goes... but this should give you an idea of what's going on...
--Mike
.....*Yoink*
Cygnus. There are 2 godbooks out and a 3rd on the way thats supposed to be the best of all.
The current ones avaliable are:
3D Game Programming all in one
850 Pages by Kenneth C Finney
Advanced 3D Game Programming all in one
650 Pages Kenneth C Finney
Both can teach you a lot about engine design. And the first is a good introduction general purpose reference manual for using the engine.
..HAHAAHAHAHAHAH...Cygnus.... :))
Evak... have you looked at the schedule() function for setting up looping events and stuff...
otherwise, i think you might need to access the engine code for the game loop...
NA... don't encourage 'im :)
--Mike
yeah, I don't own Torque, so I can't actually change the source, just use whats avaliabel in the scripting. I just like the way that Blitz3D works for the most part, and making any adjustment is a bit of a pain.
I've already been asked what people would think if torque had a more basic like scripting, but not all basics are alike, and what really stands out in blitz3d for me is the entity system.
Do what I did. Buy an engine, shut up, and get to work.
I bought Cipher and even if it's not the most advanced and I'm making modifications, I'm not going to switch engines and kill the project because this is the engine I chose and everything is made with this engine in mind.
http://www.projectoffset.com/technology.htmlRead about this upcomming engine in the lastest CGW.
In the interview they(devs) say it will be opensource.
(I found no verification of that on the forums)
If thats a SDK for mods like unreal/quake or the actual engine, I do not know.
unfortunatly this site is more about the game being made Rather than the Engine.
I checked out the video's they look nice , but they dont really show the Engine functionality.
According to the Article in CGW, its supposed to be a Artist freindly Shader driven engine.
might be worth keeping an Eye on.
Zmatrix
go squat on a mushroom... and tell us a bit about Cipher...
... why dont ya :)
--Mike
Doesn't torque cost 1000$ for commercial releases? Well then think about the (fanfare) famous CSP FPS Game Engine. At least this one is a Blitz3D product.
Doesn't torque cost 1000$ for commercial releases?
You don't qualify for a commercial license until your income reaches $250,000, by which time I rather suspect $1,000 for a license will seem like money well-spent.
Its 100$ for indie projects , if you make more than (I think) $250k you will have to buy the 495$ commercial license.
Used to be like $10,000 , then one day they suddenly dropped it to $495.
Zmatrix
All this talk of Torque has got me interested. It could be very useful for a little FPS deathmatch game I've had on the back burner for a while. I'm just wondering how heavily I'd have to get into C++ to get things working? Can you get most things done in TorqueScript for a simple game and how like C++ is TorqueScript? As I'm not the biggest fan of C, in any form.
Used to check up the Q Engine
http://qdn.qubesoft.com/and Nebule Device
http://www.radonlabs.de/nebula.htmland they are really nice, but hard to master, I chose to stick to Blitz3D and wait for Max3D out.
btw, CSP is pretty nice IMO.
TV3D is one of the best engines out there for real game developement. Lots of others that are more expensive do not have the ease of use and power.
BUT... it does have a few limitations that 6.5 has finally removed, and with Advanced Shader support its very nice.
Networking engine that is coming is going to be excellent.
Oddball, within Torque script you can do everything you need for your FPS deathmatch game..as support, when you purchase Torque, you will get additional free FPS starter kit, with all things for FPS game you need...you can get very easy Torque Script and make it work...and of course Datablocks 'approach' within Torque...and forum is very 'newbees user friendly'....
I used Ogre3D for a while and it was pretty nice, Once you get around how the classes and stuff works its really quite simple. I then moved on to OpenSceneGraph after hearing good things about it from some of the DevMaster goers. I still havnt got anything set up but I'm feeling confident this time.
I've tried nearly every 3D engine you could think of in the last 8 months. Its hard to find something that to you personally has the right 'feel'. I probably cant remember all of the Engines I've used (well made a rotating cube in) but here I go:
NevRax, Ogre3D, Irrlicht, Nebula Device, CrystalSpace, kjAPI, Torque, Q Engine, Java Monkey Engine, Antiryad, Realmforge GDK (Formely Axiom), Yake Engine (Based on Ogre), IrrlichtNX, 3Impact and 3dRad.
You know in my situation it sucks caus' I cant just find something and use it. I have the constant urge to change so frequently I dont get crap all done. It really really sucks.
oddball , If its a deathmatch shooter you want to make, then yeah go for it.
Even I managed to get something network playable out of torque..And I have 7 min attention span..lol ;)
You can script most everything needed for a firstperson shooter. weapons , vehicles, items ect.
I suggest you get the lightpack aslo, torques render quality is pretty ugly without it.
I have the same problem Leiden , but im just a hobbiest..Im not trying to be a dev.
Ive recently been playing with "Apocalyx" , pretty easy to get going in, (I havent tried to make it shader driven yet, just used the FFP)
Fully accesable Via Lua script , has ODE,clothdynamics, particle engine, ect
lacks much in the way of model loading, Bsp3,md2,md3,cal3d and a "light" 3ds loader (Ive only been able to get a single surface mesh to load)
The biggest draw back is no community what so ever..
something to mess with, I still preffer B3d atm :)
Zmatrix
Zmatrix: I think i've heard of that one before, Dont remember using it. Yeah Blitz3D remains the only language I can open up and make a program without really thinking too hard. I would like to move on to something more advanced but It's so damn hard to find something, theres just so many mainstream engines availiable, not to mention free ones :S
What about 3dGameStudio ?
Did anybody try it?
i think it's a waste... nice lightmapping built into engine, but that's all... nothing really seems to work... shaders are a mess... networking wasn't working... fanboycity forums on the site... you'll waste plenty of time and money with 3dgs... trust me...
--Mike
The most valuable thing I got out of the time I spent learning 3DGS was a link to blitzbasic.com
Still, 3DGS is better than DarkBASIC. So, y'know, it isn't the worst game dev tool around.
The most valuable thing I got out of the time I spent learning 3DGS was a link to blitzbasic.com
LMAO! :P
What about 3dGameStudio ?
I used it for two years, while it's possible to create a decent game with it, it'll take you about 5 years to do so (the one game that was decent for its time, Glider, has been in development for 5 years now and it still isn't released). There was another game, Josef's Tear, that switched engines due to limitations if I'm not mistaken -- it looked great but apparently it ran so poorly it was impossible to use 3DGS.
They have shaders in now but apparently the support for them is appalling. Physics are done with ODE, I've seen a few demos and nobody has done anything good with it so I'm hesitant to say that it's a proper implementation.
For the $200 ('Commercial') edition, you get to have 1 physics object in a level, 4 players in multiplayer (Wow! FOUR!? That's amazing! That's almost 60 less than Tribes 2! Boy gee golly gosh their engine is advanced!), you don't get render to texture, you don't get mirrors (which need render to texture or a mirror portal), and you are required to advertise their software on the game startup. If you want more, you have to shell out another $700.
So unless you plan on making very generic, ugly, slow, badly supported software I advise staying away from 3D GameStudio.
well FWIW I use Ogre3d. Free, crossplatform, exporters for loads of modellers, easy to program (also has optional 'pyOgre' for python). Being just a gfx engine is actually nice as there's no crap to wade through. Just use Raknet or something for networking, 'OgreNewt' for newton bindings (or other physics binding that are about)
Or I'm looking at www.yake.org for a game engine that abstracts ogre and multiple phy libs.
Hello
Thanks for your comments about 3dGameStudio
I have never used it , so I am not in condition to argue with you
However going through the documentation , it does not seem to be so bad..well even DarkBasic, actually...
Red Ocktober, claimed that The Blitz3D entity based ,architecture is close to a C++ programm.
I agree, but from this point of view 3dgs is even better.
They supply prefabricated structures (better the types), pointers and "actions"
Actions are the same as C++ methods or even better for a game programmer,as a matter of fact.
Noodle Cower claimed that shader and phisics are not good..
Well Blitz do not supply these features , so...
Anyway I read simmilar comments as yours also from other sources.
Might you provide to me some more details exlaining the reason why , in your opinion it is a more or less a useless tool?
Thanks in advance
oookaaaayyyyyyy... go ahead and license it... but remember, you've been warned...
... by people who have already been there
--Mike
Here's a picture of me using Cipher.

I really do love Cipher.
hey Noel... that shader designer thingeee... is that a tool in Cipher for doin materials and such???
--Mike
Yes.
Here's a picture of me using Cipher.
Actually that's a picture of Cipher being used by you. Unless of course you look like a door with rocks at your feet. :)
*Awaits mocked up picture of door with Noels face on it*
well Noel... can ya give us a lil bit of info... what does it do... what other tools... ya mushroom squattin' cipherious user you... :P
--Mike
www.cipherengine.com
Read, y'lazy old fart.
been dere... read dat... still be nice to get some first hand info...
ahhhhhhhhhhhhhhhhhhhh... never mind...
--Mike
Use the RIGHT tool for the job. Often this is the tool you know best, but that doesnt make it the best tool for the job.
I'll stick with TrueVision...
Screw that....stick with Blitz.
TrueVision aint so bad compared to 3DGameStudio and DarkBasic Noob.
I don't think anyone has said anything bad about TrueVision.
Frankly, TrueVision has a solid API and engine, receives frequent updates, and the developers communicate a lot with their customers. In other words, the opposite of what Blitz Research typically offers.
*Rimshot*
The 5.8 update to Dbpro actaully sped it up render wise.
(alot ,enough to make the same 30k model run faster in it than B3d)
But theres still lots of bugs,, blend modes still do not work right, collisions are a pain.
With minor tweaking was able to get some HLSL shaders to work, still not quite stable enough for prime time IMO.
Zmatrix
TrueVision has a solid API and engine, receives frequent updates
The last TruVision update? Over a year ago.
*Double Rimshot*
TrueVision 6.2 has been stable and bug free for a long time now. 6.5 is coming along soon and pretty well, with updates every months.
If you buy Truespace 6.2 you get to use the 6.5 beta which is much much more technilogically advanced.
Noel: Trom bought up TrueVision.
6.5, from what I hear from all the people who have it already, is near identical to 6.2 except for the speed and built in ODE physics.
I took a look at the truevision 6.2 demo. Can't say anything for 6.5. But in regards to the demo, I didn't see anything you couldn't knock out in a couple of days in Blitz3D.
well..I do agree with Evak..Blitz3D have much more better and impressive demos than TV3D 6.2, by now I didnt seen any program/game done in TV3D 6.2 what can compete actual works done in Blitz3D. Appart from better features list, I cant see anything 'in live' whats more imressive than stuff done already in Blitz3D, in comparison with TV3D 6.2...for version 6.5, they also offering excellent features, but we will see actual demos...
6.5 is a major step up from 6.2 caus it adds things like shaders, more advanced rendering etc. I agree that TV 6.2 is alot like Blitz3d, but Tv is being worked on so no doubt it will gradually surpass anything Blitz can do natively.
I didn't see anything you couldn't knock out in a couple of days in Blitz3D.
Yep, I made that point over there when it was stated that people who use other RAD type engines were "stupid". None of the TrueVision demos nor any project "announced" was really of anything impressive, but of course that ended up with my thread getting deleted by the mods ( i guess to make sure no one else found out :P ).
Well, its true that 6.2 and Blitz are pretty much the same, 'feature wise'. But, at the time, I did some basic stress test between the 2 engines, and TrueVision was/is between 1.5 - 2 times faster.
Have to pretty much agree with Mike on 3Impact. The API is really nice. It's very easy to use. Every bit as easy as Blitz with a little work. It has some nice features Blitz doesn't, and yet it's missing basic features like vertex colors and even the most basic multitexturing. If the type of game you're making fits with it, it's fantastic, otherwise, you might well think it's absolute junk. It's completely unsuitable for the game I wanted to make with it, and yet it'll be perfect for another game I had no idea I wanted to make until I bought 3Impact.
It's not entirely the developer's fault that there are big holes in 3Impact. As much as anything, it's down to the userbase. A big reason that Blitz3d became what it did is that Blitz3d had a big userbase of knowledgeable users, talented artists and good programmers. They told BRL what they needed at an early stage. 3Impact doesn't have that. With the exception of Mike and maybe two or three others, most 3Impact users are not very experienced. Most of them will never finish a complete game and have no idea what's required to do so.
I rather think the same applies to TrueVision, to a lesser extent. I think it's a much more capable engine than it appears. It has a more knowledgeable and more experienced userbase than 3Impact, but it doesn't have the userbase that B3d has. It underachieves in exactly the same way that 3dGameStudio and DB Pro *over*achieve thanks to their userbase. I'm not up for paying to beta test 6.5, but I will seriously consider buying 6.5 when it's finally released.