Hello all. I've been learning C++ for quite a while and a thought flashed in my mind to do a very simple game.
What is my first step? Any libraries available?
What books/sites you recommend?
Finally, is c++ ok to start with games programming?
Hello all. I've been learning C++ for quite a while and a thought flashed in my mind to do a very simple game.
What is my first step? Any libraries available?
What books/sites you recommend?
Finally, is c++ ok to start with games programming?
Depending on the type of game you're interested in, the Ogre project may be just the thing for you.
Ogre provides an open-source, cross-platform 3D environment with integrations into other projects including physics engines.
SDL is a good place to start as well.
Check out gamedev.net. And happy fun and good luck with it! :D
Hope this helps, Best regards, Tom.
If you're just starting out, and the main purpose is to learn about game programming...
Then I'd recommend pygame.
You will be able to develop and learn about SDL faster than in C++. Later you can switch back to C++.
You want to start out small and grow your experience. I would suggest you start with simple 2D games and work your way up. For a good library that hides the platform's details from you start with SDL as mentioned by a previous poster. Ogre3D is good but I would consider it too advanced for you at this time.
Then when you know how to build SDL samples try writing your own games to understand the main loop, input, sprites, other graphics, audio, animation etc. Start with a few projects. For example, write your own Tetris, or pacman, or space invaders. And then start getting more complicated by adding features. Try writing pacman with a scrolling maze (rather than on one screen). Then do a simple platform game like mario. You can see where I am going with this.
Then when you're comfortable with 2D games then perhaps make the leap to 3D - but this is a lot more complicated environment to learn in.
If you familiar with C++, maybe you can switch to C#. This is an easier language to deal with as you don't have to worry about low-level stuff like memory management. Microsoft provide a good framework called XNA which has the added benefit that you can play your games on your Xbox360 too. I would recommend that. XNA has support for both 2D and 3D games.
Good luck in your journey!
Here's an article on why you should be using C++ to make games.
Here's a tutorial site that uses C++ (horrible UI though) and a really cool website on game programming patterns.