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...
Making Your First Game
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:
Canabalt-Style Infinite Runner
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 four-part screencast tutorial series, you'll learn how to make a game inspired by the Hudson Soft classic, Bomberman. It includes power-ups, enemy AI, and even a two-player mode, and all the graphics are provided for you!
Prefer reading text to watching screencasts? This huge eight-part written tutorial series will show you how to create a Match-3 game, loosely based on Pokémon Puzzle League, in Construct 2. As always, all the graphics are provided, and all you need is the free version of Construct 2.
From Beginner to Intermediate
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 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 UDK, Flash, and Unity.
While you're learning to code, check out Steven Lambert's six-part series on object-oriented programming for game development.
Making Your First Game: A Walkthrough
Steven Lambert's notes.
Then, make a game yourself! Steven Lambert gives you a GameFAQs-style walkthrough for doing just that.
3 Questions to Help You Finish Your First Game
Kyle-Sloka Frey adds to Steven's walkthrough with three very important questions you should ask yourself about your first game before you dive in.
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.
"Primers" are what we call super detailed posts that tackle a single subject in great breadth. We're gradually building up a collection of these; here's what we have so far:
An Overview of 3D Modeling in Games
Almost every major game released these days is made in 3D or uses a heavy amount of 3D assets. While there are still many games made in 2D, even platforms like Flash are now integrating 3D. This primer explored what separates games from other mediums that use 3D art, and covers some of the important topics to consider when making 3D art for games.
Let's Spec Into Talent Trees
Think of the talent tree as the greatest mini game ever conceived. They're fun little puzzles that empower the player to personalize the game into something they enjoy. Though simple and isolated from play, the impact talents have on your game can be very meaningful.
How to Build a JRPG
This article is a high-level overview for creating a JRPG (Japanese Role-Playing Game) such as the early Final Fantasy games. It looks at the architecture and systems that make up the skeleton of a JRPG, how to manage game modes, how to use tilemaps to display the world, and how to code an RPG combat system.
Creating Isometric Worlds
In this pair of articles, you'll learn what the isometric projection is and how to represent isometric levels as 2D arrays, and formulate relationships between the view and the logic, so that we can easily manipulate objects on screen and handle tile-based collision detection. Many other isometric-related topics are covered as well!
Coding and Programming Games
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.
Dynamic 2D Water Effects
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!
Verlet Integration: Fabric and Ragdolls
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.
SAT Collision Detection
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.
Create an In-Game Retro Synthesizer
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.
Animating With Asset Sheets
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!
How to Create a Custom 2D Physics Engine
There are many reasons you might want to create a custom physics engine: first, learning and honing your skills in mathematics, physics and programming are great reasons to attempt such a project; second, a custom physics engine can tackle any sort of technical effect the creator has the skill to create. In this article, Randy Gaul provides a solid introduction on how to create a custom physics engine entirely from scratch.
Understanding Steering Behaviors
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
This series of tutorials covers six behaviors, and shows you how easy it is to create AI by combining them together.
If this is the kind of thing you're interested in, check out The Three Simple Rules of Flocking Behaviors, too.
Swinging Physics for Player Movement
Jamie Fristrom of Happion Laboratories - from such games as Die By The Sword, Spider-Man 2, Schizoid, and Energy Hook -- explains how he implements a rope-swinging gameplay mechanic. (This applies to both 2D and 3D games.)
"Undo" With the Command Pattern
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.
Snowy Particle Effects
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:
How We Dealt With Cheaters in Our MMO
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.
Balancing Turn-Based RPGs
You don't need to look further than a game like World of Warcraft to see that even the most experienced developers have trouble maintaining class equilibrium. In this two-part mini-series, Robert DellaFave takes a look at balance from the perspective of a team creating a simple RPG, emphasizing throughout that a solid game design will make balancing your game significantly easier later on.
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!
Being a Game Developer
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.
We cover these aspects of gamedev in our Business articles and tutorials, and our Workflow articles. Here are a few to get you started:
How to Make One Game a Month
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.
How We Funded Our Indie Game Company
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?
The 5 Most Important Things to Consider When Getting Your Flash Game Sponsored
Although indie Flash games can be sold as standalone desktop or mobile apps, or launched with in-game purchases, the traditional way of making money from them is via sponsorship. This is when you reach an agreement with a company to add their branding to your game to direct players to their site, or to create a custom version of the game for that company.
In this guide, Julian Wilton and Jay Armstrong talk you through the process of getting a Flash game sponsored, and the many considerations you should take into account when doing so.
Marketing Your Indie Game
Once upon a time, marketing was considered taboo and almost completely ignored by game developers. These days, most devs recognise its importance and do make some effort, but many don’t know where to begin. In this article, Robert DellaFave explores the art of marketing, and how you can use it to gain much needed exposure for your indie game.
Also check out An Indie Game Developer's Marketing Checklist - it includes a downloadable checklist you can print out and tick off.
Porting Quell Memento to the PlayStation Vita
In this post mortem, Barney Williams of Bigyama shares his team's experiences porting a game from mobile to PS Vita. As well as sharing plenty of technical details, the article also explains the benefits of porting another team's game.
And the Rest...
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+!