Beginning Games programming

Some people have asked me what language that they should learn as they wish to become a games programmer.

At this point I should admit that I have never worked on a commercial game project so, if anyone is reading this who has more direct knowledge that myself, I would be grateful for any insights that I could add to these pages.

Most games will be written in C++ although, some may use C to try to get even more speed (at the cost of not having built in Object Oriented support).

For games, performance (speed coupled with a lot of complexity and detail), is the most important aspect. Therefore languages such as Java, C#, Basic, and Managed C++ are not used for mainstream games because they tend to run slower. This may possibly change in the future and factors like development time and the ability manage complexity may become more important. However, at the moment, there is not really a viable alternative to C++ for writing high speed games.

However, I would not recommend C++ as a first language because,

If you do want to use C++ here is some information about using KDevelop

I would therefore recommend that you start by learning Java first, then move on to other languages if you need to.

C++, Java and C# are all ultimately derived from C syntax but with Object Oriented Programming. So once you know one of these languages you have most of the concepts that you need. Perhaps discovering how the implementation details differ between these languages helps understanding and will make you a better programmer?

When changing from Java to C++ you will need to take care of the following:

Flash Games

Other languages

Most of what I've said about Java also applies to C# (since Microsoft have just taken the ideas from Java, and changed them a bit, so they have a competitor to Java that they have control over). So C# is just as suitable for beginners provided that you only want to use Windows and that you don't mind paying for Visual Studio (I don't know if Mono is a viable option).

I would not encourage Basic as a beginners language as it encourages bad programming habits.

Other Aspects of Game development

There is another approach to this, games development teams tend to be quite big, with people specialising in different areas. So if you want to specialise in the creative aspect, rather than the programming aspect, you might want to get game generation software which would give you a set of ready build characters and scenes and some tools to allow you to create your own games.

Tutorials

Here are some tutorials to help you get started, they all do the same thing but they are written in different languages so by comparing them you can choose which is the best language for you:

There are some tutorials on external sites:


metadata block
see also:
Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

cover Java - How To Program. This is a very comprehensive book, starting at the beginning and going through to advanced java capabilities. It covers Java 6.0, software is included on CD and the book is in colour.

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to this site, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

 

The 3D Gamemaker

Other commercial game generation software for home use

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2015 Martin John Baker - All rights reserved - privacy policy.