Gimme your game engines
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
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.
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.
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.
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]
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]
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."
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."
Tada:
http://www.devmaster.net/engines/
Some ot look at:
Ogre
Irrlicht (probable variation on spelling)
Crystal Space
OpenSG
http://www.devmaster.net/engines/
Some ot look at:
Ogre
Irrlicht (probable variation on spelling)
Crystal Space
OpenSG
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.
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.
A List of Featured Projects using Ogre
I'd hardly call it "immature", it's been in development for four years. It will constantly be in development because it's open source. I think it's fine for using in a case study.
I'd hardly call it "immature", it's been in development for four years. It will constantly be in development because it's open source. I think it's fine for using in a case study.
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.
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.
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.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement