views:

613

answers:

4
+1  Q: 

game programming

What libraries can i use for motion and blending in game programming in c++? I need libraries regarding sound, image, expansion algorithm like 2xsai and super eagle. I need libraries like fblend and also for motion . How to compile functions of fblend in devcpp? 2d gaming... and the library should be compatible with devcpp

+1  A: 

You definitely want to look at shaders. Shaders allow you to use world data or previous frame data to decorate the current scene. Doing so it's relatively easy to create motion blur and other effects using shaders.

I'd recommend reading up on http://gamedev.net and maybe checking out some of the books called Game Programming Gems.

Ben Scheirman
+4  A: 

I use mainly these two libraries for 3d gaming:

SDL

Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.

ODE

ODE is an open source, high performance library for simulating rigid body dynamics. It is fully featured, stable, mature and platform independent with an easy to use C/C++ API. It has advanced joint types and integrated collision detection with friction. ODE is useful for simulating vehicles, objects in virtual reality environments and virtual creatures.

Marcel Tjandraatmadja
+1  A: 

DevMaster is a nice place to start with.

Check Irrlicht - one of the best, free engines. It is very easy to start and get going.

mixdev
+1  A: 

Gosu is a compact, thoughtful library for C++ (with Ruby bindings as well). I'm using Gosu right now for a project, and it lives up to its promise: it is indeed minimal, but it doesn't get in your way.

Alternatively, there is SDL. SDL is ultimately a fairly low-level API for doing 2D graphics with OpenGL.

I used to use ClanLib all the time. It was very feature-rich. However, its development seemed extraordinarily slow, and I eventually moved on. It's certainly worth looking at, though.

For basic physics in 2D, you may find Box2D useful. Its documentation is unfortunately somewhat poor and confusing, but overall it's a good library. Using a 3D physics engine if you're just going to do 2D work is definitely over-kill and will make your job much harder than it needs to be.

Using one of these libraries is not strictly necessary, although I would strongly recommend. It's entirely possible to build a game using OpenGL or Direct3D directly. This route is preferable if you have plans on implementing rather advanced graphical techniques.

As Ben said, gamedev.net is a phenomenal place for questions about game development. I've been viewing the forums there for years now.

Finally, I have an incomplete listing of free game development technologies here, including libraries for languages other than C++.

Zach Conn