It’s easy enough to play a few video games and decide that it would be pretty neat to be the one creating them or see that game development is a profitable and growing career field, with the average annual salary for software developers over $93,000 according to the BLS, and decide to be a part of it.
However, people considering game coding as a career, especially middle school and high school students, don’t necessarily know where to start. While it’s a good idea to do more research about software development and programming languages in general, it’s absolutely crucial to become more familiar with the programming languages commonly used for video game programming.
While there are multitudes of programming languages, each with their own strengths and weaknesses, most video games use a select number of object-oriented languages. Object-oriented programming, or OOP, differs from imperative, functional, and declarative programming by describing concepts as objects. These objects are described by data fields and are acted upon by procedures called methods. OOP was introduced to deal with complex computations by reducing large problems to smaller, more manageable ones; it has other benefits over non-OOP, or procedural, languages like BASIC, C, and FORTRAN, including flexibility, how errors are caught while the code is compiling rather than while it’s running, and better performance. Overall, OOP is preferred for video games because it can deal with large amounts of data quickly, allowing the games to run smoothly.
Java is one of the most common OOP languages, and is a great language to learn first as it is relatively simple. Great at handling movement (a must for most video games), Java is popular for both simple interactive games and other, non-game applets. It is likely students have seen or used a Java-based educational or demonstration applet.
Java is an exclusively OOP language derived from other languages that are not strictly object-oriented, such as Oak and the C languages. There are many tutorials online that teach Java coding.
Microsoft’s Visual Basic, created by adding OOP elements to the earlier BASIC language, processes efficiently and accesses databases quickly. Though it has its flaws (it’s unstructured and is changed with every update from Microsoft), Visual Basic can be used to create many types of applications, including games and programs; it deals well with mathematical problems and data processing and is a basic for almost any software or programming-related job. Simple, yet powerful, Visual Basic can do some of the same tasks the C++ language can, but is much easier to learn and implement.
C++ is the programming language to know. It can be used for systems and application software, device drivers, and high-performance servers, as well as video games. Part of the C family of languages (which also includes Objective-C, C–, D, F#, and others), C++ can do just about anything and everything a programmer needs, but is a significantly more sophisticated language and requires a lot of effort and practice to master.
Though organizations like Microsoft, the GNU project, and Intel offer compiler software to aid in C++ programming, it’s best to begin with the basics and master those before tackling more advanced projects.
Java, C++ and Visual Basic are the most popular programming languages and they are used for some of the big games. But there are a lot of indie developers who prefer to use other high-level programming languages like Lua or Python.