• Advertisement
Sign in to follow this  

Gimme your game engines

This topic is 4639 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm taking a class in university, CS 490 BQ, which is basically me and 3 other students gaining materials for what will be CS 409 (Video Game Programming). For my part of the materials I'm gathering, I'm writing a report on Video Game Engine Characteristics. I'm basically supposed to tell what a game engine is, what it's composed of (application/window engine, sound engine, graphics engine, input engine, etc), ..., and give some examples of game engines and compare and contrast different engines and different ways to make them, and list some pro's and con's of them. Basically, what I would like is for anyone who has their own engine they've made (doesn't have to be a complete game engine, can just be a graphics engine or sound engine or whatever) or any free open source engine they've used, to post it here for me to look at the source code and compare and contrast. Also, if you could maybe list some of the pro's and con's you see in the engine that would be very helpful, as well as any games made using the engine. NOTE: Any source code given may end up in my report (I will cite where the code is from though), so if you do not want others looking at your source code do not provide it here. I've already got the game engines from Tricks of the Windows Game Programming Gurus and Programming Role Playing Games with DirectX as examples, and the Quake 2 engine, so I do not need those ones. Also, any other general comments on what you think make a game engine good, what it should include, how it should be layed out (ie. global API calls vs using classes, etc), personal preferences you have, that sort of thing would also be appreciated, just to give me some ideas. And don't worry, I can post my completed report here as well so you can all see that I'm not just using you to do my homework. Thanks

Share this post


Link to post
Share on other sites
Advertisement
Hmm... it seems to me that it would make more sense to use already open sourced engines instead of asking people to give you their engines. For example, you can download OGRE, Crystal Space, Jet3D just to name a few. All of them go into some detail on their site about the benefits of the specific engine, and all of the code is open for your viewing (I'm not sure about citing though), and I know that there are more available than just the ones I've named.

Share this post


Link to post
Share on other sites
You can download the Ogre rendering engine at www.ogre3d.org. It is open source, so you can check it out in detail. It's also fully OO and has extensive documentation. It also does input (I think only mouse and keyboard) and uses CEGUI (Crazy Eddies GUI) so you can use those (input and GUI systems) for your report.

Sorry I can't get you extensive info here, pro's and con's, but you should be able to get some easily. Try posting in the Ogre forums asking for opinions on pro's and con's of the engine.

Pro:
Object oriented, ease of use
Pluggable rendering systems (opengl, DX7, DX9)
Pluggable scene managers (Indoor, outdoor, others)

Con:
Prefers features over performance

Good luck with your report.

Share this post


Link to post
Share on other sites
Awesome, thanks guys. I would still like to hear what people prefer to have in a game engine, such as functionality vs performance, OO vs global function calls, and anything else.

Also, do you think it's worth it to build your own engines? Obviously it will probably not be as advanced or optimized as the major open source one's out there, but you would probably learn quite a bit. But do you think that's important though, since all the low level stuff you would learn is 'platform' specific (DirectX vs OpenGL, vs whatever else) and changes from release to release (DirectX 7 to 8 for example)?

Also, I'd still like to look at anyone's personal engines if they have em. If not to use in the report then just to take a gander at em. Thanks

[Edited by - deadlydog on May 31, 2005 7:21:22 PM]

Share this post


Link to post
Share on other sites
I'm still writing on my 2D game engine. And even though I've admittet do myself thta I'm a hardheaded twit that should make games and not tech, I haven't given up. See how hardheaded that is? :D I also noticed that I should've _used_ a couple of engines before rolling my own. Reading a tut here and there only gives vague of what _might_ work. So my tip is like the one above, go for open source engines that you know _work_ (i.e. there has actually been games produced with them!).

The Quake 1 and 2 engines are open source, just check Id's homepage. And I know that it doesn't use classes etc., but they use structs with function pointers etc. to emulate it so #define OOP :/

Tenebrae
"Tenebrae is a modification of the quake source that adds stencil
shadows and per pixel lights to quake."

Homeworld 1 engine

Quake 2 engine

Shogo: MAD

Mad adventure game
"Mad is a powerful open source adventure game engine and interpreter,
ideally suited for old (non-parser) Sierra-style (King's Quest,
Hero's Quest, Space Quest, etc...) adventures, but can be adjusted
to other tastes as well."

Share this post


Link to post
Share on other sites
on a second thought, forget the MAD adventure game engine I listed. There seems to be only one game and the engine hasn't been updated for 2 years.

I purposly didn't post the devmaster.net link because of the sheer number of non-finished or non-used engines.
Ogre - sounds great, but it's just a rendering engine and I haven't seen anything _completed_ with it. but it might be fun to look at?
Irrlicht - some think it's badly designed and will cave in on itself. as of now I've just seen a bunch of pretty demos, no complete games. the engine itself isn't done (1.0) yet either.
Crystal Space - this could be wortwhile looking at, it's been around a while
OpenSG - don't know if anythings _done_ with it, check it out!

NOTE: I'm not dissing these engines, I'm just pointing out that if you're doing case studies you should really look at mature stuff and not so much as "in development" even though they might look promising.

Share this post


Link to post
Share on other sites
If you're still interested in smaller engines you can take a look at Daedalus (see my sig). I've created War of the Roses with it in the Showcase.

Share this post


Link to post
Share on other sites
I never called OGRE immature. I'm talking about _finished games_ using any engine. Since OGRE just recently released 1.0 there aren't that many finished games using it. Sure there are alot of projects using it. But game projects, just as engine projects, are often started but rarely finished.

Maybe it's just me, but I would only feel an article is relevant if it's comparing engines that has proven architecture, stability, maintainability and scalability - with the most important thing: games made with it. And maybe it's just me again, but comparing full blown game engines to a rendering engine is a bit odd.

Note: <-- NOTE! --> I'm not dissing any engines here, I'm trying to sort out what would be relevant in comparing. It's still the OP's decision what will be included.

Share this post


Link to post
Share on other sites
Quote:
Original post by deadlydog
I've already got the game engines from Tricks of the Windows Game Programming Gurus and Programming Role Playing Games with DirectX as examples, and the Quake 2 engine, so I do not need those ones.


As for Q2, no problem. But AFAIK the engine from TWGPG and the one from ORPGwDX are not free software. You are granted the right to use them at no charge - I believe - but not the right to distribute them.

I believe you have to verify this with the authors of these books.

Regards,

Share this post


Link to post
Share on other sites
Quote:
Original post by Seriema
I never called OGRE immature. I'm talking about _finished games_ using any engine. Since OGRE just recently released 1.0 there aren't that many finished games using it. Sure there are alot of projects using it. But game projects, just as engine projects, are often started but rarely finished.

Maybe it's just me, but I would only feel an article is relevant if it's comparing engines that has proven architecture, stability, maintainability and scalability - with the most important thing: games made with it. And maybe it's just me again, but comparing full blown game engines to a rendering engine is a bit odd.

Note: <-- NOTE! --> I'm not dissing any engines here, I'm trying to sort out what would be relevant in comparing. It's still the OP's decision what will be included.

Several commercial games that use OGRE have been released already. More are in the pipeline. Read: *real* games with budgets yadda yadda.

-codeandroid

Share this post


Link to post
Share on other sites
I wrote an engine for a 2d sidescroller-mario style. I could post if ya want. The engine(atleast gfx and input) is pretty much done I just have no content for the game.

Share this post


Link to post
Share on other sites
Quote:
Original post by codeandroid
Several commercial games that use OGRE have been released already. More are in the pipeline. Read: *real* games with budgets yadda yadda.


Really?? Hmm.. didn't know of that. 1.0 was released so recently, but maybe if they were using it all the time and always updating then yeah that might be possible. If you know the names please post them, I'm very interested =D (the list of all projects that use OGRE is a bit big, finding finished and/or commercial among them would take to long =/ )

But still. Comparing game engines to rendering engines is still weird. But it depends on the article. If it compares "sections" of engines to each other then OGRE could be there among the Q2 renderer etc.

Share this post


Link to post
Share on other sites
Yeah, as I'm discovering the more I look into it, there aren't too many complete game engines out there, besides what comes with Game Programming books. Most are just graphics engines, or just sound engines etc. I've been able to find engines for graphics (Ogre, Crystal Space, Torque, Renderware, etc), sound (FMOD), and networking (ZIG), but I haven't found any input engines. Do most of the other bigger graphics engines, such as Ogre, RenderWare, etc have built in input engines? I've looked on their websites and it doesn't really say, and I haven't had time to look through the source code for the free ones.

I'd appreciate knowing some more of the bigger (more common) sound, networking, and input engines that are out there, as well as any all-in-one game engines. Thanks guys!

Share this post


Link to post
Share on other sites
Torque is a complete game engine. And so seems Crystal Space too.

OGRE comes with input support.

But pure "Input Engines", I think I've never even heard of that. They wouldn't be terribly advanced or compete with any other "input engines" really since all they do is forward information from hardware.

FMOD isn't a "sound engine", it's a sound API. And so is OpenAL.

I couldn't find anything about Zig but my guess is that it's a API too.

Normally a "engine" is something that wraps an API allowing easy use of functionality you need, sometimes (preferably) designed so that you don't even know what the underlying API is.

[Edited by - Seriema on June 2, 2005 8:52:53 PM]

Share this post


Link to post
Share on other sites
Found another game engine, Cipher. Costs $100 just like Torque.

[Edited by - Seriema on June 2, 2005 9:44:27 PM]

Share this post


Link to post
Share on other sites
Another question. Is the Quake 2 engine just for graphics, or is it an entire game engine?

Share this post


Link to post
Share on other sites

A course in game programming? Damn, that is sweet. The closest we get up here at the UofS (saskatoon) is graphics. Though I imagine It's pretty close...
Assignments to make ray tracers, NPR, etc. but no mention of games :(

Quote:
Original post by deadlydog
Another question. Is the Quake 2 engine just for graphics, or is it an entire game engine?


It's definately a game engine. How else do you think Quake 2 was made? ;)
Good luck with the project

Share this post


Link to post
Share on other sites
Quote:
Original post by averisk

A course in game programming? Damn, that is sweet. The closest we get up here at the UofS (saskatoon) is graphics. Though I imagine It's pretty close...
Assignments to make ray tracers, NPR, etc. but no mention of games :(

Quote:
Original post by deadlydog
Another question. Is the Quake 2 engine just for graphics, or is it an entire game engine?


It's definately a game engine. How else do you think Quake 2 was made? ;)
Good luck with the project


I dunno. Using the Quake engine for graphics and other simpler engines for the input, sound, and networking maybe. So it is a full game engine though. Good to know. Thanks.

Share this post


Link to post
Share on other sites
Now I've got a list of different engines, and for part of the report I am supposed to list some of the different pros and cons of each engine, and what would convince you to pick one over the other. The problem with this is that I haven't used most of these engines before, so I'm not sure how they stack up against one another. Here's my list of engines:

All-in-one engines:
- Tricks of the Windows Game Programming Gurus (free with book)
- Programming RPG’s with DirectX (free with book)
- Quake 2 engine (open source, free)
- Torque (pay $100, Cross Platform)
- Cipher (pay $100)

Just Graphics (and input) engines:
- RenderWare (pay)
- Ogre (open source, free)
- Crystal Space 3D (Cross Platform, free)

- ZIG (Networking only) (free)
- FMOD (Sound only) – very fast, supports most audio types (free for hobbyists, pay for commercial use)

Now I've already been to the websites for all of these, and they do list some of the main extra features of these, but I'm looking for responses from people who have actually used them before. What did you like about it, what didn't you like (example: global function calls vs classes), what were some of the main "selling" features of it, how did it compare to others you've used. That sort of thing. And yes I know that being free is a big "selling" feature, so what would be some reasons you would pay to use the other not free ones? Thanks everyone.

-- Oh, and in my report I will be stating that I didn't have time to actually test and use all of them myself, so I used opinions from people that have.

Share this post


Link to post
Share on other sites
FMOD is still an API and _not_ an "engine" like OGRE is a rendering engine.

My suggestion is that you compile a list of questions and hand em around instead of just "ok everyone, spill your guts"
that also makes it easier to compare answers.

Share this post


Link to post
Share on other sites
I feel it's probably worth stating you're unlikely to find any input engines because there is no reason for them to exist on their own - nobody really writes an app where you just get press keys or something, heh.

Also, from my experience there is nothing particularly complex about writing an input engine, it's a day, maybe two's job if you've got the skills and when you've done it once, it's pretty much the same from then out - I seem to recall John Carmack saying that he finds graphics the interesting part because it evolves, and input is terribly boring because he's basically written it the same way for the past 6 engines or whatever ;)

That said, if you really want I'll zip up the pertinent files from my programs and give you an 'input engine' so to speak (if you really want).

-Mezz

Share this post


Link to post
Share on other sites
Yes, I understand that there are not independent input engines. Someone mentioned that a few posts ago. But are there any "sound engines" out there, since FMOD is just an API...although I don't really see what else would be needed for sound besides the basic API calls like Play, Volume, Pan, etc, but I don't know. Thanks everyone.

Thanks Mezz for the offer of making me an input engine, but I can just use the one's I've gotten from my Tricks and Programming RPG's books.

[Edited by - deadlydog on June 3, 2005 6:06:13 PM]

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement