Just wondering if i can get some input as to the pro's and con's of any inexpensive/free game engines any of you have worked with.
Me and a few other graduates from a 3 year animation program are looking to put together a fairly small and simple independent game to enter in to some competitions, and we've been doing some research as to what would be a decent engine to work on, and we're not too certain what we want to stick with yet.
Preferably we'd have a complete game engine and not just a graphics base like ogre, since we only have one programmer and we don't want to put a ton of weight on his shoulders to assemble an engine, then a game on top of that.
So far we're leaning towards Torque, but at this point, anything will be considered.
Genre is as of yet not entirely decided, but we know we wont be doing anything like a first/third person shooter, leaning more towards an adventure/rts.
Thanks for any input.
Replies
I've had nothing but pure bliss working with it. For an artist you can download the entire engine can get started immediately with no charge at all - the only charge is for the source code per programming with the standard license($350).
Granted, you need a license to release a game, but you can read more about it on the website.
It's wonderful and support is A++.
http://www.neoaxisgroup.com/ - based on ogre but with complete toolset, has free and low-cost versions
http://unity3d.com/ - quite complete as well, has webplayer plugins, edit: finally has dev tools for both mac and windows.
http://www.panda3d.net/ - nice and seems most beginner friendly, technically not as advanced as the others, but if it does the job, I'd go here first...
torque well there has been so much for and against it, my personally opinion is more biased to the negative, ie there is better alternatives nowadays.
What you are wanting to make with it is also important. The available engines for FPS titles are very numerous. If that is the route you are taking, you might consider the...
Platinum Arts Sandbox Game Maker http://kids.platinumarts.net/ - this is an open-source FPS game engine that is essentially a modified and expanded version of the Sauerbraten (Cube2) engine. It has decently low system requirements, but offers options for more advanced shaders and graphical features. One of its biggest advantages is the ability to co-operatively edit levels within the real-time engine over a network. Recent updates have added functionality for more advanced gameplay features, such as NPC interaction. Although it would be possible to modify this for different gametypes, it is primarily focused on FPS development.
If you're willing to wait, I would also second CrazyButcher's Unity 3D reference. I've read over some of their tutorials, and their game development system sounds really easy to use. The biggest drawback right now is that the dev tools for Unity 3D are Mac-only. The next major release is going to be bringing Windows support for the primary toolset. One of the biggest advantages of Unity 3D is that the engine it uses is VERY cross-platform compatible. It runs on just about everything, even the Wii and iPhone. So a game developed using Unity 3D can be distributed to the widest user bases available with much less trouble or modifications.
Irrlicht 3D http://irrlicht.sourceforge.net/ - a light-weight 3D engine that also features some decent tools. It leans much more toward the rendering engine department, but getting a game running in it would not be too difficult for an experienced C++ programmer.
I'm really liking the look of C4, at least in terms of the tool set. The fact that i had a model in engine under 5 minutes was really encouraging.
The only lingering appeal with the torque package is the sample genre kits.
http://www.garagegames.com/products/browse/genrekits
I'm sure all of the things included are really basic examples, but it would be a nice jump start to not have to deal with basic things like setting up cameras and basic Gui's.
I guess i gotta sit down with my programmer and have a long chat to weigh out the options
eye-candy stuff (shader model 3.0 min specs), but will require programming skills (similar to C4).
Mentioning this engine. Very much a WIP though. So no eye candy. Zen game engine..
http://www.indiezen.org/
Want to ask, with the above or another more slightly expensive engine. Seeking one with good physics support with at least shader 2.0, networking, and optionally available to use OpenGL. Vehicle specific physics support especially.
Unity seems the best bet, but as mentioned, the PC version is not available yet. Looked over yours Crazy Butcher, but as you say, not ready for prime time yet.
The problem with unity is the differences between indie version and pro version
Neoaxis seems to be a good alternative... and i'm waiting for the torque3D release too.
I'm going to have to agree with oXYnary, Torque is absolutely horrible.
an indie engine besides Unity but same-ish quality? (artist-leaning
in terms of the programming capabilities wouldn't hurt)
is that engine features, or toolset?
http://www.stonetrip.com/
has iphone support, too
But yeah, avoid Torque. It's a right ball-ache.
For those who dont want to get into hardcore coding, I would suggest to have a look at panda3d, and (once we finished our editors) luxinia hehe... If I compare what one can do with luxinia and unity technically there isnt much difference, and you have to pay for a lot of stuff in unity (render to texture...) Whilst we offer a open framework for implementing custom rendering stuff. Where we lack is a nice clicki editor and more sample shader/sample post fx... But at least we dont enforce any hard limits like the others do.
What I totally hate is those that lock the documentation and tutorials away to paying customers, one doesnt really know what you get. And nice screenshots and feature lists that are more or less the same for all engines (just presentation differs) doesnt really show what you get.
Thats often something to consider, some engines have more "stock" effects, but dont allow customization or access in detail, or cost "more" if you want... Some lack editors, but the overall coding might be easier to just make a simple custom editor yourself... (heavily depends on what kind of resources one has)
One could abuse 3dsmax or whatever as editor and invest into a maxscript that exports the relevant data, and voila no real need for another editor inbetween... of course all depends on what you really want to do and what human resources and skills are around...
Thx for sharing!
I've read up a little more on Panda3D, and it's feature set is quite impressive. It's biggest drawback is that it doesn't have much in the way of editors, and it's content pipeline is a bit more complex to work with. (it's compatible with a bunch of different 3D programs, but requires conversion into a native format)
Unity has some of the best editors, and their content pipeline is extremely easy to use. (most formats can be imported directly) But they hold back a few valuable features for the pro version, which is considerably more expensive than the indie liscence. And until they get their software on Windows, the editors are all Mac-only.
It is very encouraging that so many promising options are now open to indie developers.
I guess I should have made it more clear that I was looking to develop for iPhone
from a PC :poly124: ... and yeah, specifically with a tool that hand-holds
non-programmer types (for instance, I've got a minimal understanding of scripting
and general C++ type coding, so WYSIWYG graph connecting logic would be
ideal as a replacement for raw coding for me).
I wonder why more indie engine devs haven't targeted iPhone development with PC
tools, as it would seem to be a pretty big market draw...
The official SDK for the iPhone is only available for Intel-powered Macs. It is possible to create Windows-based compilers for iPhone applications, but you will have to have an Intel Mac for virtual testing.
Also, the iPhone's SDK hasn't been out for very long. It's actually quite surprising that so many indie engine devs have jumped on it this quickly. Unity and Shiva are two of the most complete packages that support the iPhone. Of those two, Shiva runs on Windows, and Unity will likely run on Windows soon.
One of the drawbacks of Shiva is that it is extremely...French. I'm not attempting to knock France with this, it's just that the program is developed in France. It wasn't until recently that they finished translating the documentation for the software into a language other than French. And their on-line store is set up to only list the price of the software in Euros.
Which brings me to another drawback of Shiva. Shiva's pricing structure is decent, but the difference between the cheap and expensive versions of their liscence are not explained very well on their base website. I'm sure if you went through their forums you would be able to get a much more accurate picture of it. But that's the sort of information that should be easy to find. On the plus side, their indie liscence goes for just a little more than $200 USD. Very reasonable, even if some of the features are missing. The only limitation on the PLE version is that you can't publish your projects into executables.
The day when I can write code on Windows, and deploy directly to the iPhone, I might jump all over that.
i recently had a falling out out with source and unreal engine 3 and my machine aint good enough for cry engine 2 so i am ENGINE less right now.
i wanted to go back to orge which is what i used at wmi when working on "alliance the silent war" which is now canceled because of their newly begun work on second life but ogre is an exclusive coder club if you don't have 10 programmer friends to provide all the tools and guis for you you as an artist/content-producer are not welcome in the world of ogre!
the lack of a general purpose scene editor is really what holds ogre back if you ask me.
now after reading this thread i am really interested in trying panda and c4
and i agree with everyone who said stay THE FUCK away from torque
The real objective is to find a Windows-based editor package that has some iPhone analytical tools. That way you can get an idea of how your game will run on the iPhone without publishing it. Also, you have to sign up for an iPhone development account before you can test directly on the iPhone hardware itself. (Apple won't let you transfer apps on the iPhone or iPod touch without one of these accounts) The SDK provides a little "virtual" iPhone that runs on your Mac desktop.
Warby: Pada3D is similar to Ogre in a lot of ways. It is not terribly friendly to the casual artists, and I don't believe it has its own scene editor, but I might be wrong. On the other hand, it uses Python instead of C++, so an artist will likely have a lot easier time coding for it. And it does have a lot more functions for GUIs and such. Generally speaking, Padna3D provides a lot more tools for actual interactive application development than Ogre3D. (which is primarily focused on rendering) Also, Panda3D is blissfully free. If you're willing to get your hands dirty with some Python coding, it is definitely a viable option.
Make sure the features that the engine purports to support actually exist! A few years ago, I tried using Irrlicht, but soon found out that the advertised skeletal animation support was nonexistent. It was very hackish, and it just played the skeletal animation data back as if it was an MD2.
None of the features that made bones worthwhile were in the engine. You couldn't share a skeleton over different models, and you couldn't alter the bones at runtime do do simple things like have a model's head track an object.
It suffered the same disease that a lot of free engines suffer. I call it Quakeitus. It was designed by someone who downloaded the quake source, and overnight because an engine expert. Which means it could load Quake files types and render them out, but really, you couldn't do fuck all with it. Eventually the engines add features, like loading new file types, but they just get shoehorned into the old quake-like structures. Of course, mentioning this on the forums only gets you a 45 paragraph scathing retort by a freetard who doesn't know what he is talking about. (Quake 2 didn't do that!? SO YOU DON'T NEED IT!)
So I dumped it after a few days because I couldn't get the animation I needed, and in order for it to be a properly behaved windows app, I'd have to had reprogrammed the whole windowmanager portion from scratch.
I looked at another OSS engine, and the dependency list for it was a mile long. You need like 500mb of external libraries just to get it to compile! To hell with that.
I've posted a lot of skeletal animation feature questions when people post their engine announcements on GDnet and I often get no answer, or the engine programmer is confused, because they have no concept of 3d animation other than fixed MD2 like animations (even with skeletons).
So before you pick an engine. Make sure that you know all the functionality that you need, and make sure the engine is actually capable of it. Also make sure that functionality is really there, and not some shitty workaround someone on their forums came up with. E-mail the developer and tell him what your intentions are, and see what he has to say about it as it relates to his engine.
Make sure that other users of the engine are actually getting results making REAL games, and that they know enough about it to answer any questions. Especially OSS engines. You'll find that 80% of the users on these forums are only there to recite the GPL forwards and backwards, and put together experimental feature demos using free models they found, and making anti MS jokes. Not really the crowd you want to ask for help. They have big opinions, but often don't seem to know fuck all about anything.
Last time I checked out Panda3D, they were using FMOD for sound. Which has it's own separate commercial licensing, making Panda3D not really 100% free, unless you use your own external sound library. This may have changed. However, it's a good engine and has been used for 2 published MMOGs. You can play a Panda3D game here.
The next version of Unity might actually have the functionality you are describing. But we'll have to wait until its out before we know for sure.
That is a pretty mean statement, if you ever had looked at source files from irrlicht and quake, you would see there is nothing, nothing at all in common. Irrlicht is a pretty good engine, not as bloated as others, okay not as feature rich, but still, relatively clean, it is not ripoff and has a complete different architecture.
The main problem with those quake formats and the whole 3d format stuff is that oss engines or low cost stuff, typically has to assume no 3dsmax around, cause if there was a 3dsmax license you could afford higher cost engines
I ran into the same problem with luxinia, implementing milkshape and blitz3d file conversion along with md3 and quake3 bsp, simply as those seem widespread (then again one may listen to the wrong people hehe). Oh and I still would have to do the blender exporter... At least it's one concern people have, how do I get my content in the game... for the future lesson learned that the past stuff was wasted time, and I would say fuck it, its obj & fbx conversion (sadly fbx isnt rock solid itself either) and 3dsmax exporter only (which I actually had done first thanks to another coder). Better get the mainstream right. And sadly I cannot afford paying for maya and xsi as well just for exporter coding...
The reason why q3 formats are so widespread, is simply that they are also widespread as exporters in nearly every "somehwat game related" modelling tool. Which means from wings3d to milkshape to blender to max and maya you will have exporters for it...
C++ is an object-oriented prog language, and irrlicht is pretty obj oriented engine compared to something like quake3. But I think you may have meant more "high-level" languages.
btw artists really shouldnt be the ones picking an engine alone, they will always go for something with the nicest screenshots and something that has a fancy looking editor :P whether that editor makes sense to a coder having to implement the logic or not is secondary, like gui editors that allow tons of tweakables (think 3dsmax) may be nice for an artist not having to write code, but horrible to a coder who must dig thru menus for stuff he could write in a single line. While coders alone, of course will ignore the content pipeline mostly
I did actually mean more "high-level" languages. But it is also true that C++ is not, as a programming language, object-oriented. C++ simply offers support for object-oriented programming. But the language itself is very much geared toward traditional procedural programming. The origin of C++ was simply an attempt to add object-oriented to C. (as well as a few other features)
Much of the higher-level languages, such as Java, C#, etc... are object-oriented at their core. In C#, the entry point for the program is a specific object. It isn't possible to create a C# program without instantiating an object. In order to use object-oriented code in C++, you have to muck around with complex header file references and intricate access modifiers. In most of the object-oriented langauges, each indiviual file represents a new class. Reference the class, and you reference the file.
Setting up an object-oriented programming in any of the higher-level language isn't just easy, it's required. It's how those programs are written from the word go. Setting up an object-oriented program in C++ is a nightmare.
Another fault of the Irrlicht engine is another point I forgot to put in my advice. DOCUMENTATION! Doxygen Dumps of the header files are not really documentation.
C++ is all about OOP, and the version of it that is "C WITH CLASSES" has been dead for a decade now. Many higher level languages have no concept of OOP has they are functional or procedural.
Irrlicht is an OOP engine.
I've been programming since the mid 90s, and was going to try out Irr to save time on a project. What I found was everything I warned people about in my previous post. No different than what it was years ago. Even more funny is the developer's blog where he writes long rants about MS breaking his engine, when the real problem was that he was using a broken 3 years out of date version of his IDE.
The engine was very poor for anyone not working on a low quality Quake-like FPS. And having to rewrite the window manager and then write a whole new skeletal animation renderer over top of it, made the rest of the engine needless.
To put it this way these are the things I want in a game engine:
- Pathfinding.
- Easy importation of assets.
- High level scripting, with a decent amount of depth.
- Good shader support, doesn't have to be complicated.
- Clear GUI implementation.
Its hard to find the balance between an authoring tool and a completely hands on game engine. Too much programming would eat into 3D art.
NeoAxis has a lot of what you say you want. The asset pipeline is reasonable, and has exporters for a lot of different 3D packages. It features built-in pathfinding for their terrain system. It has its own scripting system for adding simple game logic and sequences. It's renderer is a modified version of the Ogre3D renderer, so it has plenty of shaders and special effects. And the GUI is decently implemented, and is even incorporated into the asset system they use.
With the time I've spent on NeoAxis, one of the features I liked the most was the scene editor, and its handling of cameras. NeoAxis has one of the easiest camera systems I've seen in a game editor. You can set up as many cameras as you want, adjust their FOVs, create paths for them to animate along, and all within the scene editor.
As far as asset pipelines, you have the Blender Game Engine, which basically makes a game out of what you modeled. I'm not sure of it's capabilities though.
The reason I like C4 the MOST though, is the FULL SOURCE CODE license at $350 -- You can't get that anywhere else, sorry. You also get FREE updates for life -- It's just a crazy deal.
I think i'm sold on it, but i'm gonna try and throw some more complex ideas at it and see what happens.
i just checked out the tools and they seam solid too i am not used to everything yet but i am sure i can make this work for me
Richard: I'll check it out.
http://unity3d.com/
I was gonna check out C4, but their sites seem to be down right now. It sounds promising, tho.
Thanks to everyone
also never use torque
so my mini review of the pro version:
-the dynamic shadows: i was specifically interested in the directional / sun light shadows and wanted to see what happens to my framerate if i let it cast from everything onto everything in my world. the result looked really good but the frame rate in my game went form 150-250 fps to 15-25 fps and no matter how much i like the look of the 4cascade shadows lowering your framerate 10 folds aint acceptable ... there were many options to tweak for the shadows but going form the very best of the best ( which looks fantastic) to something that looks absolutely horrible and broken it only yielded a 3-5 frames difference so there is no reason to go with anything but the very best if at all. also important to note is that no every shader nativity supports shadows anything vertex lit / vertex colored doesn't seam to support the shadows at all. my game uses a cartoony art style so i am going for the cheapest shaders possible because that yields the best look for me and that doesn't work with shadows.
reflective /refractive water:
-i couldn't get it to run i have yet to figure out what i am doing wrong
bloom/postfilters:
well they work ! and they don't cost a lot of performance. ! the bloom post filter had only 3 sliders to tweak one of which didn't seam to do anything. i had a bit of a tough time to tweak something that i thought looked good ... in the end no post filters at all looked best to me.
so i am going for the indie license
4 gigs of ram
geforce 7800 gtx
It can be possible though to be a jack of all trades master of ONE right?
Very, very dissapointing on the artist integration side. It´s incredibly tedious and annoying to get something in there, you have to export in sequence through at least 2 different formats, and then the "material" system is very unfriendly to use.
I really wouldn´t recommend this one.