|
That's not a straightforward question to answer, since it depends on all sorts of factors, including your own personal preference. You're right of course, to ask whether you're picking the right tool for the job, although, depending what 'kind of' game you're aiming to make, the answer will vary.
I'm guessing that C++ is your first (or maybe second?) programming language? So you're not looking to make the next latest-greatest 3D supergame with all bells & whistles. More realistically, maybe a text-based adventure game or a simple 2D game.
If you're going to write a text game, which is a very realistic goal for a beginner, then C++ is as good a language as any.
C++ is a very flexible, powerful language, and many, many popular games and applications have been written entirely in C++, but its platform independent. This means that anything remotely platform specific (such as graphics, i/o devices, multithreading, etc) are all left to 3rd party library vendors. This isn't a problem in itself, since large compiler vendors and O/S vendors have released their own API's and toolkits for this kind of thing. The only drawback is that there's no common ground between those various components in C++, and you'll need to look at forums specific to those API's for help/support (They're completely off-topic in a standard C++ forum).
Alternatively, you could look at a managed language like Java or C#, which has all that kind of stuff available as standard. Java is relatively platform independent, but also a little slow to load up, and fairly inefficient when you begin writing large, complicated applications. C# is a little better, although, its a Microsoft language, and only runs on platforms which support the Microsoft .NET framework.
Another possibility if you don't mind tying yourself to the Microsoft .NET framework is XNA - a language designed for writing games on the Microsoft .NET platform. - You could also check out Python, which seems to be a nice, friendly language towards beginners. (Python is also 'managed', but to me, it seems to run faster than Java)
Don't let this put you off learning C++; C++ is a very widely used and widely supported language. An in-depth understanding of C++ should set you up with enough technical knowledge that you ought to be able to pick up many other languages fairly quickly. This being the case, C and C++ are fairly popular with employers (In case your goal is to go for a career as a software developer). compared to some languages, C++ isn't "easy" and learning it isn't quick, but for many people, learning the language is a rewarding experience.
This post has been edited by Bench: 30 Nov, 2007 - 03:51 AM
|