Game Programming

Programming is the area of game development that makes the mechanics and physics work. It’s one of the areas that brings the other aspects (art, sound, design) of game development together and makes them function properly. It’s responsible for managing the input and output information in a game. Controlling players, cameras, objects, menus and making it all function together as smooth as possible.

It’s easy for players to overlook what goes on behind the scenes but for developers it’s impossible to imagine a game that doesn’t have programming. Even for visual methods such as Scratch, the developers are still using programming techniques just in a different way than they used to.

Computers don’t understand the same languages as we do. It only reads binary. Since the first days of computers, the languages which people use to create the logic behind programs have evolved and became much easier for humans to understand.

Nowadays there are two main groups of languages to choose from: scripting languages, such as Python and JavaScript or compiled languages, such as C and C++. With so many languages to choose from, there are a few factors that will usually help you choose one to work with.

A very important factor when deciding which language to choose is which tools you are using or want to use. Another factor is how hard the language is to learn. You might be motivated and dedicated enough to learn a harder language but it’s good to know beforehand that you’re going to go through tough problems.

Programmers use IDEs (Integrated Development Environment) to write their code. The IDE of choice is usually decided based on which programming language is being used. The IDE’s function is to provide developers with tools that will help them create the applications with greater ease.

The code of a game goes into a game engine. Programmers have the choice to either build one themselves or use one that’s already been built by someone else. Creating an engine is a very hard task and beginner programmers are encouraged to use engines that have already been built.

List of programming languages:

  • C++ is a multipurpose programming language created by Bjorne Stroutstroup. It’s a really powerful language and used by many people in the game design industry.
  • JavaScript is a scripting language which is used by a great number of game designers.
  • C# is an object-oriented programming language developed by Microsoft which includes support for component-oriented programming. It’s similar to languages such as C, C++ and Java.
  • Java is an object-oriented language which was originally developed by James Gosling at Sun Microsystems.
  • Python is a widely used scripting language.

List of programming software:

  • Greenfoot teaches object orientation with Java. It is aimed for people who are entering the world of programming. The skills you learn in it are very applicable to more advanced programming. If you’re looking for some resources to help you use Greenfoot, take a look at their Documentation page.

Here’s a list of IDEs (Integrated Development Enviroment):

  • Dev-C++ is a C/C++ open source IDE.

Here’s a list of programming resources:

List of Audio Programming Resources:

  • FMOD Ex is an audio API. It can be used to integrate sound with your game engine.

Know a programming resource that isn’t in any of our lists? Please send us a message!

Sign up for the FREE Game Design Resources newsletter.