Best Beginner Game Engine for C++

Started by
9 comments, last by Daniel B 14 years, 12 months ago
What's the best(easy to use for beginners) free game engine for C++? What can you recommend for use by beginning game programmers? Something that makes loading contents neat and understandable, has simple game loop structure and has the basic game math classes needed for most games. I'll be using the Code::Blocks IDE btw. Thanks in advance!
Advertisement
I would suggest Ogre3D as a good engine to start with. You can quickly get something up and running, and it has a good pipeline for content creation.

http://www.ogre3d.org/
Thanks! Will try that.
I've tried ogre3d and it seems too complex for me at this point. What I'm looking for is an easy to use engine for 2D games, sort of like XNA Framework for C# (yes I've already done simple games on it). Now maybe you're wondering why I'm looking for another engine/framework if I could already work with XNA? That's because I've read articles that says C++ is the way to go if a person is really into game development. Am I correct on this? Or should I just stick with C# & XNA? If I should really take the C++ route, what can you recommend that's simpler than ogre3d? Or maybe I should write my own engine? Any help? Thanks!! I'm sort of confused by now..
Make some cool games in C# using XNA.

Making games in C++ is hard because you have to struggle with language issues that don't really have anything to do with game development.

When you want to learn C++, you should spend a good deal of time writing simple console applications to get a feel for the language itself. Jumping into a game engine in C++ without knowing the language probably won't help.
Quote:
That's because I've read articles that says C++ is the way to go if a person is really into game development. Am I correct on this? Or should I just stick with C# & XNA?

You should stick with C# and XNA for now. If you want to work in the industry as a professional, you will probably eventually need to learn C++. But that will be much easier once you already have a solid foundation in another language (like C#). How old are you? The younger you are, the more time you reasonably have to explore other languages.

It's more important that you learn to make games, regardless of language, than you learn to make games in C++. Much of the skills will translate, and if you're having fun and being productive in C# now, there's no real compelling reason to switch unless you just want too -- although I wouldn't recommend C++ as a language for a beginner, nor would I recommend switching around languages too often too early in your career as a programmer.

Quote:
If I should really take the C++ route, what can you recommend that's simpler than ogre3d?

Irrlicht is a wee bit simpler, but is still a 3D graphics engine like Ogre. There's APIs like Allegro, Haaf's Game Engine, and SDL or SFML if you really want to stick with C++ and a more 2D focus. Be aware that if you don't know C++ you'll want to spend some time learning it before you dive into more complex projects involving graphics -- for that I'd recommend you Google for "Thinking in C++" or "C++ A Dialog," (free online books) or if you are willing to spend money on real books, check out Accelerated C++.

Quote:
Or maybe I should write my own engine?

No.
For c++ i think you should mod other games till you get the hang of game mechanics
Bring more Pain
I think you're actually looking for simplicity in its use, as for a beginner, few steps to get it running, and few steps to achieve something but powerful enough to keep using it. IMHO if I was going to use C++ and I was a beginner I would use GLFW + Horde3D both are actually really simple to use and their API's are powerful, and simplistic in mind.

http://glfw.sourceforge.net/
http://www.horde3d.org/

I hope you find them useful and simple enough to start with.
Hi, thanks for all your replies. As for my age I think I'm on the older side now :D I'm already 23 and I program C# and Java business apps for a living. I've used C++ back when I was in college and my knowledge in it is up to STL and OOP. This whole game programming thing is pretty new for me so please bear with my silly questions.

I'm thinking of going the C++ route because it might have something that C# can't provide. But if I can do everything that can be done in C++ on C# (I know C# don't have pointers), I might as well stick with C#. What do you think? Many thanks in advance!!
Highly doubt you're going to run into limitations of XNA that you can't work around (every language, library, engine is going to have limitations or not work exactly how you want, it's you job to get it to work :) ). Very very unlikely you're going to run into ceiling of what C# can do (which is pretty much everything C++ can do, just differently).

However if you want to learn C++ which is fine then start smaller. The engines look too complex to you now because you're trying to jump into an advanced and huge topic of game making with a programming language that you're not very familiar with. If you want to learn both game making and C++ at the same time then start with the very basics of learning C++ and work your way up all the way from console apps with simple text input before jumping into large graphics engines.
"The general thanks you!" - Quote from a call I took at work.

This topic is closed to new replies.

Advertisement