Game Engines

Pages: 12
Hello all this is my first post albeit I have been a regular reader of these forums in the past. I was wondering whether Ogre or the Blender game engine would be better for designing a fast, light-weight, intuitive and portable game and other distinguishing features/capabilities/strengths between them. I realize that Ogre is only for rendering but that would be fine because of the numerous patches and libraries available. Also I would like to hear of any other good engines(ie: Irrlicht, Dark GDK). Finally, could I use C++ in the Blender game engine? If not are there any patches or such to enable this?
It seems like the game engine is made to support Python and the little logic blocks they allow...it doesn't seem that there is anything out there for C++ though...If you want to use C++, you could try the Dark GDK, from what I've seen it seems pretty good.
Thank you for your input but I read some negative remarks about Dark GDK so I looked into other game engines and found great things said about Ogre. I am more than willing to give it another try however. Blender not supporting C++ is upsetting as I wanted to try it but I will stick to only creating meshes in it. Thanks!

Edit: How quickly do games made in blender run if made entirely through the logic blocks and would this be an advisable alternative route to game design rather than using Dark GDK, Ogre or Irrlicht?
Last edited on
The type of game engine you will use is dependent on the type of game you will be creating. For example, what kind of physics do you need, is this a 2d or 3d game, etc... The Dark GDK game libraries are not robust enough 'as is' to develop a AAA game and it will not be portable considering the reliance on DirectX, rather than a cross platform Graphics API such as OpenGL. There are many game engines out there and each has its pros and cons. Take a look at Crystal Space. It's fully developed in C++, is cross platform and supporst OpenGL and SDL libraries. Also, how proficient are you in a Graphics API? You may want to consider creating your own engine or finding an open source one and make any changes you need.
I am relatively new to C++ and that which I do know is self taught. However I would be glad to spend more time to learn a game engine if it would allow me to do more as I grow more proficient with both C++ and whatever game engine, API etc. I would like to advance to creating a 3d game. Due to my lack of experience I think that I would be quickly overwhelmed by creating a game engine from scratch but (as you could probably guess from my name) I am an avid supporter of the open source philosophy so such a solution would be ideal. I do not know a graphics API but I was going to learn OpenGL soon.
If you haven't made a 2D game yet I would advise you to start there. Possibly use SDL and take a look at some tutorials from lazyfoo.net.
Thanks for the link. I was planning on using the game engine I would ultimately (hopefully) make 3d games in to make two dimensional games. This way I would gain familiarity with the particular engine. If I were to take this path and choose Ogre 3d how benificial would it be to learn a graphics API? Would you advise learning OpenGL but as a sidenote?
Last edited on
I recommend you focus your efforts on OpenGL. Ogre3d is a 3D library for OpenGL and SDL is compatible with OpenGL. So it seems eventually you will have no choice but to learn it. You might want to consider working on a small 2D game as Mythios mentioned and work with both SDL and OpenGL. Keep in mind that in order to do so, you'll need at least an intermediate understanding of C++ or it will be very difficult.
Thank you again for all of your help. I believe that I am an advanced beginner meaning that I am a little more than halfway between beginner and intermediate but I am reading a wonderful book on C++ called C++ how to program 6th edition

http://www.google.com/products/catalog?hl=en&q=c%2B%2B+how+to+program&oe=UTF-8&cid=17396901020975315178&sa=title#ps-sellers

and am steadily making progress. The book moves slowly but it demonstrates good programing and throughly teaches each concept.
Last edited on
Ah, now I understand the interest in Ogre3D. In my opinion it is the best C++ book out on the market and teaches Object Oriented Programming straight from the beginning. I bought that book when it was first published and went through it. Excellent resource covering UML, Boost Libraries and a quick intro to Ogre3D game programming.
I have enjoyed reading it immensely so far and feel that I am making good headway. Would you still recomend I focus my efforts on learning OpenGL and SDL first?
Last edited on
Learning Ogre 3d isn't a waste of time, however keep in mind that it is not a game engine and does not include libraries for collision detection or other game specific features. The library wasn't designed specifically for games which is what keeps it flexible, not to say that it isn't a good choice for certain game engine components. Fully utilizing the ogre libraries involves being able to integrate with other APIs, such as OpenGL.
But these libraries, like ODE, can be implemented into your code relatively easily, right?
Fully utilizing the ogre libraries involves being able to integrate with other APIs, such as OpenGL.
What limitations would not learning OpenGL bring? I also find Ogre 3d not being specifically linked to games to be a good attribute because I would also like to be able to develop other applications besides games at one point or another.

Note: I appoligize if I sound contrary and argumentative but I really just am trying to figure out what to focus my learning on and become proficient in something that would not be as good as an alternative.
Last edited on
I guess the limitations are dependent on what you are looking to accomplish. If you are looking for a full game engine for example, Ogre 3D will handle some things, and the rest you will either need to code your self or seek out another API to handle. I think your best approach is to learn C++ and move onto Ogre 3d, considering your resource at hand. If you find that it doesn't have everything you're looking for, you can then look into OpenGL or Direct3d for that matter and see what it offers. C++, Ogre3d, SDL, and OpenGL may just be too much to handle at the same time. Once you break into the 3d realm, I also recommend you get your hands on some 3d graphics software and learn some scripting. My tool of choice is Maya coupled with some MEL Scripting, but 3ds Max or blender will do the trick as well.
I am also learning Blender because it is free but you are correct, I am feeling overwhelmed by trying to learn all of this at the same time. I will now just read my book, take one thing at a time and check back here for advice or if I have any difficulties. I am very appreciative of how helpful you have been to me, thank you very much!
Last edited on
If you go for DirectX there's some good tutorials on here:
https://www.directxtutorial.com/
Last edited on
I learned in this order of style

- C++
Which well got me coding and learning programming
- C# With XNA 1.0 - 3.0
Which made me understand uses in graphics and what not.
- C++ With SDL
I found this very handy as to me SDL is a really easy to use
- C++ With Ogre
Haven't done to much in this area except make models display and walk around
but that's all.
- C++ With OpenGL
Which im just starting as we speak.

Probably not much In me telling you this but for me - i found this taught me really well to what I know now days.
This is my overall learning plan:

-C++
Almost competent!

-Ogre (C++)
If I can ever set it up properly.

-Directx or Open GL
still debating on this one

-Python
I have heard good things said about it.

-C#, XNA
I just think it would be good to learn.


Does any body have anything to say regarding the advantages of Open GL or Directx? (note: I have researched this and know some of the advantages of each I just want to know which ones you use.)
I would Probably look into Python after C#. And Do openGL first then dx imo. Check out some stuff like lazyfoo.net and nehe.gamedev.com I think it is - Might be .net.

Enjoy :)
OpenGL = Cross Platform
DirectX = Windows

If you want the industry arguments and technical comparisons, just google "OpenGL vs Directx." Unless you are planning on only developing for windows, I personally recommend OpenGL. As far as a scripting, Python has an extensive library and wider industry support, both commercial software and gaming, however you may want to look into LUA as it can be plugged directly into compiled C++ and is very lightweight. The counter argument of course will be boost::python. I recommend holding off on C#. Learn C++, a graphics API, say OpenGL, and a scripting language such as lua. You can then work on a small project and get all three working together. If you are still unsatisfied, you can then join the ranks of hobbiest with XNA studio.
Pages: 12