While there are many ways to learn Game Development, I firmly believe that ‘Game Schools’ are an increasingly attractive option for many people. This having been said, they aren’t for everyone, and even if you would like to attend one, unfortunately they aren’t available to everyone.
One of the most common requests I’ve received is for advice on what to do if a Game School isn’t a realistic option. This is the case for many of you, whether due to financial restrictions, geographical restrictions, or other factors such as age.
I’m going to try to give you some starting points for self-directed learning. I’ve known a lot of developers who are self-taught, so it is certainly possible to do, but there will be some big challenges ahead.
I’ll start by providing you with some tools and techniques to structure your learning, and then give you some tools and resources to start you off with Game Design, 3D Art or Programming.
The single biggest barrier that most people trying to teach themselves game development will run into is self-discipline. It is very difficult to stay on a rigorous schedule. Try as we might, it is far too easy to slip into distraction and procrastination.
Schools sidestep this issue by having scheduled classes, often with penalties for not attending. They even manage to provide structure while out of class through assignments and homework, which have deadlines and penalties for failure to complete.
One of your biggest challenges working alone is staying committed and dedicated to pursuing your studies. You need to create some sort of structure for yourself and keep to it. Here are some strategies that should help:
This section contains a list of useful tools, books, videos or other resources across 3 major disciplines: Game Design, 3D Art and Programming. The intent is NOT for you to read all of this straight – click the hyperlinks to go straight to the section that is most relevant to your interests, check out a couple of resources that look interesting, and start there. Note, as I’ve described in other articles, there are many specific fields within each of these disciplines – you should still try to figure out exactly what you want to focus on and tailor the skills you are learning to it.
Remember these are just potential starting points – this is far from a complete curriculum, nor is it a comprehensive list of the best resources out there to start with; these are just a few links to things that I’ve found value in over the years.
Note that if you are taking this seriously you should expect to spend a bit of money on the way – there are lots of great free resources, many of which I have linked below, but there are also some quality books, tools and websites that are worth shelling out a bit of money for. This will still cost far less than attending a game school. Don’t overdo it at the start and go out and order 20 books – just order a couple that look interesting, start with those and then get more later as you continue to learn.
High school classes to focus on: English/Language, Math, History, Drama, Programming
Alternate education options: If you don’t have access to a ‘game school’, consider a liberal arts degree, supplemented by some of the items below. A solid understanding of psychology, creative writing, history, math and philosophy are all useful for aspiring game designers.
A former colleague of mine, Alex Mandryka has created a free series of video tutorials covering Game Design theory. Alex is a very smart designer who has put a lot of thought into how to codify Game Design and make it something more than just intuition and luck. Alex was the former Director of Design at Relic Entertainment and Ubisoft Montreal. His blog is here:
Ok – so big warning here; this is a major procrastination pit. RESIST THE URGE to get lost watching videos about Cthulu and the Playstation Vita. That having been said, there is some great content here – check out this recent breakdown of Super Mario Bros. level 1-1, or the older ‘So You Want To Be A Game Designer’.
Fun website compiling design errors people have made – it is often easier to learn from other people’s mistakes than from their successes.
Great article that I still reference about keeping your core design priorities clear.
Interesting attempt to start to codify game design.
(full disclosure – these are affiliate links, as I figured why not pay for some of the hosting since I was going to link the books anyways)Theory of Fun for Game Design
Great book that I have re-read several times, about what ‘fun’ means and how you can use that knowledge to make more engaging experiences. Short read that provides a great base for thinking about game design.The Art of Game Design: A Book of Lenses
This is another interesting book, which will really expand your mind about what game design is, and how to see things from new perspectives. Another must read for those interested in game design.The Design of Everyday Things
This is not specifically about game design, but rather about ‘design’ in a broader sense. Nonetheless, this is a book that I recommend to anyone that will listen, whether they are interested in making games or not.Game Design Workshop
I’ll be totally honest and say that I haven’t actually read this one yet (it is on my list!) but I’ve heard a lot of good things from game designers about this book, and that it is a relatively well structured book – something that is a big benefit to those trying to work alone.Challenges for Game Designers
This book contains a lot of fun and interesting exercises and challenges to stretch your mind and help develop your brainstorming and creative thinking abilities. Another good one for those working alone, as it is easy to set a small goal of completing a new challenge from the book every day.
Easy to learn tool to create interactive ‘choose your own adventure’ story games. This is particularly useful to those interested in pursuing a ‘Narrative Designer’ path, or those who like to write stories, and you should be up and running in no time.
Stencyl is an easy to learn, powerful tool for creating 2D games – mainly top down or side scrolling games, but also simple RPGs and even things like Metroid-vania style games. It features a pretty neat visual scripting tool based on something developed at MIT, and is a pretty good way to start learning about scripting and game design. The free license is great to learn with, and then later on you could upgrade to one of the bigger licenses so you can actually release and sell your game.
Game Maker is another tool that comes highly recommended – it is a bit more powerful than Stencyl, but also a bit more difficult to use, as you’ll really have to learn a bit of scripting/programming to take advantage of it. It is also focused on creating 2D games, but Game Maker is pretty powerful, and has been used for some very successful games, including Spelunky, Hotline Miami and Gunpoint.
3D Game Engines
There are free versions of Unity, UDK (Unreal 3) and Cryengine available, and you can get a full version of Unreal 4 for $19.99/month. These are all powerful engines, are widely used in the industry, and can be used to make pretty much any kind of game you can think up – unfortunately they also tend to have pretty steep learning curves, and aren’t necessarily the best place to start for aspiring game designers. Note if you are interested in pursuing a career in Level Design this is probably the best place to start (I would recommend Unreal). If you’re feeling particularly adventurous, choose one and dig into it, but if your focus is game design I’d recommend starting out with one of the other tools mentioned above.
High school classes to focus on: Art, Graphic Design (if available), Animation (if available), IT/Computers, Drama (particularly if interested in animation), Programming
Alternate education options: There are a lot of excellent classical art schools. I would tend to look for one that focuses on classical art education (representational drawing, life drawing, sculpture etc.) rather than modern art, as it will build a skill base that translates more easily to game art.
There are lots of high quality video tutorials for 3D art out there, but many of them are behind a pay wall at a variety of websites. You can hunt down a lot of good free tutorials (and most of these sites contain one or two), but I would recommend biting the bullet and subscribing to one of the sites below – it will still cost less than taking a single class and you should get quite a lot of value out of their content. Digitaltutors, Eat3D, 3D Motive, Gnomon Workshop
This is an online community for 3D artists. A colleague of mine runs the site, and it is an amazing resource for learning art, getting critiques on your work and finding links to tutorials or other resources. I recommend signing up and participating, but a couple of words of advice:
Pretty decent overview of 3D modelling, techniques and terminology used in game development. Good place to start if you are interested in being a 3D artist.
This is free, and well written. Blender is also free, and is powerful, but it is worth mentioning that it is not by any means an industry standard. Additionally, it has quite a different interface to 3DS Max or Maya. This makes it good to learn the basics, but keep in mind if you pursue this path you will probably have to re-learn a lot of basic interface when you move over to Max or Maya.
This is the book that my art school used as the primary resource for figure drawing. It is a bit dated, but is an excellent resource to use to learn how to draw – be warned that the exercises are occasionally a bit confusing or repetitive, especially at first, but I’ve seen proven results across a wide range of students.Animator’s Survival Kit
Written by the amazing Richard Williams, this is one of the best resources for those interested in learning how to animate. It’s focus is on classical/hand-drawn animation, but the principles all apply to 3D, and, in fact learning classical animation provides an excellent foundation for 3D. There is also a DVD available to supplement the book, but I haven’t seen it so can’t comment on its quality.Human Anatomy for Artists: The Elements of Form
There are a lot of good anatomy books out there; this one is one of my favourite. Make sure to pick up some solid drawing skills first before jumping into human anatomy, but it is a great complement if you are interested in going into a character art role.Bridgman’s Complete Guide to Drawing from Life
Another good drawing and anatomy guide. Bridgman has an interesting planar style to explain and render anatomy which applies rather well to 3D art, though it takes a bit of a conceptual leap to get used to it.Photoshop for 3D Artists
Good guide to how to use Photoshop for 3D art – this can be handy, as Photoshop is a big intimidating program and it is nice to know what to focus on.Mastering Autodesk Maya 2015
The internet is generally a good place for finding this kind of info, but if you’re the kind of person that learns better from working through a book, this series is quite good. Note that much of this isn’t relevant to game development – don’t bother digging into advanced muscle systems or cloth simulation, stick to modelling, texture mapping, rigging and animation.ZBrush Character Creation: Advanced Digital Sculpting
Good book on sculpting characters in ZBrush – make sure you spend a bunch of time with the basics before jumping into this, as it focuses on details and advanced techniques, but if you are interested in becoming a character artist this is a good book to have.
The industry standards for 3D are either Autodesk’s 3DS Max or Maya. People will argue vehemently for either, and I’m not going to wade into it – all that is important is that you pick one and learn it to a good level – once you are familiar with one of them, the other (or any other major 3D software) will be pretty quick to pick up as well. Autodesk offers 30 day trials of Max and Maya, or you can get a 3 year free educational license to learn with (links for Max and Maya).
Maya LT (less expensive, stripped down version of Maya for Indie developers – good option for Indies, but there are better options for learning, as this still costs $800).
Blender (see note above – free and powerful, but not an industry standard)
Motion Builder is an increasingly common tool for animation and working with motion capture data. It is worth learning if you’d like to be an animator, but I would recommend also learning the basic animation/rigging tools in the 3D package of your choice. Like 3DS Max and Maya, it has a 30 Day Trial, and a free 3 year educational license available.
Photoshop is the industry standard for texturing, and is key to learn well if you are interested in 3D art. Unfortunately it isn’t particularly easy to get a copy of it. The 30 Day Trial is a good place to start, and you can get a good educational discount if you are currently attending High School or College (check here). I wouldn’t splurge for a full price copy, but it is worth trying to get a copy to learn with.
Gimp is an workable alternative to Photoshop. Like Blender, it is actually quite powerful, and will get the job done, but it is not used widely in the industry and is just different enough from Photoshop that it can be a pain to transition. An okay option if you just need something to manipulate textures etc.
Quixel is a newer player on the market, but the tools they have introduced, including DDO and NDO are already starting to become standards for many 3D artists. They provide some additional tools for improving the texturing pipeline, and fortunately they offer a fairly affordable ($49) academic license that is full featured.
Z-Brush is a 3D sculpting tool that is becoming increasingly important for 3D Artists (particularly Character Artists). Unfortunately, like Photoshop, it isn’t easy to get your hands on – they offer an academic license for $500, but don’t currently offer a trial version.
Though not used quite as heavily as Z-Brush, Mudbox is another common sculpting tool, and fortunately like the other Autodesk products it has much more accessible tools, including a 30 Day Trial and a free 3 year educational license.
High school classes to focus on: Math, Physics, Programming (if available), IT/Computers, Calculus/Advanced Math.
Alternate education options: Most programmers working in games went to ‘traditional’ schools and have Bachelors/Masters/PhD degrees in Computer Science. Many cities have excellent Computer Science programs, and this is definitely something you should strongly consider if you want to be a Game Programmer. That having been said, many of these programs do not include a lot of courses on game development, so you’ll want to supplement with some of the materials below and your own research. Look for schools that have good reputations for Comp Sci, and also look for ones that still have a lot of C++ in their curriculum, as many schools are moving away from it these days.
This is an excellent article that includes many other resources which I will not repeat below – if you want to go into game programming this is a pretty good place to start.
GameDev.net is a well-established online community catering to game developers. The site itself contains a lot of articles and tutorials, but the forums are a great place to get involved, ask questions and get help when you are stuck.
Another non game development site, Microsoft’s Virtual Academy provides well-structured lessons to learn a variety of programming languages. Personally I think that C# is a pretty good place to start – it is used in several game engines, including Unity, and has some similarities with C++, without having to deal with too many low level systems.
Cg is a common language used to program shaders. If you are interested in becoming a 3D programmer, or a Technical Artist, this is a worthwhile language to learn. This website has the entire contents of a fairly thorough book on Cg programming for free online – it is a bit dry, but the content is good.
This blog lists out a bunch of different game development tutorials – they are not limited to programming tutorials. While there is some great content here, it tends to be fairly specific to certain problems – take a look around, but don’t get sucked in to spending hours reading about side topics.
Unity has a number of excellent video tutorials to learn programming available on their website. While these are obviously specific to the Unity engine, they are quite satisfying to complete as you will quickly get things working in-game.
Also specific to Unity, these are quite satisfying tutorials to go through to learn how to make a few simple projects in Unity. You’ll need a basic understanding of scripting going in, but they do cover some good ground, including tool development. Additionally, they have some nice structure to the site, with a syllabus, exams and lab projects, which work well for students working from home.
Accelerated C++: Practical Programming by Example
This is a good book to start with for learning C++. Note that I’d recommend that you start learning a modern language like C# first, but C++ is the industry standard and if you want to make AAA games sooner or later you’ll have to learn it.Game Programming Gems
Game Programming Gems is an excellent series of books, with a lot of great examples of how to deal with specific problems in games. You’ll want to have a pretty good understanding of working with programming languages/C++ first to get a value out of this.Game Engine Architecture
Good overview of game engine software development, covering a lot of ground. This is probably a good place to start for those who have learned some programming and are serious about pursuing a career as a Game Programmer, and it is particularly valuable for those interested in becoming an Engine Programmer.Real-Time Rendering
Real-Time Rendering, Third Edition
Excellent resource for those interested in rendering, or in becoming a 3D/Rendering Programmer. Note this requires pretty heavy math skills.Programming Game AI by Example
Introduction to AI Programming for games – if you are interested in becoming a Gameplay or AI programmer, this is worth reading.
This is a great free text editor with support for many programming/scripting languages.
Visual Studio is the industry standard for an integrated development environment. Microsoft has excellent tutorials and learning resources available, and if you are a high school, college or university student you can get a free copy of Visual Studio through their student program.
Code::Blocks is a free IDE that has the advantage of being cross platform. It isn’t as common in the industry, but is a good tool for programming in C++.
Nsight is NVIDIA’s free tool for programming and debugging shaders. This particular link works with Visual Studio, but you can also get a version for the Eclipse IDE if you prefer.
3D Game Engines
If you’d like to learn game programming, I think learning in one of the popular game engines is a great place to start. I’m a bit biased towards Unity, as you can very quickly get your hands dirty with some scripting and see results, but UDK or Crytek also offer good free options.
I hope this article has given you some ideas for starting to teach yourself game development. Note this is far from a comprehensive list, and much of it lies outside of my area of expertise. Please leave comments to share other tutorials, books or tools that you have found particularly useful, or ask questions if you are looking for some particular information.