Jump to content

  • Log In with Google      Sign In   
  • Create Account

choosing a library for c++


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 burnt_casadilla   Members   -  Reputation: 442

Like
1Likes
Like

Posted 24 October 2012 - 06:09 PM

I've tried both allegro and sdl for a week each. I cant find many advanced allegro tutorials and I eventually want to move onto 3-d programming. What I really want is to be able to find a library that I can stick with til the end, no matter how hard or easy it is to learn.
Does anyone have suggestions on what I can use?

If you see a post from me, you can safely assume its C# and XNA :)


Sponsor:

#2 Manill66   Members   -  Reputation: 261

Like
2Likes
Like

Posted 24 October 2012 - 06:31 PM

Ogre 3d is great. It is under the MIT License and has many tutorials you just have to search through the wiki and stuff.
http://www.ogre3d.org/
http://www.ogre3d.or.../tiki-index.php
http://www.ogre3d.or...?page=Tutorials

And for input and sound I like SFML and you can use this for commercial or non commercial games whether they are open source or not.
http://www.sfml-dev.org/
http://www.sfml-dev.org/license.php

Also here is a tutorial I have used and it is great for starting out in SFML. It shows you how you can set up SFML and any other library in Visual Studios C++. It also shows you how to make a pong game with SFML.

http://www.gamefromscratch.com/page/Game-From-Scratch-CPP-Edition.aspx

Edited by Manill66, 24 October 2012 - 06:34 PM.


#3 superman3275   Crossbones+   -  Reputation: 2061

Like
2Likes
Like

Posted 24 October 2012 - 08:42 PM

SFML: Great for Graphics, Input, and Sound. It makes manipulating images extremely easy because of built in functionality (Unlike Allegro or SDL).
SDL: Functional programming, Great for input and has a large community
Allegro: Slowly moving to Object Oriented Programming (Like SFML). It's fallen out of popularity but is a great library.

For 3d you can either use:
DirectX: For windows platform only.
OpenGL: Android, Windows, and I believe Mac?
Ogre3d: A rendering engine. I don't like it. There's a lot of good stuff, however it's slow (From what I've heard). I wouldn't use it, however I recommend you try it out and see if you like it.

Overall, you should try out all the options available for a little bit and see what you like. No matter which one you choose, they all have the same end resolution. (If you're going to be dealing with OpenGL however, use SDL, it's far better than SFML or Allegro currently)

I'm a game programmer and computer science ninja ph34r.png!

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

 

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here smile.png!


#4 ifthen   Members   -  Reputation: 820

Like
0Likes
Like

Posted 25 October 2012 - 04:47 AM

Well, you have to choose if you want to use the low-level 3D library (OpenGL, Direct3D) which only handle things like drawing triangles, skinning etc. and program the advanced functionality (loading models, skeletal animation, et cetera). It takes a LONG TIME to comprehend (I would say 2-3 years at least to move to the current state of art technology), so be prepared. The upside is that you can make unusual games (e. g. space simulators) – the library won't limit you much – and you can fine-tune the graphics. Also take note that OpenGL and Direct3D (and drivers for them) are developed by professionals and don't suffer from "opensourceness" – known bugs and missing features not being fixed/added because the developers don't think they are important. The support is also much better because almost every programmer in game programming field knows one of them.

If you use the Direct3D, you can run your game only on Windows (and maybe Wine), so the best windowing library is the Windows API.

If you use OpenGL, you must choose a windowing library:
  • Windows API (as demonstrated by NeHe) is not recommended to use. You lose your portability and it's messy.
  • GLUT was a nice library, it has been discontinued by the author, but its fork FreeGLUT looked fine to me.
  • I personally prefer GLFW, it is a lightweight library, so don't expect much, but it is clean and stable.
  • SFML is another choice, but I found its documentation lacking and the library kind of new and missing important features. The sprite-manipulation API looks half-done to me at this point.
  • Allegro and SDL are heavy-weight libraries, having 2D functionality, more helper functions and so on. I would recommend the latter as it has much larger community.
To summarize, if you just want a window created for drawing and input polled, use GLFW or FreeGLUT. If you need more from the library (2D drawing, audio), use SDL.

If you want to use graphics engines (Ogre3D, Irrlicht), you will have to cope with incomplete documentation, some bugs and inflexibility. But you will learn it (and make a game with it) much sooner than a 3D library. I used only Ogre3D and I have to say that it is a rapid and sufficient tool to make a game with. You can always modify it (MIT license). Some people say that Irrlicht is good, but I don't know.

In the end, the thing that matters is whether you want to make an engine or a game.

#5 Bacterius   Crossbones+   -  Reputation: 8945

Like
0Likes
Like

Posted 25 October 2012 - 05:27 AM

OpenGL: Android, Windows, and I believe Mac?

+ Linux (let's not forget our friendly penguin)

The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.

 

- Pessimal Algorithms and Simplexity Analysis


#6 AMenard   Members   -  Reputation: 175

Like
0Likes
Like

Posted 25 October 2012 - 07:42 AM

http://www.rastertek.com has some nice tutorial on DirectX. I'm presently teaching myself DirectX 11 with the help of his tutorials and they are great. You can find one about DirectInput here : http://www.rastertek.com/dx11tut13.html
My blogs:

http://www.osrebel.com <-- En Français
L'information libre et la joie d'apprendre

http://www.osrebel.com/english <-- English Version
Free information and the joy of learning




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS