Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
May 22, 2019
arrowPress Releases

If you enjoy reading this site, you might also want to check out these UBM Tech sites:


How to Go From Game Programming Beginner to Expert

by Brice Morrison on 06/24/13 05:15:00 pm   Expert Blogs

1 comments Share on Twitter    RSS

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.


This article is cross-posted from The Game Prodigy, a site for students and parents interested in careers in games. Visit for resources and a free 29-page Complete Toolkit.

Photo Credit: ericnvntr

Many students ask me what kinds of engines or programming languages they should use to get started making games. We live in a golden age where anyone with a computer and an internet connection can start making their own games from home, teaching themselves what to do. This is wonderful! But the downside is that when you are just starting out, it can be very confusing and bewildering to pick what kinds of software you should get familiar with.

The answer is: what programming language you should learn depends on your skill level. What you want to do long term is build up skills that are interesting and fun for you, but also useful to a game company that needs to ship products. These might be Flash games, mobile titles, console games, or something else. If you have the skills to build these titles, then you'll have a much easier time later on in Stage IV when you are trying to land a job.

Beginner Difficulty

If you are a beginner and have never made any games before, then I recommend starting off with a simplified programming interface like Game Maker. This will start to teach you the concepts of making a game, how things work, how you get a character to start moving across the screen, how you make levels and detect collision so that the game knows when you've gotten hit and taken damage. It's important to understand these ideas, to see a bit of the engine under the hood, before you get into more complicated programming.

Once you understand these basic concepts, however, it's important to get off of simplified programming interfaces as fast as possible. They are appealing because they let you build games quickly and easily, but over the long term programs like Game Maker will not help your career. There aren't any game studios that use Game Maker to build their titles, because professional titles typically are more complicated.

You can find a free copy of Game Maker here.

Medium Difficulty

Next, you should move to something that is closer to actual programming. I recommend Adobe Flash. You can purchase the Flash development software from Adobe, or you can get a free development environment like Flash Develop and get started. Flash will allow you to make some very robust games that you can put online at sites like Newgrounds on Kongregate. Many large game companies like also build their games in Flash for Facebook.

Another suite that I recommend is Unity. Unity is used by many professional and indie developers alike as a great mobile engine. It is much more advanced than Game Maker and lets you build 3D games and can export across many platforms and devices.

Most importantly, both of these start to introduce you to actual code, which is paramount to being able to make real games. It's not so complicated that you will take a long time to get going, but you can also get fairly advanced in either Flash or Unity.

Here are some links to get started with programming in Flash and Unity:

Hardest Difficulty

Programming in C++ (used for PC and console games) or Objective C (used for apps) is where you want to end up eventually. These are very powerful programming languages used to build just about every kind of software you use across all types of devices and computers, not just games. Using DirectX with C++ is one of the top ways to build top-notch PC games. Additionally , these languages will introduce you to some of the more advanced topics within computer science, such as memory management and data structures, which will be helpful to you not just in a game career but also in school and other software industries as well.

Here are some great resources to get started programming C++:

Think Long Term

It's important to think long term with your game making skills and take it one step at a time. If you are already advanced, then I would encourage you to try making some games in the more difficult languages to grow your skill set. If you are just getting started, then feel free to get started with simpler programs like Game Maker, but be sure not to get stuck on them and never move on. Moving towards more difficult skills will allow you to build better games and also land better jobs later on.

Best of luck!

This article is cross-posted from The Game Prodigy, a site for students and parents interested in careers in games. Visit for resources and a free 29-page Complete Toolkit.

Related Jobs

Hyper Hippo Games
Hyper Hippo Games — Kelowna, British Columbia, Canada

Software Developer - Unity
Wizards of the Coast
Wizards of the Coast — Renton, Washington, United States

Sr Lead Software Engineer - Arena
Wizards of the Coast
Wizards of the Coast — Renton, Washington, United States

Lead Software Engineer - Arena
Backflip Studios
Backflip Studios — Boulder, Colorado, United States

Senior Cloud Software Engineer

Loading Comments

loader image