Page 1 of 1

Which library should I use?

Posted: Sat Mar 07, 2009 2:12 pm
by ibly31
I have been making games in C++ so far, with a library called DarkGDK, and it won't let me include any standard headers and it's veerryy restricted. I hear of a lot of libraries(ogre3D, SDL, OpenGL, DirectX) and I'm wondering which of these is best for a semi-beginner, and has a big community, so my help pleas won't go unnoticed. Thanks

Re: Which library should I use?

Posted: Sat Mar 07, 2009 2:21 pm
by Kros
I highly recommend SDL for a well documented, beginner input/media library. Its very straight forward and has a strong set of community tutorials (google lazyfoo).

http://www.libsdl.org

Re: Which library should I use?

Posted: Sat Mar 07, 2009 2:56 pm
by Maevik
Kros wrote:I highly recommend SDL for a well documented, beginner input/media library. Its very straight forward and has a strong set of community tutorials (google lazyfoo).

http://www.libsdl.org
I can't say it's the best because it's all I've used so far, but I'm learning it as my first library and using lazyfoo's tutorials. They assume a pretty good amount of previous C++ knowledge, but even as a begginer I'm having a pretty easy time getting through them.

Re: Which library should I use?

Posted: Sat Mar 07, 2009 5:08 pm
by ibly31
I've seen some of the GyroVorbis development videos, and I see File, Edit,View menus mixed with graphics, is it possible to have a frame of the window devoted to SDL? And is SDL it? Or is SDL a plugin into OpenGL, or DirectX?

Re: Which library should I use?

Posted: Sat Mar 07, 2009 5:26 pm
by programmerinprogress
if we're talking menus and toolbars, you could use the win32 API to setup a window and you would use resource scripts to setup the menu.

But the Win32 is rather difficult, and it takes a lot of code just to set up a window, also it's somewhat difficult to program in comparison to SDL (i'm saying this from experience)

I believe the ES team use Blitz to make their editors (although i've never used it )

Personally I use SDL on it's own, and I write my own menu systems, but that's because I like to know how everthing works in my applications, also it's an interesting learning experience.

Just remember, there is always a solution to your problem, you just have to see if the problem can be solved easily using a ready-built package, or if you have to custom write the solution (of course the problem could already be solved, and you may opt to use a custom built solution)

good luck in finding your answers, personally i'm an SDL-Head, so i'm going to recommend it ;)

EDIT: SDL is NOT an extension to OpenGL or DirectX, SDL is an API which acts as a 'layer' between the hardware and the OS, that's why it is so flexible in terms of the OS you use it for, it doesn't matter about your hardware, because it gives you a uniform interface, SDL sorts out how the program interacts with the OS and hardware

Re: Which library should I use?

Posted: Sat Mar 07, 2009 6:25 pm
by CC Ricers
Ogre is a flexible OO-based library that can help add some polish to your graphics in your program, but that's all it's for. You still have to program the rest of the input and sound logic yourself.

I used SDL at first to do everything- take input, make graphics and produce sound. Then I learned OpenGL and used SDL as the input functions. And more recently, using DirectX with SDL. Like ProgrammerInProgress, I found Win32 code to be too verbose (though I saw some nicely coded examples that separate the callback functions from the main program loop). All I wanted to do was make a window to put all my graphics in there, custom interface included.

There is a graphical solution to debugging and tweaking your programs on the screen without resorting to custom-made menus. It is called AntTweakBar and I highly recommend using it. It already creates a GUI for changing parameters that you define yourself, and displays right on the screen.

Re: Which library should I use?

Posted: Sat Mar 07, 2009 7:28 pm
by aamesxdavid
If you're looking for a fully-featured engine for C++, Irrlicht is a good choice. Stick with open source, and it's pretty easy to find the ones with good communities. For more engines: http://www.devmaster.net/engines/