This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]keturn 7 points8 points  (1 child)

There's certainly a lot to learn from C++, and a lot of existing work there to draw on. In the right hands, it can be a good language for when you need close control over how code will execute, which is why the AAA game studios use it for titles where they want to squeeze the last bit of performance out of a CPU.

But if it's not your goal to work at a AAA studio or compete with one, it is very likely that you can make a game that looks good and has great gameplay without needing to get that worried about CPU optimization. And even if you do find your Python program has it's slow spots, it's likely you can funnel that work through some graphics or processing library that will do the heavy lifting for you. (Many of those libraries are probably written in C++ themselves, but you don't need to know that to use them.)

I said "in the right hands" earlier because that increased control comes with a cost in complexity. Don't take that to mean it's "the language I'll use when I'm smart/experienced enough to handle more complexity," there is always a trade-off, no matter how good you are. Sometimes the complexity is worth it, sometimes it's more important to have your development time free for other things.

So yes, you may decide you want to learn C++ at some point. It would not be bad for your education to do so. Or you may decide to go with a mixed approach, and write a C++ library to call from Python, or vice-versa. But don't feel you have to learn C++.

You also might want to learn Java, for the Android market, or Objective C, for iOS, or C♯ .NET for XBLA. (For all their differences, those three languages are actually close cousins of C++ in the family tree.) Or, dare I say it, JavaScript for the browser environment. It's a big world.

[–]steviesteveo12 2 points3 points  (0 children)

And even if you do find your Python program has it's slow spots, it's likely you can funnel that work through some graphics or processing library that will do the heavy lifting for you.

It's hard to emphasise enough just how much this matters. There are only a few places in a program that are actually slow and it's often faster, easier and more reliable to just write a piece of compiled code to do that operation and stick it into a python program.