# Category Archives: Development

Articles about making games: game design, programming, narrative, art, sound.

# Rapid Game Prototyping: Tips for Programmers

In November 2013, two colleagues* and I made 30 games. Although I have done some game prototyping before, working on so many games in such a short period gave me some insights I did not have before. As I said to a friend, it’s like watching a television series in a few days, instead of watching each episode week by week – you just see different things.

In this article, I collect some of these observations in the form of a set of tips. I kind-of assume you are already familiar with the classical How to prototype a game in 7 days, which describes prototyping from a more general point of view. In some ways, this is a programming-specific extension to the ideas presented there. Continue reading

# Geometry with Hex Coordinates

$$\newcommand{\bv}[1]{{\bf #1}}$$ $$\newcommand{\bperp}{{\bf perp}}$$ $$\newcommand{\bproj}{{\bf proj}}$$

There is surprising little information available on hex-coordinates, despite how many games use hex grids. In this article I will explain some of the math so that you can do basic geometry in a hex grid, and design more elegant algorithms for your hex-grid games.

# How to Choose Colours Procedurally (Algorithms)

Changing the colours of art can be a great way to increase the amount of content in your game, and add variety and richness. It is relatively easy to implement. What is not always as easy is to get a set of colours that looks nice. This article gives some ideas for choosing colour palettes that look nice. Continue reading

# 13 More Tips for Making a Fun Platformer

This article is a follow-up of a previous article I wrote, 11 Tips for making a fun platformer. Once again, this article focuses on platformers, but the philosophy behind each idea can be applied to any type of game, whether 2D or 3D. This time there are a few more practical tips.

# 50 Tips for Working with Unity (Best Practices)

These tips are not all applicable to every project.

• They are based on my experience with projects with small teams from 3 to 20 people.
• There’s is a price for structure, re-usability, clarity, and so on — team size and project size determine whether that price should be paid.
• Many tips are a matter of taste (there may be rivalling but equally good techniques for any tip listed here).
• Some tips may fly in the face of conventional Unity development. For instance, using prefabs for specialisation instead of instances is very non-Unity-like, and the price is quite high (many times more prefabs than without it). Yet I have seen these tips pay off, even if they seem crazy.

# I Want to Be a Game Artist!

That’s great! You’ll be flinging digital paint and shooting vertices, and making the game art world more beautiful as you go! But wait — a word of advice before you jump on the realtime rendering railway: you need three pieces of essential kit!

# Loopholes in Game Design

I had just finished working on my latest card game; I was rather chuffed with it: the rules were elegant and nuanced: there was a wealth of strategies you could use in the game. I explained the rules to two friends, and they began to play. I was expecting them to be amazed with the game.

Instead, I was amazed with how one had managed to find a neat little trick to unexpectedly win the game: a loophole!

After the discovery, the game was never the same. I eventually decided to change the card game into a board game so that the game could keep my original idea, but without the loophole.

After the change in my game, I became obsessed with loopholes in games. I began to research them and find how they could affect games. In this article, I summarize my research. This article covers what loopholes are, and why they are bad, with a big list of generic types of loopholes that can be found in games. The article also gives some advice on how to find and correct these nasty little game breakers.

# Crunch Time

Looking into the development cycle for video games we look at one of the worst, and almost unavoidable occurrences. Crunch. For a common definition of crunch, or in full crunch time, Wikipedia give us A critical period of time during which it is necessary to work hard and fast . Indeed when we are crunch, for anything, we work as hard and as fast as we can.

But unfortunately crunch has a series of negative effect. In a brief summation of Evan Robinson’s article Why Crunch Modes Don’t Work: Six Lessons. Crunch leads to a short-term productivity boost due to the extended hours the people work. But in a long-term scenario crunch leads to a loss in productivity as the there is a natural peak amount of hours that a person can work and be effective at that work. As such it leads to poor work rushed out to meet deadlines. This happens with video games, writing, and many other things.

# How to design levels for a platformer

In a previous article, I gave you 11 Tips for making a fun platformer. That article had general tips that covered a wide range of game design tasks. This article looks specifically at the process of designing levels for a platformer. The process is a guideline and covers the steps from the initial idea to the final playable level.

# Implementing and Debugging the Perlin Noise Algorithm

One of the most visited articles on our site – How to Use Perlin Noise in Your Games – also caused the most problems. The pseudo-code contained an alarming number of bugs (one of the nastier ones is depicted above), which made it difficult to implement. Readers pointed out these in the comments, and so helped to make the pseudo-code progressively more correct. But even so, some operations remained unclear, so that I finally decided to replace the pseudo-code with real and tested code. I really hope that all bugs have now been squashed!

In the spirit of this extermination effort, this article gives some pointers to get a version of the algorithm up and running as quickly as possible. It is an extension of the original Perlin noise article, and refers to the code now presented there.

# Bézier Path Algorithms

In the article Bézier Curves for your Games: A Tutorial, I introduced Bézier curves and Bézier paths. In this tutorial I provide some algorithms useful for working with Bézier curves: determining the length of a piece of curve; interpolating a set of points with a Bézier path; and reducing a large point set to a smooth Bézier curve. (Image by snuffyTHEbear).

# How Are Puzzle Games Designed? (Conclusion)

Over the last month or so, Dev.Mag has published five interviews with indie developers discussing puzzle game design. In case you have missed the series, here are links to the articles:

In this article, I give you my take on the info we gathered in our five puzzle design interviews; a kind of distillation of the various ideas the designers presented. The discussion below is terse with almost no examples; to see how these ideas play out in the design of actual games, you will find the original interviews more helpful.

# Box2DFlash Tutorial

More and more games are using dynamic physics to add to the gameplay or as a core element of the gameplay. Box2D is a popular and powerful physics library that is considered to be one of the best 2D physics libraries around. It is used by high profile games like Angry Birds and Crayon Physics Deluxe. This tutorial will focus on the Flash version of Box2D and assumes that you have basic experience with Flash and ActionScript 3. If you are new to Flash, check out Nandrew’s excellent Flash tutorial.