LOVE GAMES. As a kid I always loved games, ever since playing the early zelda games, I wanted to make games myself – but then after years of school and eventually college and odd jobs, life happened. Eventually I had a family of my own, responsibilities, bills to pay, priorities, and I didn’t even have time to play games anymore! However, ever since I started getting into web design I always held onto the idea and passion of wanting to make games in the back of my mind. So thinking about gaming a lot lately (Wii U is coming out soon, as well as seeing a lot of successful video game related Kickstarters), and seeing a couple of awesome interviews with Gabe Newell lately & reading up on his company Valve, have inspired me to put this post together. With all the research I have done with looking into how to make games in the past, I hope it will be a good resource for those that are looking to dive into game design & development, and follow their passion to make their own games! So that the next generation of kids will have something to play, obsess over, fall in love with, and aspire to one day make something that awesome as well! You may be so inspired that you may want to look into some video game design schools, or teach yourself!
What Is Game Design & Development?
I believe a lot of people get the two confused, game design and game development, while part of the same thing, are two very different things. This post focuses on game development, because that is the actual thing that gets the game made. I believe a lot of people search for “Game Design Tutorials” and “How to get into game design” and then get frustrated because they can’t find out how to actually make a game (at least this was my experience a few years ago when I started looking into the subject). I have learned that to actually learn how to make a game, you need to focus on the development – I believe the “game design” part comes to you first, as an idea for a game or just a passion to want to create something. So focus on game development to get started – then worry about the “design” aspect once you can actually build something (if you are a one man, or a few man startup), If you plan on partnering with someone on a game then perhaps consider partnering with someone who is familiar with design (if you are the developer) or vice versa. Anyway, this is what wikipedia defines for Game Development:
Video game development is the generally involved and lengthy process of creating a video game. Development is undertaken by a game developer, which may range from a single person to a large business. Mainstream games are normally funded by a publisher and take several years to develop. Indie games can take less time and can be produced cheaply by individuals and small developers. The indie game industry has seen a rise in recent years with the growth of new online distribution systems and the mobile game market.
The first video games were developed in the 1960s, but required mainframe computers and were not available to general public. Commercial game development began in 1970s with the advent of first generation video game consoles and home computers. Due to low costs and low capabilities of computers, a lone programmer could develop a full game. However, approaching the 21st century, ever-increasing computer processing power and heightened consumer expectations made it impossible for a single developer to produce a mainstream game. The average price of game production slowly rose from US$1M–4M in 2000 to over 5M in 2006 to over 20M in 2010.
Mainstream games are generally developed in phases. First, in pre-production, pitches, prototypes, and game design documents are written. If the idea is approved and the developer receives funding, a full-scale development begins. This usually involves a 20–100 person team of various responsibilities, such as designers, artists, programmers, testers, etc. The games go through development, alpha, and beta stages until finally being released. Modern games are advertised, marketed, and showcased at trade show demos. Even so, many games do not turn a profit.
How To Make Games
Advice for Game Designers
I saw this video while doing some research for this post and I had to put it up right at the start – oh man, look back at this video of game designers from the 90’s – my how times have changed, but the message they are trying to get across is still pretty accurate “If you want to be a game designer, do it, go build something”. Good video, for nostalgia if nothing else! haha.
Beginner C++ DirectX Game Programming Tutorial: Lesson 1
Now let’s get on with the actual devving and making of the games. This is probably a great place for all beginners (at programming) to get started. If you have a windows PC then this will be really helpful in guiding you through your first steps. This was a pretty entertaining video to watch also, funny haha, I laughed out loud a few times. So yeah start here, go now!
Beginner C++ DirectX Game Programming Tutorial: Lesson 2
Second video from that same guy – I figured I would put his first two videos here and if you like them – definitely go ahead and check his channel for the rest of his game development videos (there seem to be a lot of them over there), you can learn a lot!
Basics of C++ Programming Tutorial 1
Ok so before you dive in any further, if you are drowning and just CANNOT Grasp the C++ coding, it will really help you to take a step back, and learn the foundational basics. You will get a lot farther in your endeavors if you can grasp the basics of C/C++ and be able to write it without necessarily just copying/pasting what people are telling you works. You do actually have to learn to Program if you want to “program a game” – so check out this beginner video on just C++ – it might help you, if it does I urge you to check on youtube or google more videos on how to grasp Classes, Inheritance, Polymorphism, Pointers, etc and all that other stuff. But this video does a good job of getting out some of the very basics of C++ for you to understand. If you are good at following written tutorials, check out this C++ tutorial series or this one – it looks like it covers all the basics you need to know. Heck, you could even go so far as to learn how to build a Snake game using C, you will learn a lot of basics there since C++ came from the C language (predictably). I believe it is very important to know the language outside of the “Game Programming” scenarios as well to really “get it”.
Beginner’s Guide to Game Programming Ep1 Part 1 Introduction
This is another good video on the very basics of Game Programming with C++ and actually goes through to help you make a mini game. If you like this video, the second one is here. You should be able to then follow the rabbit trail of youtube videos for the rest of the tutorials :D. If you like to follow written tutorials – then these older beginner tutorials might help you out.
This is a really nice tutorial that teaches you how to create a Tetris clone from scratch using simple and clean C++. It says it should only take you an hour – but don’t worry about time. Just worry about going through it, and understanding everything! This is a good tutorial for beginners to create a nice ‘first game’ project. You can follow along on a windows computer or even a Linux powered one. This tutorial assumes you already know C++ though (as most do, so be sure to learn it from the videos above, or google for more – but get that C++ Down son!). When you get better at C++ and get into more advanced concepts you can worry about stuff like Managing Game States in C++.
C++ Game Programming Tutorial: non-tile based arbitrary positioned entity engine editor like in Braid or Aquaria games
This tutorial is a little advanced, if it feels overwhelming just skip it and come back to it, but this one is focused on level editing. In this tutorial you will learn to create a game map editor that dosen’t use tiles, but directly backdrop images that you can translate, tint, rotate, scale, etc, in different parallax layers and camera zooming. This type of editor is used in games like Braid or Aquaria.
So maybe C++ Isn’t your thing, no worries, there are other ways to skin a cat. XNA is a framework that you can use with C# (c sharp) that allows you to build games from scratch for Windows Phone, Xbox 360, and Windows. I actually build a mini game in XNA before and its pretty easy and fun (but I didn’t get as far as I wanted to haha)
Also keep in mind you don’t always have to build a game engine from scratch, there are lots of other things you can use such as a game engine called Unity. Read this in-depth tutorial and learn how to make a 3rd person platform game in Unity – complete with professional-grade artwork and all scripts.
More Advanced Unity 3D Game Tutorials
Unity 3D is actually a really awesome game engine if you want to look into it. This RPG game tutorial series is really in depth and you could potentially make an awesome game with it. There is also a huge community rallied around Unity 3D so it would be a good place to start if your an indie developer that isn’t quite sure where to go with this, so give it a try 😀
Plus there are a ton more Unity 3D tutorials over here if you need them. Another awesome thing is that someone has developed this Minecraft framework for Unity 3D Called “MinePackage” so you could potentially make a minecraft like game pretty easily.
Maybe 3D Isn’t your thing – you can create 2D Games with Unity 3D As well – this is a nice in depth series that takes you through the process, lots of knowledge here!
How To Make A Video Game [Unity3D Basics] Part 1
Andddd if you need videos, this is a nice video tutorial series, check out their channel for the rest of the videos in this series of Unity3D Basics game dev tutorials
If you venture past the basics and simple 2D games – you will need to know about the world of 3D – I would suggest getting a copy of 3DSMAX or Maya and playing around with a real CG Program – before venturing into programming 3D things, but this article will give you a good overview of the basics of 3D Lighting and get you into that type of stuff to apply later to shapes and objects.
So since we tackled the traditional ways of making games – since the early days, all kinds of other platforms have came out. This page has a TON of awesome iPhone programming tutorials for games (and stuff like OpenGL engines) and even just other iphone programming tutorials. If your main goal is to make the next awesome iPhone app game then this is definitely the resource for you – dig in! If you need more iPhone Game Dev Tutorials here is a nice list of video tuts.
Even more recently, HTML5 games have been really popular. This is a seriously awesome HTML5 game tutorial – definitely check this out if you are a fan of HTML5 games (or snake!) This is pretty basic but it really helps you to get into the basics and discover the amazing world that you could create with HTML5 in browser games! Here is another simple HTML5 game tutorial.
So if that was a little tough, no worries, again there are game libraries to help you out with the process of developing a game – while there are a lot of FREE game libraries out there, this is a paid one that may be worth looking into if you want some seriously rapid game development in HTML5
If Impact JS Does look like your thing – you might get better (faster) results from checking out this great book on HTML5 Game Development that takes you through developing your first HTML5 game with Impact JS. If you learn well from books, check it out!
So this is a flash tutorial with AS3 (actionscript 3) – while flash games seem like they are on their way out, they are still relevant and you can still learn a lot from how one is made – this one again is super simple but gives you a really good overview of an actual “game” environment in a side scroller. Also helps you out in the “planning” process behind games.
UDK Is the Unreal Development Kit and it is just another way to make games 😀 If you can’t get the other methods to work, keep trying other ones until you find a right fit! IF you can’t find a right fit? suck it up and get back to the basics with C++! haha. Remember you can use Java and other programming languages to build games – and I definitely don’t have all the answers, heck I don’t even have a fraction of the resources here! The game development world is HUGE I am just trying to point you in the right direction with a few good resources 😀
More Advanced HTML5 Game Tutorials
Now lets look at a few advanced aspects of game design in these HTML5 game tutorials before we leave – this is a really good tutorial for developing a character design and making it look and work nicely.
This is a pretty complete game tutorial, recreating an old computer game called Battle City – retro nostalgia right there!
This is a simple game, but pretty advanced, and the graphics are pretty awesome too! These guys have some more great HTML5 game development tutorials over here.
More Game Design Resources
Need more game design resources? Yeah you will probably need some help – game development isn’t easy! ITS NOT SAFE TO GO ALONE – TAKE THESE WITH YOU.
Do you want to build games, was this helpful? What was your favorite tutorial? Already build games? Got any tips for the n00bs?! Leave it in the comments below! Thanks for Reading!!