login about faq

To prove you're not a spammer, email newuser.lgqa@gmail.com with the subject "Account Request" to request an account.


I've started a Games Technology course at Uni this year, and we're learning C++. Obviously, we haven't started any actual game coding yet.

Is C++ a good language to use? Is it a good starting place, a bad one? What do you use or find easiest?

asked Jun 09 '10 at 09:25

Dilzi's gravatar image


Games for what, exactly? And what type of game?

Flash is common for making games designed for the web. You can also use Javascript in some cases, but that's rare.

C++ is very common for highly intensive gameplay due to its overall performance (because it's compiled). Details on why C++ is a good choice for resource-intensive applications are all over the web.

C# (and .NET in general) is starting to gain some ground with the growing popularity of the XNA framework, which allows you to create games and other graphical applications across the PC and Xbox quite easily.

On the less common side of things, I have seen games made in Python and C. Not many other languages are used often for game programming.

Personally, I see C++ as a bad start for game programming if you don't already know the language. C++ is a hard language to learn, and game programming isn't that easy either. Learning both at the same time will surely cause misunderstandings and pain.

StackOverflow has a similar question: I want to learn game development. Which language should I use?

answered Jun 09 '10 at 09:31

strager's gravatar image


edited Jun 09 '10 at 09:35

Indeed. It has as many undefined behaviours as C with more complex "extensions". Hopefully they'll be learning some basic console games before they move onto the GUI stuff.

(Jun 09 '10 at 09:35) Seb Seb's gravatar image

The reason we're learning C++ is because it's hard. It's like hitting your head with a sledge hammer. When you switch to a mallet, it feels better.

C++ is better for highly intensive 'gameplay'? You mean graphics? I'd like to use whatever platform is easier for whatever game is in mind.

After looking at C#, it looks pretty useful with the XNA frameworks and such.

(Jun 09 '10 at 09:36) Dilzi Dilzi's gravatar image

The problem with learning C++ is, as @Seb mentioned, there are very common pitfalls. If you're not learning C++ itself (and you are instead just using C++ as a tool to get through to game development), those pitfalls will consume you and perhaps lead you to create horrible code.

@Dilzi, By "intensive gameplay", I mean "resource-intensive"; commercial games sometimes have high CPU, memory, and graphical power demands, and those games are most often written in C++.

(Jun 09 '10 at 09:39) strager strager's gravatar image

Uhh yeh, no. That makes no sense, sorry. Both C and C++ are extremely... well parts of them are downright inconsistent, not to mention many things aren't specified by the languages, so you may believe you're doing something right and boom it breaks on another system because you've unknowingly invoked undefined behaviour (aka the screen ate you). These are not programming languages that should be learnt first up because "they are hard", because it makes teaching/understanding the logical side of things harder. I prey that you have a good teacher. A good book might also help you. Here's a list: https://dl.dropbox.com/u/1607384/books.html

(Jun 09 '10 at 09:42) Seb Seb's gravatar image

Lucklily we are learning C++ seperately, as a seperate string of classes. And the games will build on that. I hope.

(Jun 09 '10 at 09:42) Dilzi Dilzi's gravatar image

This is starting to sound more and more like my own college. Curse the education system. Anyway, list of books there. You may like to see your local library to see if they have a copy of "The C++ Programming Language" by Bjarne Stroustrup.

(Jun 09 '10 at 09:49) Seb Seb's gravatar image
showing 5 of 6 show all

I'm not a fan of C++, but a lot of game programmers use it... You could use almost anything to write games in, though. For example I think there's a version of Super Mario written in Haskell floating around. I prefer ISO C99, or C#. Nonetheless, enjoy your programming. I hope you get the most out of it. Is C++ the first programming language you've ever touched?

answered Jun 09 '10 at 09:29

Seb's gravatar image


No, I played with Visual Basic 6.0 in High School, an grazed the surface of LOGO. I quite liked VB, it was so similar to the psuedocode I used in class. C++ is nasty in that regard.

(Jun 09 '10 at 09:32) Dilzi Dilzi's gravatar image

C++ is currently the most powerful language I know, and I've had fun writing games in it. In order to write good games, you must learn how to use graphics mode to make the games look good. However, graphics mode is only available in 16-bit compilers (ie Turbo), which I had the misfortune of using. It's a real pain and doesn't work in full screen mode in anything newer than Windows XP, which makes it impossible to use graphics on my computer. It is also a good language to use to learn other languages, as it is a C-based language, and so are many others that are more widely used.

Now, if it doesn't have to be a language, Game Maker is great for making games, but it is not true programming.

answered Jun 09 '10 at 10:14

dan_144's gravatar image


Have you ever heard of a graphics API such as OpenGL or Direct3D? Yeah, those are pretty useful in modern game programming. I doubt any games commercial made nowadays interact with the BIOS directly for graphics.

(Jun 09 '10 at 10:21) strager strager's gravatar image

Nope. I'm planning to take a class that works with PyGame, which is Python-based graphics, I believe. I would certainly doubt that anyone develops games in anything like Turbo C++. It's great for learning, but nowhere near as good as anything else.

(Jun 09 '10 at 10:28) dan_144 dan_144's gravatar image

Turbo C++ is HIGHLY outdated. I don't think it was even in use at the turn of the century. Also, C++ is a language; Turbo C++ is an implementation. You shouldn't describe C++ as if it were (just) that implementation. I agree that in the modern world, Turbo C++ just won't cut it. However, MSVC++ will, and g++ and Intel's C++ compiler, too.

(Jun 09 '10 at 10:31) strager strager's gravatar image

That is true. Turbo C++ is only used at my school as a teaching language, as well as Pascal. And yes, C++ is still a good language, but Turbo C++ is not a good compiler, compared to all the other ones available.

(Jun 09 '10 at 10:36) dan_144 dan_144's gravatar image

Turbo C++ is a great compiler. It's just outdated and not suitable for modern game creation.

(Jun 09 '10 at 10:41) strager strager's gravatar image

For what you can use it for, it is a good compiler. For what is needed in today's world, it is an outdated compiler. So basically what you said. It is suitable for game creation, but not very good games. I made a wonderful Checkers game in it, but it will not run on my computer because the graphics does not work in 7.

(Jun 09 '10 at 10:45) dan_144 dan_144's gravatar image
showing 5 of 6 show all

I recommend the company clickteam, they make some great software that lets you make flash, java and exe games and applications all with drag and drop, scince I was about 11, I started using it, it is really easy and they have a great community if you need help. Their website is: http://www.clickteam.com/website/index.php

answered Jun 09 '10 at 10:43

josephtaylor1995's gravatar image



answered Nov 05 '10 at 08:34

SUKESH's gravatar image



answered Nov 05 '10 at 08:40

SUKESH's gravatar image


I believe Battlefield 1942, Battlefield 2 were programmed using Python, Python is pretty easy to learn and if you have played BF1942 or BF2 you know they are very good games. Although C++ is the most widely used of all languages for game programming for the simple fact it is powerful. On a side note Carmack used Assembly language to build the shell for most of iDs games. Thats just hardcore.

answered Nov 05 '10 at 10:26

synaptiv's gravatar image


Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or __italic__
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: Jun 09 '10 at 09:25

Seen: 18,401 times

Last updated: Nov 05 '10 at 10:26