Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to learn C++ so I can get a job in the game industry, but there are so many options it a little confusing. I know most of you will say I should read up on C++ before attempting to program it but I learn best by doing things rather then reading. That being said I don't understand some of the thing suggested on other questions, because I've read a few trying to find whats right for me, so putting things in the simplest terms would be helpful. I've been making a couple of games 2d using gamemaker and if theres a C++ equivalent that would be perfect, but if not possible I would like an IDE that allows me to easily continue making 2d games, and is fairly simple to learn. Having a 2d sprite editor would be a nice plus but I can understand if its not every thing I want in one program

share|improve this question

closed as not constructive by Arcane Engineer, jhocking, Josh Petrie, Le Comte du Merde-fou, Tetrad Nov 3 '12 at 17:48

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

"Most of you will say I should read up on C++ before attempting to program it but I learn best by doing things rather then reading." The thing is: you're meant to read, and then also do. Almost nobody learns programming just by reading. They follow tutorials, but they do the programming involved. Then they program more, do research, program more, etc - that's how everyone learns C++. Or do you want to learn how C++ works without ever reading about it? – doppelgreener Nov 3 '12 at 7:35
So, yeah, you should read up on C++. There's no other way to really learn it without first reading about it. But don't just read and let that be the end of it: read and do things with what you've read about. – doppelgreener Nov 3 '12 at 7:36
Sorry, but "how do I get started" questions are not appropriate for the format of this site. – Le Comte du Merde-fou Nov 3 '12 at 17:12

I should suggest Cocos2d-x and Unity for you.


It is based on C++ (as you would like to learn C++). It is simple, easy to learn and has multi-platform support.

Cocos2d-x is a multi-platform 2D game engine in C++, based on cocos2d-iphone and licensed under MIT. Now this engine has been expanded to iOS, Android, Bada, BlackBerry, Marmalade and desktop operating systems like Linux, WindowsXP & Windows7.

  • iOS: stable, well tested on iOS 4.x ~ 5.x SDK.
  • Android: stable, well tested on 2.0~4.0, based on ndk r5 ~ r8.
  • Bada: stable on Bada SDK 1.0 & 2.0
  • BlackBerry Playbook & BB10: stable, contribued by engineers working at RIM
  • Marmalade: stable since cocos2d-x-0.11.0
  • Windows: stable, tested on WinXP, Vista, Win7. Please upgrde the drive of your video card if you meet problems on OpenGL functions
  • Linux: usable.

Project Resource


Community Resource


If you want a better IDE and everything in one program, then i should suggest Unity.

Unity is a cross platform game engine and IDE developed by Unity Technologies, targeting web plugins, desktop platforms and mobile devices.

Project Resource


share|improve this answer
i should add i would like it to be free. Dont you need to buy unity? – andyphillips20 Nov 3 '12 at 8:32
@andyphillips20, Unity has 2 version (free and pro). If you need to learn, you can use the free one. When you want more for example features, publish, then you have to buy. – Md. Mahbubur R. Aaman Nov 3 '12 at 8:44
I want to personally vouch for cocos2d-x. It's very good. – JXPheonix Nov 3 '12 at 14:38

I suggest that you start with Python instead of C++.


If you go the Python route you just start programming - it's a mature language, it's interpreted and widely used in the game industry.

You basically write code and run it. And modify and run it.

With C++, however, you write code, compile, fix errors, link, fix more errors and finally - if you're lucky - you run your program. Really a lot of extra complexity, even for the simplest of programs. You will not only have to fight the language itself, but also spend a lot of time on learning to use the development tools (IDE, etc.)

First you need to learn how to program - and not only that, but also algorithms, good software design, etc.

Python is a more direct and immediate way to program. Definitely more joyful than with C++.

You can learn C++ later, but in the meantime check out:

PyGame or Pyglet for 2D game programming.

And then perhaps Panda3D or PythonOgre for 3D programming.

And, once you got some solid programming skills, you'd be ready to move to C++.

Python or Java is what you learn in introductory computer science classes. Sometimes it's C, but almost never C++. C++ is a powerful tool, I just can't recommend it as your first real programming language.

Python is also extremely well documented - just type help(object) into the Python shell. Another reason to go with Python. It's also the fastest growing language currently. ANd as of October 2012, Python ranks at position 8 in the TIOBE Programming Community Index.

share|improve this answer
I don't really agree with this - although python is a great language it's not quite that mature and doesn't have any (established) engines. Beside, the question specifically specified c++. (I'm not the downvote I see just appeared but I thought I'd share my thoughts.) – JXPheonix Nov 3 '12 at 14:39
He really didn't ask specifically for C++ - he asked how to get into the game industry. – jacmoe Nov 3 '12 at 15:16
What do you mean 'established engines'? Max and Maya has Python scripting, Ubisoft hires Python programmers - especially for the content pipeline. Panda3D is a good open source engine for Python. And I didn't say that he shouldn't learn C++. Does he want to get into the industry, or would he prefer to learn C++ first (and definitely die trying) :) – jacmoe Nov 3 '12 at 15:27
@jacmoe Elaborating on why C++ is the most difficult programing language and python is perfect for him would make your answer a lot more helpful. Although, I tend to disagree with both your opinions. – Asakeron Nov 3 '12 at 15:29
There is a reason why Python (and Java) is widely used as the language you learn in introductory computer science courses. Instead of C++. I've been programming in C++ for a long time, and the language doesn't really get any easier - just new levels of complexity. Well, I don't really care much what he chooses to be honest. The language is not that important - good software engineering skills are. – jacmoe Nov 3 '12 at 15:49

Not the answer you're looking for? Browse other questions tagged or ask your own question.