Top Menu

GameDevHeader

In September 2015 I decided I wanted to make a video game. Having no experience with game development, let alone any experience with programming of any kind, I sensed quite a daunting journey ahead of me. So I took to the internet.

After attempting several search queries with varying results–how to learn video games, learn to code 3D games, game programming for beginners, and on and on–I realized that a starting point wasn’t going to be as easy to find as I would have thought. Most of my searches resulted in information that was either 1) more advanced than beginner (what the hell is a “declaration” or a “namespace” I asked myself) or 2) a thin sales pitch that I feared didn’t care if I was truly a beginner or not. I simply could not find a reliable “start here, then go here, then go here” type document; I wanted a classroom syllabus. Well, not wanting to pay for such a class, I decided to go out on my own to forge my own road map. This road map/syllabus is what you see here.

Below I’ve compiled resources that I’ve ACTUALLY USED (capitalized to not understate the importance of personally vetting all resources). This list will evolve and grow as I absorb more material. Check back often. Remember, this is just a list of resources (with some minor context). If you have any comments or suggestions, contact me.

Learning GameMaker Studio

I originally tried GameMaker many years ago, but my ambitions were too high (and misguided) for me to take it seriously. It felt weak, with it’s focus on drag-and-drop functionality. Well, after trying Unity3D for a while, I returned to GameMaker specifically for its simplicity. But don’t let that fool you. GameMaker isn’t simple, especially if you aren’t familiar with coding concepts.

Make an Action RPG in GameMaker Studio
Benjamin Anderson has been teaching GameMaker Studio for many years. His presentation is casual, which is great. This particular course starts out slow and easy (at least for someone like me with an understanding of basic concepts of coding logic). However, it begins to move very quickly about halfway through. I found myself simply typing his code verbatim without fully understanding it. I’ll likely go back and do this course a second time.

View the Course

GameMaker Language: An In-Depth Guide
Think of this book, by Benjamin Anderson, as an off-line, abbreviated version of the GameMaker Studio GML online documentation. Some make see this as a fault. However, this is exactly what I was looking for when I purchased this book. I found myself, during my normal-day-to-day, away-from-GameMaker time, wishing I had a quick resource I could access in order to fill that downtime with learning opportunities. As someone new to GML, simple language and syntax issues were difficult for me. This book allowed me to make use of otherwise wasted time. For those wanting a printed version of the GameMaker online documentation, this is a suitable, but thin (by comparison) compromise.

Read the Book

Learning the basics of C#

Initially, I skipped trying to learn about C#. Instead I dove right into Unity (a 3D game making engine). After a few lectures in the course I was taking I decided to take a step back to learn some fundamental C# before I continued. While I don’t believe this C# knowledge is imperative to learning Unity, my learning style is such that I want to know as much as possible about everything before moving on.

C# Fundamentals for Absolute Beginners by Bob Tabor

A perfect series for absolute beginners (the title isn’t just clever). The instructor, Bob Tabor, speaks slowly and articulately, but never in a condescending way. Also, he is sure to point out concepts that are important to acknowledge, but aren’t important to fully comprehend at the beginner’s stage. I appreciate this, as it allows me to compartmentalize knowledge and focus on what truly constitutes “beginner level.” The course also stays true to its beginner namesake. Many resources attempt to be a full C# course, covering everything from beginner through intermediate to advanced. C# Fundamentals for Absolute Beginners stays firmly at the beginner level, so those with no prior C# (or any computer programming language) knowledge will never feel left behind. Likewise, if you are an intermediate user, you can safely avoid this series.

View the Course

 

Pong & Object Oriented Programming
Illustrates what object-oriented programming is by using simple diagrams. This video does require a basic understanding of coding to follow.

Learning the basics of Unity

Introduction to Unity with C# by Steven Nikolic

I’ve started (and stopped) a few different ‘intro to Unity3D with C#’ courses. This is the only one I stayed with to the end (so far; I have a few more on my list that I haven’t started yet). The instructor, Steven Nikolic, is incredibly articulate which is important when communicating something that depends on specific language like, well, a new (computer) language. He also has an amazing way with analogies, too, which may not seem very important, but when coming at foreign information without any context (I have no programming experience) analogies help create a common reference point for both the instructor and the student.

Steven seems to prefer to do as much “in code” (that means via scripts, for other newbs like me, who may be reading this) rather than via the Unity inspector, which I very much appreciate. I want to learn fundamentals and important concepts that will translate to other IEDs and game engines; I don’t just want to learn how a specific piece of software works.

View the Course

Learning Game Mechanics, Design, and Art

Physics & Mechanics

Projectile Physics – How Do Bullets Work In Video Games?
Player Mechanics – Harmony in Good Game Design
Player Mechanics – How Mario’s Mushroom Changes Everything

Design

Enemy Design – What can we learn from Doom?
Level Design – How Mario Makes You a Better Player
Verbs – Super Mario’s Hidden Language
Player Choice – How to Make Choices that Matter

Sound

Music – Adaptive Soundtracks

Learning about the gaming industry

Game development isn’t all about typing code and creating assets.

Game Production Basics by Tobiah Marks and Amanda Lange

This short series is a great primer for helping new developers (and even those of us who aren’t even new developers yet) navigate the possibilities of the gaming industry using wide strokes. Don’t expect how-to tutorials or in-depth coding lessons here. Expect instead to learn what the various development team roles are (artist, developer, and designer). Expect very brief overviews of available tools (including a ton of free tools). This series is perfect for someone at the exploratory stage, unsure if they even want to start a game development path. Note: Marks interrupts Lange a LOT, which tends to be very annoying. If you can look past his interruptions, the content is solid.

View the Course

My Resource Queue

This is a list of resources that I am currently using, but have either not yet used enough to recommend or not yet used enough to allocate to a proper phase above.

Make a Platform Shooter – GameMaker Studio 2 [VIDEO SERIES]
Initial thoughts: none

Game Programming Patterns by Robert Bystrom [WEBSITE/EBOOK] Initial thoughts: The book seems to be about the importance of organizing code. I anticipate this resource will be very useful as I learn more about coding fundamentals.

Kahn Academy – Algorithms [WEBSITE] Initial thoughts: none

Introduction to Game Design, Prototyping, and Development [BOOK/WEBSITE]
Initial thoughts: none

Computerphile [VIDEO SERIES]
Initial thoughts: none

My Software

GameMaker Studio 2 – A game development engine that’s best for 2D games.

Microsoft Visual Studio and MonoDevelop (free) – IDEs (Integrated Development Environments) used for the actual writing and programming of C# (and any other programming language).

Unity 3D (free) – This is used for the actual writing and programming of games.

Abandoned Resources

The resources listed here have been abandoned only because they no longer serve my aims. For example, C# resources have been abandoned because I have shifted (as of September 2017) my game dev focus to GameMaker Studio. For resources I’ve tried and do not recommend, see the Condemned Resources section below.

“Ropes” Game Developer Diary [VIDEO SERIES] Initial thoughts: Absolutely perfect for new developers trying to come to terms with the intimidation of using an IDE and/or game engine for the first time. Nic, a developer at Delphinium Games, documents his journey as he uses develops a game using Unity for the first time. It’s great to see how a veteran developer looks at Unity, where he is impressed by it, where he feels it’s lacking. This allows me to better understand how Unity fits within the world of other game engines while also allowing me to divorce my step-by-step “tutorial mind” from the larger, conceptual mind of a veteran.

The C# Programming Yellow Book by Rob Miles [BOOK] Initial thoughts: Very readable and meant for beginners.

Sams Teach Yourself: Unity Game Development in 24 Hours (2nd edition) by Ben Tristem & Mike Geig [BOOK]
Initial thoughts: none

Learn to Code by Making Games – The Complete Unity Developer Course [VIDEO SERIES]
Initial thoughts: This seems like a fairly comprehensive course, containing 12 sections with over 51 hours of content. The course nurtures the beginner very well until about section 6 (creating Laser Defender, a Galaga clone), where Brice Fernandez takes over as the primary lecturer. Brice doesn’t break things down as much as Ben, which could deter some people.

C# for Dummies [BOOK]
Initial thoughts: none

The C# Programming Language [BOOK]
Initial thoughts: none

Head First C# [BOOK]
Initial thoughts: the use of training exercises is great (and surprisingly absent from many other resources, which instead have the user simply copy code verbatim)

Unity for Absolute Beginners [BOOK]
Initial thoughts: none

Mastering 2D Games in Unity: Build 6 Fully Featured Games [VIDEO SERIES] Initial thoughts: none

Game Physics – Extend Unity 3D’s Physics Engine in C# Code [VIDEO SERIES]
Initial thoughts: none

Learn 3D Modeling – The Blender Creator Course [VIDEO SERIES]
Initial thoughts: none

Condemned Resources

Twenty C# Questions Answered [VIDEO SERIES]
As the title suggests, this course answers 20 C# questions culled from various online forums. While this series would likely be great for intermediate to advanced C# users, beginners will be a bit in over their heads. 

Close