views:

3156

answers:

13

Which is the best available, free, easy-to-learn game programming library for C++?

+10  A: 

Ogre3d and Irrlicht are both popular 3D game engines for C++.

John Millikin
OGRE is fantastic. +1
Landon
It does, but it's not a game engine. Neither is Irrlicht.
OJ
question doesn't ask for engines. both are good answers.
Paulius Maruška
+1  A: 

Torque -- it isn't free, but it's great value at only $150.

J D OConal
I've talked to a few persons who said they were working with torque - none of them had anything good to say about it... Can't say anything myself - I never even saw it, but it wouldn't be my choice either...
Paulius Maruška
+8  A: 

Try Allegro. It's free, cross-platform and covers all the stuff you need to program games.

realsugar
+17  A: 

Ogre is the best Graphic Engine available for free. Ogre doesn't cover all field a game engine should do. Ogre doesn't handle physics, networking, AI, audio...

If you want to collect a good set of free libraries I suggest you to use

  • OGRE for graphics
  • Bullets (or ODE) for physics
  • Raknet for Networking and MatchMaking
  • "something else" for audio and AI

If you need something powerfull (but expensive) I suggest you C4 Engine (350$) or Torque (150$).

ugasoft
Since someone seems to have voted down all the answer suggesting Irrlicht. I'll mention it here because it's free and great for learning good C++ style along with game programming. Although it lacks Ogre's raw power it's quite good and complete(sound,collision,network,etc)
Robert Gould
$350 isn't particularly expensive considering the immense amount of time spent actually creating a game...
Greg Rogers
+8  A: 

SDL is also quite popular and there is a ton of information about it floating around the web, a lot of it geared specifically towards making games. This tutorial looks particularly good.

Paul Wicks
+3  A: 

Like previously said Ogre3d and Irrlicht are probably your best options in regards to "free". If you also want "easy to learn" it boils down to Irrlicht.

Very clean interface and great tutorials.

Edit: Actually you should be a little bit more specific. Do you want 2d or 3d graphics? Do you need sound, physics and all that or just graphics? Which platforms do you want to target?

Also, are you sure it has to be C++? While C++ is pretty much mandatory for professional game engines, for learning purposes C# with XNA or some scripting language is way better.

Maximilian
He asked for a game library, that's specific enough.
OJ
Yes it's specific enough for unspecific answers. The quality of the answers he will get will improve if he gets into a little more detail.And why the downmodding? My ANSWER is still there and certainly didn't get worse by my edit.
Maximilian
+2  A: 

If you want C++ and your just starting out I'd go with Irrlicht (its free, and its code although not blazing fast like Ogre, its very well structured and a good example of what a C++ should look like). But if you're ready for some hardcore work Ogre would be better (although its source can be much more enigmatic and hard for a new comer).

Robert Gould
Irrlight and Ogre are both rendering engines, not game libraries.
OJ
A: 

DieselEngine SDK

Same source code compiles directly to: 
-Desktop Windows (with or without hardware acceleration)
-Windows CE devices (HandheldPC, PocketPC, Smartphone)
-Symbian OS (virtually any device with Symbian OS version 6.0 or newer)
Prakash
Dead link. (15 chars)
DMan
A: 

@OJ Irrlicht is a full game engine, it does more than rendering. Such as sound ,network, collision, animation, etc...

It even has an editor for creating game areas.

Robert Gould
From the Irrlicht site:The Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages.Doesn't sound like a full blown game engine to me.
OJ
+2  A: 

Ogre3D is not a game engine. Some replies here imply that it is a game engine. It is a graphics engine.

It is important to understand it.

+2  A: 

Check this out from 2D Boy, the makers of World of Goo: Rapid Prototyping Framework

It's only for prototyping, but you can still learn from it.

Emrah
you didnt provide a link!?
daddz
You can find it at http://2dboy.com/2009/05/27/rapid-prototyping-framework/ . Can someone please edit the question and include this link? I don't have the rep.
Samir Talwar
+10  A: 

SFML is an excellent library to build a game engine over if you're going 2D. A clearly better alternative than SDL.

Ogre and other libraries have already been cited but if you're going 3D it certainly is the best free 3D engine around, as it is the most flexible.

Klaim
+1  A: 

My favourites are Irrlicht and Ogre. Both are very powerful, but (if you are familiar with C++) are fairly easy to get started with thanks to the documentation and examples. You can find a step by step tutorial that shows you how to get started with Irrlicht here, and with Ogre here.

Phyxx