Sign in to follow this  
gamefish

I'm looking for a Simple, Well-designed open source game engine for study.

Recommended Posts

You could check out Dave Eberly's Wild Magic Engine here.

It is not necesarily the simplest engine, but if you want to study the architecture and some fairly clean code, its free for download. You can also check out his books for further clarification of the concepts as well. I swear by some of his techniques...

Share this post


Link to post
Share on other sites
Quote:
Original post by gamefish
I can't open the link in your post, are you sure it is correct?


It works for me, check to see if you have any software running that might block sites. Not sure why it'd trigger on that site, but it can happen [wink]

Share this post


Link to post
Share on other sites
I'd recommend Ogre - probably most popular open-source engine nowadays. It's really simple and one could say it's well-designed as well (OO, multi-platform, multi-graphics API, "transparent" shaders languages support).

Share this post


Link to post
Share on other sites
If you are looking in sourceforge, then do not miss Irrlicht. This is simplest engine I ever seen, yet still powerful enough, with shaders, etc.

You could also look for hes successor, IrrlichtNX, which is not under development any more, it will be replaced by Lightfeather. Lightfeather release is expected in next 48h as alpha. It is based on IrrlichtNX, but engine is writen from scratch, while keeping some old stuff for compatibility.

http://irrlicht.sourceforge.net/
http://www.irrlichtnx.mmdevel.de/
http://lf.mmdevel.de/

Share this post


Link to post
Share on other sites
Quote:
Original post by Roboguy
What language(s)?

C++.
I'm a freshman and just want to study the engine architecture and need some fairly clean code, like Jason.Z said.
I'm digging my way through OGRE & Irrlicht now. But I don't feel good :(
And I can't access to the Wild Magic Engine, may be something is wrong with my proxy.

Everything is just too hard for me. My be I should change my question to:
What should I learn before turning to study an engine?

Share this post


Link to post
Share on other sites
Well, definetelly learn something about DirectX and OpenGL first. It will be hard to follow code otherwise. Or first, try to learn something about game development technics in general: scene, scene nodes, scenegraph, frustrum culling, matrix and quaternion technics (transformations), billboarding, alpha blending, materials and renderpasses, portal rendering, etc.

Share this post


Link to post
Share on other sites
Quote:
Original post by gamefish
Everything is just too hard for me. My be I should change my question to:
What should I learn before turning to study an engine?


I'd summarize knowledge needed to understand engines like Ogre as follows:

1. Understand basic Object Oriented Programming concepts

2. Of course linear algebra on a very basic level.

3. Understand well typical fixed pipeline like in OpenGL or Direct3D.

Up to the level that you know what is possible and what is not.
You should understand what are most common bottlenecks when using OpenGL / Direct3D and what impact they have on data representation and the whole rendering pipeline.

4. After you understand fixed pipeline, then learn about shaders (HLSL, GLSL).

Again, like with fixed pipeline, you should know what can/should be done using shaders, what can't/shouldn't.

5. Basic knowledge on 3D models representation (hierarchical skinned models and static ones).

6. Basic knowledge on spatial structures to store 3D scene (Octree, KD-trees, sectors & portals, more...).

Hope this helps.

Share this post


Link to post
Share on other sites
I'd recommend you start writing your own games/programs. Sure, you may make some mistakes your first time, but true understanding really comes best from experience in this case.

tj963

Share this post


Link to post
Share on other sites
Oh, got it! thanks!
It seems I have some knowledge about fixed pipeline, and a little familiar with both the DX and OpenGL, but still have troubles on technics that Sir bueno has mentioned.
May be I am not that skilled.

Share this post


Link to post
Share on other sites
Quote:
Original post by tj963
I'd recommend you start writing your own games/programs. Sure, you may make some mistakes your first time, but true understanding really comes best from experience in this case.
tj963


Sounds good, I used to heard that someone must write about 100 small games to understand what an engine should do.
looks like I must start coding my own dirty game now.
I've only wrote 3 small dirty games, 2 of which even can't play, just demo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this