Sign in to follow this  
GiveMeHelp(Help help);

C++ multiplatform engine/framework/library?

Recommended Posts

The most important thing, is to set yourself a small goal that you can reach in a couple of weeks or less.

You could start with something very simple like a text adventure game where you only need to be able to use iostreams and some fancy string compares. But that will teach you the basic input-update-output loop of any game, as well as managing assets. Games like this rarely need any kind of libraries beyond std::.

If you want to jump right into something with graphics, a game like Tetris, Pac Man, or Arkanoid are great ways to start. For these you'll probably want to grab Cinder or SFML or something similar.

If you don't mind spending $20 (and 5% of any revinue generated) you can go all the way to the top and get Unreal 4 with full C++ source code. Admittedly, a lot of the development process of the game at that point will probably be in their editor, but with C++ you can rip it apart and get it to do whatever you want. Edited by SmkViper

Share this post


Link to post
Share on other sites

The most important thing, is to set yourself a small goal that you can reach in a couple of weeks or less.

You could start with something very simple like a text adventure game where you only need to be able to use iostreams and some fancy string compares. But that will teach you the basic input-update-output loop of any game, as well as managing assets. Games like this rarely need any kind of libraries beyond std::.

If you want to jump right into something with graphics, a game like Tetris, Pac Man, or Arkanoid are great ways to start. For these you'll probably want to grab Cinder or SFML or something similar.

If you don't mind spending $20 (and 5% of any revinue generated) you can go all the way to the top and get Unreal 4 with full C++ source code. Admittedly, a lot of the development process of the game at that point will probably be in their editor, but with C++ you can rip it apart and get it to do whatever you want.

Unreal is quite an overkill, also I forgot to write that I'm going for 2D games and I already have a good knowledge of C++, I've checked SFML but I've noticed that it doesn't officially support Android, what about SDL? it should be based on OpenGL as well but with mobile support right? also is going for pure OpenGL a bad idea for a beginner in game dev?

Share this post


Link to post
Share on other sites

I've checked SFML but I've noticed that it doesn't officially support Android, what about SDL? it should be based on OpenGL as well but with mobile support right?


SDL supports Android using OpenGL ES. There are also some tutorials linked in the Wiki that might give you a starting point.

also is going for pure OpenGL a bad idea for a beginner in game dev?


I guess that depends on the individual. Personally I started with the XNA framework and later switched to DirectX. Only after that I started learning OpenGL and the prior knowledge from DirectX definitly came in handy. OpenGL can be kind of confusing in the beginning so it might be good to have at least some knowledge of graphics programming before using it. But, as I already said, other people might have diffent experiences.

Share this post


Link to post
Share on other sites

Watch Handmade Hero, it starts with nothing but Visual Studio and every step is explained.

 

This is really great stuff - really good for starting completely from scratch on Windows. Of you are on linux or other operating system you should search for video tutorial about SDL/SFML game programming - doesent matter which one... SDL is more like old style C and SFML is more object oriented like C++.

Share this post


Link to post
Share on other sites

Unreal is quite an overkill, also I forgot to write that I'm going for 2D games and I already have a good knowledge of C++, I've checked SFML but I've noticed that it doesn't officially support Android, what about SDL? it should be based on OpenGL as well but with mobile support right? also is going for pure OpenGL a bad idea for a beginner in game dev?


Well if you want to develop for Android then you have to use OpenGL - or at least one of the several mobile variants depending on your hardware and Android version and whatnot. DirectX is only available on the Windows or XBox platforms, Mantle is only available on desktop Windows, and... I think Apple has some sort of low-level Mantle-like API for their own products, but I can't remember the name right now.

For a beginner, it is much less important what you use, just that you make a choice and learn it. Since you want Android support, you must use OpenGL, so go ahead and learn it. If you change your mind and want to move to DirectX, Mantle, or something else later you'll already have learned a lot from using OpenGL that will transfer over, so your time won't be wasted.

This is, of course, assuming that whatever engine you use doesn't completely abstract away the graphics API - though understanding the basics of that API will make debugging issues much easier.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this