The Game Dev Journey Archive
This page originated as a place to centralize all of the various resources I’ve discovered during my game development journey. However, I found it quite difficult to keep track of such an ever-fragmenting and diverging path. Because of this, the idea of a centralized resource pool was abandoned. Everything on this page is a snapshot archive from 2017-11-24 @ 19:40:09.
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.
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.
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.
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
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.
Learning Game Mechanics, Design, and Art
Physics & Mechanics
Design
Sound
Learning about the gaming industry
Game development isn’t all about typing code and creating assets.
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.
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.