Welcome to Gamedevtuts+! This site is dedicated to game developers, and we host tutorials, tips, and articles about game design, coding, and working in the industry. Whether you’ve never made a game before or you’re a long-time developer looking to learn something new, this guide will help you find the best of our content.
- Making Your First Game
- From Beginner to Intermediate
- Coding and Programming Games
- Game Design
- Being a Game Developer
- And the Rest…
If you’ve never made a game before, head straight to our From Scratch section. Each of these tutorials will walk you through building a game from start to finish, with no coding required! You won’t need to spend any money on software, and we provide all the art assets you’ll need, too, so it’s easy to dive in.
In particular, I recommend these:
With this screencast tutorial, you’ll create an infinitely scrolling, Canabalt-style platformer, from start to finish. The final game has randomly generated levels, player movement, death conditions and basic scoring.
In this written tutorial you’ll learn how to build a two-player tank game in Multimedia Fusion 2. It will feature custom 360 degree shooting and destructible terrain.
Try it out! Take it in turns to fire with the mouse.
In this two-part screencast tutorial, you’ll see how to build a wintery Angry Birds-themed game. This tutorial can be followed on either Windows or OS X.
In this detailed five-part tutorial series, you’ll learn how to make a frantic side-scrolling shoot-’em-up, complete with multiple levels, parallax scrolling, lots of enemies, power-ups, and even a boss battle!
Once you’ve made a few games with the help of the above guides, it’s time to take your skills to the next level. That’s where our our How to Learn articles come in. Each of these guides you through recommended resources (books, tutorials, screencasts, and our own advice) for learning a specific gamedev platform like XNA, Flash, and Unity.
While you’re learning to code, check out Steven Lambert’s six-part series on object-oriented programming for game development. You should also take a look at our Gamedev Glossary, which features concise explanations of important gamedev terms and concepts like the game loop, sequence generators, and normal maps.
Steven Lambert’s notes
Then, make a game yourself! Steven Lambert gives you a GameFAQs-style walkthrough for doing just that. Check out other developers’ stories about making their first games (and advice for yours) in our First Game Session.
At this point, you’ll be ready for our core content (and the rest of this guide) – most of our tutorials and articles are aimed at game developers with a fair amount of experience in their chosen platform and a couple of games under their belt.
Our implementation tutorials tend to be some of the most popular among both readers and writers. We aim to make sure that all of these tutorials are “platform-agnostic” – meaning that, no matter which gamedev platform the author uses, you should be able to follow along with the platform of your choice.
In this tutorial, Michael Hoffman shows you how you can use simple math, physics, and particle effects to simulate great looking 2D water waves and droplets.
If you enjoy this, check out Michael’s 2D Lightning Effects tutorial as well!
Soft body dynamics is about simulating realistic deformable objects. We use it here to simulate a curtain and a set of ragdolls that you can interact with and fling around the screen. It’s fast, stable, and simple enough to do with high school level mathematics.
The Separating Axis Test is often used to check for collisions between two simple polygons, or between a polygon and a circle. As with all algorithms, it has its strengths and its weaknesses. In this tutorial, we go over the math behind the theorem, and show how it can be used in game development with some sample code and demos.
Drag and drop the objects and use R and T to rotate them.
This three-part series shows you how to create a synthesizer based audio engine that can generate sounds for retro-styled games. The audio engine can generate all of the sounds at runtime without the need for any external dependencies such as MP3 files or WAV files. The end result is a working library that can be dropped effortlessly into your games.
So you’ve got your awesome game in the works, it’s got all sorts of complex physics, epic enemy AI or what-have-you. But it feels lifeless. You want some OOMPH, you want some animation!
So if you go and look up how to animate, the first answer you come across will most likely be a method using spritesheets and blitting. In fact, almost all tutorials on the web talk about nothing but blitting, as if there’s no other way to animate. This tutorial explains a way that’s much more fitting for certain games!
Organising your game code into component-based entities, rather than relying only on class inheritance, is a popular approach in game development. In this tutorial, we look at why you might do this, and set up a simple game engine (seen below) using this technique.
Steering behaviors aim to help autonomous characters move in a realistic manner, by using simple forces that are combined to produce life-like, improvisational navigation around the characters’ environment. This set of tutorials cover the basic theory behind various behaviors, as well as their implementation.
The “Evade” steering behavior
If this is the kind of thing you’re interested in, check out The Three Simple Rules of Flocking Behaviors, too.
It’s definitely possible to create a Tetris game with a point-and-click gamedev tool, but it’s tricky! You might find it more comfortable to think at a higher level of abstraction, where the tetrimino you see onscreen is only a representation of what’s going on in the underlying game. This pair of tutorials shows what that means, by demonstrating how to handle collision detection and line clearing in Tetris.
Many turn-based games include an undo button to let players reverse mistakes they make during play. This feature becomes especially relevant for mobile game development where the touch may have clumsy touch recognition. Rather than rely on a system where you ask the user “are you sure you want to do this task?” for every action they take, it is much more efficient to let them make mistakes and have the option of easily reversing their action.
In this tutorial, we look at how to implement this using the Command Pattern, using the example of a tic-tac-toe game.
Particle effects are very common in games – it’s hard to find a modern game that doesn’t use them. In this tutorial we take a look how to build a fairly complex particle engine and use it to create a fun snowy scene. Put your woolly hat on first!
We have a number of tutorials and articles about designing games: from coming up with an idea in the first place, to making sure the player finds it fun to play and rewarding to win. Here’s a selection:
Monitor and block suspicious behavior.
Cheaters, griefers and trolls can ruin your game. The bigger your game, the more likely you are to face them. Although they are just trying to have fun like everybody else, they do that by negatively affecting the whole game. Suddenly your creation becomes a living nightmare. Read on to find out how Fernando Bevilacqua and his team dealt with this problem in their turn-based MMO.
Boss battles have existed since practically the beginning of gaming and they have all followed a similar idea throughout the years: a big baddie that gets in the way of some major objective. In many cases they have had an overbearing role during the game’s story, with ongoing hints of their existence or of the approaching fight with them.
The bosses in Deus Ex: Human Revolution can change a player’s playing style quite dramatically.
But there’s more to boss fights than this. They serve as a way to change up the pace of the gameplay and often offer a break from any repetitive game mechanics throughout a game. They also help push forward the storyline in most modern games as well – but more often than not, they serve as a way to change what the player is doing.
Have you ever wondered whether it would be possible to design a game by playing a game? Well, let David Arcila introduce you to Game Seeds, a card game designed to aid your brainstorm sessions in different and creative ways.
If you enjoy this, see David’s guide to testing every aspect of your game’s design with A Deck of Lenses.
Gamers love achievements. They’re fun, they add an extra layer of content, and they let you show off your gaming skills. It generally doesn’t take much extra effort for developers to add them, so it’s not surprising that games without achievements are now in the minority.
Unfortunately, achievements are still often poorly implemented; whether this is a result of lazy developers, or because achievement design is still a relatively new aspect to game design, we often see achievements which simply aren’t fun. In this article, we’ll look at how to make the most of achievements and ensure that they don’t detract from the game.
Every gamer and games journalist will invariably end up talking about difficulty when discussing a video game. This often takes the form of a comment saying it’s “too easy” or “too hard”, but it’s a topic that deserves to be looked at in much more depth, as the way it is handled can completely reshape a player’s experience with a game.
This type of thing is “artificial difficulty”.
In this article, we look at extremely high difficulty in video games, what works, what doesn’t, and what we can learn from it. Check out the follow-up article, When Easy Mode is Okay, as well!
Game development is about more than just coding and design! You need to find people to work with (and figure out how to make such a collaboration work), raise money and budget it, prioritise how to spend your time… There are a lot of additional skills.
In 2012, Christer Kaitila made one game a month, every month; at the end of the year he laid down the challenge for other game developers to do the same. This article details how he achieved it, and how you can too!
Check out Christer’s post on getting the most out of a game jam, as well.
Christopher Parkinson and his brother set out to start their company with very little coin in their pockets. This article explains how they obtained the funding necessary to start their studio while keeping their personal spending low.
What do you do when your Kickstarter fails?
As a moderator on Scirra’s forums and having provided support for Construct 2 since its early days, Kyatric has seen his fair share of newcomers to programming. It’s common to see beginners get excited about their new discoveries, their fresh perspectives, and the overwhelming feeling that they’ll actually get to build their dream game. This is all great, but often these feelings lead to those beginners making certain missteps when joining an online gamedev community.
The Construct 2 Technical Questions forum
In this article, Kyatric details these missteps, and shares his tips on how to avoid them.
If you think developing a game is hard, try doing it with someone you don’t know located on the other side of the world. In this tutorial, David Arcila shares the fundamentals of developing a pipeline and improving your team’s workflow in those cases where each member of the team is in another timezone.
Breaking into the game industry can be a long and rocky road — where does one even begin? There are many avenues to take on the journey to making games, and the best path is different for each person. For those looking to jump right in and start making games, try joining a mod team! But what exactly is a mod team and how do you find one that’s right for you?
Team Fortress began as a mod for ID’s Quake engine (shown here)
There are several other sections of the site, but they’re still growing at the moment. Still, don’t miss our collection of post mortems, or our articles on game UI, building a retro aesthetic, choosing color palettes, designing levels for StarCraft II or Portal 2, or getting to know the excellent map editors Tiled and Ogmo Editor.
We’ll update this roundup periodically as the site gets bigger, but besides that, here’s how to keep up to date with our latest posts:
- Follow @gamedevtuts on Twitter
- Like Gamedevtuts+ on Facebook
- Find us on Google+
- Subscribe via RSS
- Join the Newsletter
Thanks for reading Gamedevtuts+!