Texture Atlas (Sprite Sheet) Generator

UPDATE: A few people have asked, so we’ve released the source code for the tool in the download links below. We’re unable to make any modifications to it, as we’re no longer developing the tool internally, but feel free to modify it for your own needs, and contact us if you need any help with it. Unfortunately, the code isn’t the tidiest code around. Please note that all source and binary code is provided “as is”, without any warranty of any kind. Please see the website usage terms, at the bottom of the page, for more information.

A texture atlas, or sprite sheet, is a single image containing a number of smaller textures or sprites. This is useful as it is more efficient for the graphics card to process (it doesn’t have to keep switching textures when drawing different textures, as it can just use the single texture and sample from different parts of it). It is also faster to load into RAM, as you are only loading in one image, as opposed to several smaller ones, so the loading can be done in one stage.


Windows Phone 7 Flashlight (With SOS)

I tried posting this as a comment in reply to this post, but the code got mangled, so I’m posting it here 🙂

                /* Check for touch panel being pressed */
            TouchPanel.GetState().Count == 0 ?
                /* Touch panel released, so reset the timer. This is stored in the target elapsed time, so we don't have to create any variables :) We also turn off IsFixedTimeStep, so that TargetElapsedTime isn't used. */
                ((((this.IsFixedTimeStep = false) == false) && ((this.TargetElapsedTime = TimeSpan.FromMilliseconds(Math.Max(1.0f, gameTime.TotalGameTime.TotalMilliseconds))) == TimeSpan.Zero)) ? Color.Gray : Color.Gray) :
                /* Touch panel pressed, so do SOS */
                (gameTime.TotalGameTime - this.TargetElapsedTime).Seconds < 1 ? Color.White :
                (((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds >= 2) && ((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds < 3)) ? Color.White :
                (((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds >= 4) && ((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds < 5)) ? Color.White :
                (((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds >= 7) && ((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds < 9)) ? Color.White :
                (((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds >= 10) && ((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds < 12)) ? Color.White :
                (((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds >= 13) && ((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds < 15)) ? Color.White :
                (((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds >= 17) && ((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds < 18)) ? Color.White :
                (((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds >= 19) && ((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds < 20)) ? Color.White :
                (((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds >= 21) && ((gameTime.TotalGameTime - this.TargetElapsedTime).Seconds < 22)) ? Color.White :

Blast Buggies entered into DreamBuildPlay 2010

Merge Error: The Blast Buggies has been entered into Microsoft’s DreamBuildPlay 2010 Challenge!


Galactic Aquarium: A Beginner's Guide

Here’s a little help to get started playing the Galactic Aquarium on the iPhone.

The aim of the game is to breed all of the different kinds of fish in the breeding guide. You can access the breeding guide from any screen by pressing the “Guide” button:

Breeding Guide Icon

From the guide, you can keep track of your progress. Each group of fish have a page in the breeding guide. You can scroll through pages by swiping your finger across the breeding guide.

Fish that you have bred will have a tick icon on them, so you can quickly see which ones you still need to breed:

Breeding Guide

By tapping on a fish in the guide, it will show you information about it, such as how long it lives, what it eats, and when it is fertile. We’ll start by breeding a couple of Blue Guppies. The stats for the Blue Guppy are:


Fish Food

Breeds From

Blue Guppy + Blue Guppy

Other Info

Initial Value: $1
Daily Growth: 8g
Lifespan: 6 days
Fertile During Days: 2 – 5

Any special powers a fish has will be shown at the bottom of the Other Info section.

So we’re about ready to start breeding our Guppies. But first, a note on feeding and schools…

How feeding works

Each fish in your tank will need to eat every day. The foods that it will eat are shown in the guide, under the Eats heading. Most fish will eat another type of fish, so you should make sure that there is enough food in your tank for all your fish, or they’ll starve! Only Guppies eat fish food, which is automatically bought for you to feed them (so make sure you’ve got enough money to feed your Guppies).

The older a fish gets, the more it needs to eat to stay healthy. You can see how much a single fish will grow each day in the guide. It is marked Daily Growth under the Other Info heading. Each individual fish needs to eat this much weight made up of the types of fish listed under the Eats heading.

If a fish doesn’t get fed fully for a day, it will become underweight. If it doesn’t get fed fully the next day, it will become seriously underweight. If, after a third day, the fish still hasn’t had enough food, it will die 🙁

How schools work

When you buy or breed fish, they are grouped into schools. A school is just a group of fish which are the same age. When you buy fish from the shop, it will ask you how many you want in the school, and tell you how much it will cost in total.

Each icon in your tank and freezer represents one school. Tapping once on it will highlight it and show some information about it at the bottom of the screen. Tapping again will bring up a pop-up which lets you do things like freeze / unfreeze the school or sell some or all of the fish from the school.

So, we’ll go to the shop and buy two schools of Blue Guppies. We’ll start with 10 fish in each school…

Buying Fish

Now that we’ve got our schools, we’re ready to get them breeding!

Our Tank

How breeding works

You need at least two schools of fish for them to breed. Fish from one school will only breed with fish from another school, which is why we bought two schools of Blue Guppies. You can see what fish you need to breed a certain type by looking in the guide. Under the Breeds From heading, it will list all of the combinations that create that type of fish. As we’re breeding Blue Guppies, which breed from:

Blue Guppy + Blue Guppy

We need two schools of Blue Guppy. If we were breeding the Royal Angel Fish, the breeding guide says it breeds from:

Royal Angel Fish + Royal Angel Fish
Striking Angel Fish + Subtle Angel Fish

So we would need either two schools of Royal Angel Fish, or a school of Striking Angel Fish and a school of Subtle Angel Fish.

The more fish you have in each school, the more chance you’ll have of breeding them, and the more offspring they’ll produce. Fish, however, are very sensitive 🙂 Here are some reasons why your fish might not be breeding:

They are underweight

Underweight or seriously underweight fish in a school will not breed, so make sure you keep them all well fed.

They are not fertile

Fish in a school will only breed if they are fertile. The days the fish are fertile are shown in the breeding guide, under Other Info. For our Blue Guppies, they are fertile between ages 2 and 5.

So now that you’ve got your two schools of Blue Guppies in your tank, we can go to the next day by pressing the “Next Day” button:

Next Day Icon

After your first day, nothing much will have happened. You’ll have spent some money on fish food to keep your Blue Guppies healthy, but that’s about it. Remember, they won’t breed until after a couple of days, so we need to go forward a couple more times. Go back to your tank, and tap the “Next Day” button again, then back to the tank. Highlighting one of your schools, you’ll notice that they are now aged 2, and so they are fertile. Go to the next day again, and this time the summary will show that you’ve bred some Blue Guppies! Congratulations!

Daily Summary

Tapping the Detailed button on the summary screen changes into detailed mode, which will show you the events in writing. Certain other bits of information are only displayed in detailed mode, such as how many fish became fertile.

The first fish you breed in the game are guaranteed to breed as soon as they are fertile, to give you a nice start 🙂 If your Blue Guppies haven’t bred after a couple of days, it means you’ve probably already played the game for a bit before following this tutorial. Go to the breeding guide, then options, then start a new game.

Making money

It is important to note the lifespan of your fish. For our Blue Guppies, their lifespan is 6 days (again, this is shown in the breeding guide). When a school reaches that age, you should remember to sell it. Below is our tank after a few more days:

Old Fish

Notice our highlighted school has reached age 6 (which is the lifespan of the Blue Guppy). If we don’t sell them now, all the fish in the school will die of old age when we go to the next day. Remember, as fish grow, their value increases, so selling older fish will make you more money, so don’t forget to sell them before they die!

We can sell our fish by tapping again on the school to bring up the popup, then clicking the “Sell” button and typing in how many we want to sell from the school. The “All” button will sell all of the fish in the school.

Go good luck, and happy breeding!


Galactic Aquarium Updated With OpenFeint

Galactic Aquarium has been updated with OpenFeint support! Share your high scores with thousands of players across the world and earn points by unlocking achievements.


New Twitter Account – (@GoGoRobotGames)

We’ve just set up a dedicated Twitter account, so you can follow our latest announcements and whatnot 🙂 Follow us here: (@GoGoRobotGames)


Merge Error: The Blast Buggies

These are some screen shots from our Dream Build Play 2010 entry, Merge Error: The Blast Buggies. It’s a retro styled arcade shooter with updated HD graphics and a cool twist on gameplay. You can view the trailer at the end of this post.

Blast Buggies Screenshot Blast Buggies Screenshot


Converting a tile map into geometry

I recently needed to convert a tile map consisting of squares and triangles into chunks of geometry and after trying a couple of different approaches, I eventually settled on one which seems to work. I didn’t come across it anywhere else, so I thought I’d post it here in case anyone else is wanting to do something similar.


Galactic Aquarium profits donated to Haiti Relief

From 20th January – 25th January, we are donating our profits from sales of Galactic Aquarium (iPhone) to the Red Cross for Haitian quake relief! Please check out to find other great games and apps that are doing the same!


Facebook Connect Dialog on iPhone

A problem I keep having when adding Facebook Connect to iPhone applications is that sometimes the dialogs appear briefly then disappear. I keep forgetting why it is for a while, so I thought I’d post this to help anyone who is having a similar problem, and to remind myself about it so that maybe next time I won’t forget 🙂