PDA

View Full Version : Looking for a "Best Fit" 3D game enigine.



jasonf
05-09-2007, 08:35 AM
I'm looking into the best pre-fabricated 3D engine for my next game project.

I need an engine which does the following.

:!: Decent Physics engine.
:!: Unlimited terrain, procedural or tile based.. but 1000's of KM's
:!: Advanced materials using shaders etc
:!: Really nice water.
:!: entities within entities... i.e imagine a moving train and you're walking through it, or running around on top of a moving truck, or moving around in an airplane. basically there will be moving entities which cannot be static geometry in the scene, I cannot cheat by moving the scenery as the entity movement will be dynamic.
:!: AI and pathfinding.
:!: Networking, including networked physics.
:!: Built in 3d sound support and music.
:!: Decent scripting with triggers, timed events.
:!: NPC conversation system with inventory support

Is there anything like this on the market at the moment which is pretty much ready to go?
Will 3Impact do this?
Will Air do this?
Are their any other options?

I've got an idea for a game and if it works, it's going to be quite nice..but there's a lot of work to do just making art assets and scripting, I don't want to and don't have the time to write or debug an engine.

Paizo
05-09-2007, 09:18 AM
u may take a look here: http://www.realmcrafter.com/

and what about quake related open source project such as openquartz, tomaz, etc.. ?

jasonf
05-09-2007, 09:46 AM
I'm not writing a MMORPG, but realmcrafter does look interesting.. I'll have a bit of a deeper look into it later.

I can't use the Quake related projects because I plan on making the game commercial and anyway Quake is very old tech now... I also don't want it to be room based. things will be moving around too much for statically lit stuff to work very well.. I'm also considering Day & Night cycles.

A question for Savage: It's a little OT, but I remember you posting something about a ragdoll physics system once which responded to changes in the terrain beneath the character making it attempt to regain balance.. it was a very basic video demonstrating the tech, do you remember? I'm thinking of implementing something like this... I need to be able to run and jump on moving objects which could be moving quite violently, so the sprites need to compensate realistically.

WILL
05-09-2007, 10:05 AM
This is the features list for the AIR engine... http://www.artificial-reality-engine.net/features.php

Apparently it uses GLScene for it's graphics. Last time I checked (pretty recently actually) GLScene seemed fairly extensive with 3D animation features.

Are you looking at 1st or 3rd person?

jasonf
05-09-2007, 11:39 AM
I've not decided upon 1st or 3rd person perspective yet, I think that 3rd person is best for an adventure type game and won't need quite as much detail as a first person game on account that you're always further away from the objects you're interacting with. But with 3rd person, you can get intp tonnes of trouble with a badly implemented chase cam...

It's a decision I've not made yet. Just like the direct control or point & click control decision.

I've looked at the features list for Air before, but they don't really tell me a lot.

jasonf
05-09-2007, 12:12 PM
I've just taken a look at genesis device and if they have a release soon, that might be the way forward... But I need a demo to see if it's going to do the job.

I'm hoping that Genesis device will allow truly huge fractal spherical worlds, where I can travel for hours and eventually come back to my starting point.

NecroDOME
05-09-2007, 03:52 PM
That sounds like my new 3D Game engine :)

Did you consider Necro3D Game Engine? It doesn't have all features, but I would like it if actually someone would use it :)

jasonf
05-09-2007, 04:44 PM
I'm quite interested in using L3dT terrains, I've just checked out the demo and it looks very promising. If I can make really large terrains, they'll do as islands.. that is if the engine I use can handle multiple massive terrains and has realistic water (I'm asking a lot aren't I but the world does have to be massive?) But still, I want to write a cool game, I've got ideas in my head at the moment and I don't want to waste energy implementing a load of stuff. There's enough work to do on the game as it is.

The Necro engine appears to have lots of cool features, but some of the ones I want seem to be in the Todo: section. Unless the web site hasn't been updated for a bit.

I have quite a specific idea for what I'd like the engine to be able to do, but as I'm not even thinking about coding yet, perhaps you could implement them all eh? :wink: :D it'd make for a damn fine engine..

NecroDOME
05-09-2007, 05:04 PM
The website is still up-to-date... We stopped developing the "old engine". I think the things you want to see are shaders, physics and better scene management.

Necro3D Game Engine is not yet able to render huge outdoor stuff in detail. You can use meshes with LOD for terrain, but to much work to make (and it would also work crap).

Firlefanz
06-09-2007, 07:20 AM
Hi Jason,

You can also do a lot with DanJetX. I did Bouldermouse with it and The Innominate also uses it. There is already Landscape (also with animated grass), Materials and Shaders and most things you need. Dirk did a sample using Newton for physics...

DanJetX here:
http://dan.mirgames.ru/

My projects here, take a look at Innominate and Bouldermouse screens, both done with DanJetX.
http://www.magicstorm.de/

Dirk also uses this so if you decide to use it, we could help each other.

Paizo
06-09-2007, 09:04 AM
i won't to obligate to you use quake engine but in case u don't know there was a lot of conversion for car racing, aircraft fighting, soccer, etc...
plus there are different open source engine based one with bump mapping, colored light and other improvements

i didn't check the status of these projects recently but i think they are consistence.

don't forget the huge amount of editors u can find for textures, skins, maps, quakec etc...

the problem is the license :D

btw hope u'll find what are u looking for and remember to keep us update ;)

jasonf
06-09-2007, 12:52 PM
Note: this reply contains rather a lot of assumptions as to research in detail the things I'm kindof aware of would take a lot of time. Please feel free to correct me if I'm wrong.

Since the quake engine was open sourced, there have been lots of hobby projects using the code (including the conversion projects to other languages including pascal), this is great, John Carmack's gift to the coding community, which I deeply respect.

But there are a couple of reasons why I can't use a quake derived engine.

1, first and foremost.. License. Quake or any works derived from quake source (including conversions) cannot be sold commercially without first paying iD a whack of money. (AFAIK Id used a dual licence for the source GPL and commercial upon request ) This is fair saying as they did all the leg work in the beginning.. and doesn't apply if you've written your own engine using techniques learned from the Quake engine as long as it's not copied. But I'm not about to do that. I don't have the time.

2, It's based on technology which is over 10 years old. If new technology has been bolted on, it was added as an afterthought to achieve a new visual effect (apologies if anyone has seriously re-engineered the engine to take the best advantage of recent shader advances, but I'm not aware of it if they have).

I'm looking for an engine which will be ready for integration next year. I'm just researching my options at the moment. If there's an existing engine (even if it's commercial, just not too expensive) I'll consider it as long as it fulfills most of the requirements I have and I appreciate that they're quite severe. But then, the game is quite severe too. Even with all of the engine leg work done for me, the game I'm considering will be a massive challenge, I am under no delusions of how much work I have ahead of me, even if I manage to get a team built up to help, it'll be a long punishing slog.. but ultimately worth it.

3, I have used most of the tools which can make models and maps for Quake based games and they aren't up to what I want to do. Milkshape has not been updated to make really nice high quality meshes.. I'm looking at a nurbs modeller like Maya or Rhino to be honest and I might contract that out anyway. The CSG modellers are still lacking for making high quality meshes (or were last time I looked.. with the advent of Delgine and Torque Constructor, this may have changed)

4, Physics is very important. If something looks real but behaves in an unnatural way, it breaks the suspension of disbelief. If something looks like a cartoon, you can get away with cartoony physics. So what would be the point of crafting a really good story if people are just turned off by unrealistic physics when things look like they should work as they do in the real world.

For terrain, the best fit for purpose I've seen so far is the rather amazing but unfortunately C++ Infinity Engine http://video.google.com/videoplay?docid=-3744650885934024232 this is the mutts nuts... The second best is the currently unreleased genesis Device, but I've already spoken to the guy writing it and he's expressed doubts about its ability to do aerial shots.

I don't have Havok physics money but some of the things I've seen with Newton look pretty cool.

vgo
06-09-2007, 02:06 PM
For terrain, the best fit for purpose I've seen so far is the rather amazing but unfortunately C++ Infinity Engine http://video.google.com/videoplay?docid=-3744650885934024232 this is the mutts nuts... The second best is the currently unreleased genesis Device, but I've already spoken to the guy writing it and he's expressed doubts about its ability to do aerial shots.


Well, that's exactly what I'm trying to do with my own engine (http://www.pascalgamedevelopment.com/viewtopic.php?t=3167), but it's far from being usable for any serious game development yet, at least for anyone else besides me...

About 3Impact, you can forget that one too, I have bought a license and the engine sucks, besides it only supports DirectX...

savage
06-09-2007, 02:24 PM
Not really Pascal related, but the Valve Source engine can apparently be modded to write just about any style of game. I've also heard the same about Unreal Engine 3.0, though I have no idea what the legals involved are.

Btw, you've used GarageGames's offering extensively, why don't you want to use theirs?

jasonf
06-09-2007, 03:25 PM
That's a good question Dom, I'm glad you asked.
I don't want to use any of the Torque engines for this project because:

1, It's in C++ and uses it's own TorqueScript language for scripting (although it does have hooks to build in another language but all of the code examples use the TorqueScript language) and although very powerful, it has a fairly steep learning curve to make any kind of decent progress, although it is entirely possible to make decent games with it.

2, It's far to heavily centered on the FPS genre. I'm not writing a FPS. I've tried to modify the Torque engine to be more flexible using patches and source hacks (one good point, you get the source code) but I couldn't quite get it to do what I wanted and always felt like I was trying to ram a star shaped peg into a banana shaped hole.

3, the physics is not very good. Although it does a good job of approximating car physics and is good for a fps, in the versions I had, a lot of the physics models (notably fliers and hovercraft) were broken, or unstable. I'm sure some people could dedicate the time to getting them working, but like I've said, I don't want to spend that much time. I tried to make a hovercraft with rockets on (for a 3D Guns game) but never managed to get it working exactly how I wanted it to. Someone did submit a rigid body physics class based on the vehicle class and it worked. But it was much too heavy to use for lots of things and odd things were happening in the simulation from time to time.

4, Niggly little bugs which have been around forever. things like the guiModelView control (which may have been a submitted resource) was buggy.. and I couldn't get it working perfectly with models made from several meshes consistantly... bugs with the particle system meant that I couldn't make footfalls when the player ran along sand or mud... (may have been a particular version problem)

On the plus side.

1, It's completely cross platform. Supporting Linux and MacOSX out of the box.

2, It's easy to get something up and running quickly as long as you don't mind writing a FPS. Great for prototyping a raw concept.

3, There's a really good community who help each other out regardless of their level (much like here actually)

4, The Torque Advanced engine uses shaders and has a completely new terrain engine called Atlas. But it's still essentially a FPS engine.

5, The Torque networking system is really good and fast.. but is also the reason why the physics system is overly simplistic. There was a project at one point to incorporate Newton or ODE but it failed as soon as they got to the networked simulation part.. just as the GG Devs predicted it would.

6, The Torque engine weapon system is quite brilliant. Once you get your head around it, you can define very complex weapon systems.

Having dedicated quite a substantial amount of time on 2 failed Torque games, I think I'll give it a miss this time.

I'm a little sad that 3Impact sucks in your opinion vgo, the demos looked so promising.. and it was 3Impact's demos which made me think about trying another 3D engine.

technomage
06-09-2007, 04:05 PM
Another option J is Axiom (http://axiomengine.sourceforge.net). It's a conversion of the Ogre engine to .net (which means you can use that nice new Chrome License you won in the compo :D). It works on any .Net platform that supports MS .net or Mono (Windows, Linux and Mac). An you get to use Pascal via Chrome :).

If it's anything like Ogre it should be good. But it is only a rendering engine I'm not sure how far they got with Physics, networking etc.

I have also descovered that Tao is available on Windows, Linux and Mac as well :D (Tao has .net 2.0 opengl , SDL bindings)

WILL
07-09-2007, 12:36 AM
All the features that you list seem to be included into the AIR Engine, Jay. Have you tried it yet? And if so, what did you think? (Don't forget that even though they open sourced it, they still offer technical support for paid customers. I'm also sure that this would include the 2007 PGD Annual winner. But I'd see what Dom finds out about this.)

The only thing I haven't seen from AIR, and this might just be a lack of artists issue is higher end graphics. Would be interesting to see what LOD and effects you can get out of it.

vgo
07-09-2007, 05:41 AM
I'm a little sad that 3Impact sucks in your opinion vgo, the demos looked so promising.. and it was 3Impact's demos which made me think about trying another 3D engine.

It's very easy to do some things with the engine, but on the other hand it has so many stupid "features" that seemed to be quite silly, at least in my opinion.

Like the collisions that have to be made up of spheres for all dynamic objects (except terrain and other static stuff) and all collisions have to be compiled before using (making some stacked boxes is a real pain in the ass). You can't just throw a polygon soup at the engine and ask it to render it, no you have to load the data from a .X file first, but you can modify it then though.

However, my experiences are with the 4.xx builds, after that I haven't paid for the new versions. I think the new 5.xx series supports some sort of custom shaders and stuff, but not sure about the incredibly stupid collision detection/dynamics implementation.

jasonf
07-09-2007, 07:59 AM
Like the collisions that have to be made up of spheres for all dynamic objects (except terrain and other static stuff) and all collisions have to be compiled before using (making some stacked boxes is a real pain in the ass).

Yeah, I saw this on their site and had a brief moment of "WTF!" but I suppose it depends on what sort of game you're writing. I imagine you could make a VERY nice mario or Sonic style game with it and you'd get decent, consistent frame rates. And most of the time, objects which require physics in games are rounded.. like boulders.. but it does surprise me that they've decided to exclude everything else. How does it handle lifts, moving platforms and doors?

If they were to include different sorts of collision detection types for moving objects, then I might be interested.

I was really happy with their demos, but I need to be able to move within a vehicle which is traveling and not get stuck in the scenery or lock the engine up.. perhaps I'll have to cheat... But I'd much prefer it if the engine could allow for meshes which would normally have to be static in other engines, to move around and for the forces to be applied to the sprites contained within.

The other thing which is putting me off the 3Impact engine is it's solely for Windows. MacOSX is becoming a very popular format these days and developers would be well advised to consider it as a viable platform in the next couple of years. Macs are crying out for games and now they have Intel processors, we can very easily build for them.. it just means no DirectX that's all.

I have first hand experience of freepascal working on a Mac (well, when I say first hand, I mean, I've got a mate who does my compilations for me ;))

savage
07-09-2007, 11:21 AM
I have never used 3Impact, but always thought it was more of a quick proto-typing tool, rather than a full on game engine.

vgo
07-09-2007, 12:54 PM
3Impact is good for quick prototyping. I should probably ask around on the forums if things have changed, but it only supporting DirectX is still a very bad limitation.