Wednesday, July 7, 2010

Codename: Mandelbrot

It’s been a while since the last time I wrote something to this blog, so I decided to do something about it—here it is, a new post, alright. This new game idea is something that came to me yesterday when I was trying to make a Twitter background using these Mandelbrot fractals. Adobe Illustrator turned out to have one interesting feature—that is, whenever you paste a raster object into it, it wants you to use only white brush over it. It’s probably possible to change the whole thing and draw rainbow-colored unicorns, but I was too lazy to try and find out about that. So, basically, I decided that this whole fractal is a living creature and the player controls another creature, which is small and stands on the surface of the big one. And that’s when things get fun.

As you can see from my picture, the whole idea of the game is to wake the sleeping monster. Let’s say, our character is lost in the land of the grey, while it is supposed to be with light, and the only way to get her there is to wake up the fucker. So, here it is, a goal—but how do we achieve it, right?

I’ve been asking myself this question for quite some time now, and noticed that everyone, whom I have shown this picture to, thought that those hearts in the top left corner of the screen are lives of the character. But why does she need lives? Can she even die? Obviously, not. The only bad thing that can happen to her is staying on the surface of Mandelbrot (yeah, let’s give it a name). This makes the game a puzzle. And a puzzle always has a solution and some means of achieving it. That is, knowing where the jigsaw piece has to go is not enough—you also need hands to put it in place. So, here is where the real game design begins.

The player has precisely three control keys: right, left and up. By pressing right, they can rotate Mandelbrot clockwise. By pressing left—counterclockwise. When the player rotates Mandelbrot, the character runs at the same place, while the surface changes its position. By pressing up—jump. The height of jumping varies in different parts of Mandelbrot. In fact, gravity changes in different parts of it. The height of jump in each and every part of Mandelbrot is measured by Score in the lower right corner of the screen. This way, the player can see how high they can jump.

So, as I have already mentioned, the hearts are pretty odd, since the character can’t die or be damaged in any way. Why do we need them then? Well, this is exactly the goal of the game. The player has to take a heart (one at a time) and give it to Mandelbrot. Then the creature will start seeing another dream, will change sides, and this will lead to a change of physics by which this little world is operated. The player may take only one heart at a time, and when they do, the remaining hearts change their position. In order to get a heart, the player has to jump precisely to the height at which they hang. In case of jumping higher, they miss the hearts, since the character can grab only at the highest point of the jump. If they jump lower, the character can’t reach the hearts.

Rotate Mandelbrot → choose a position → jump and grab a heart → give the heart to Mandelbrot

When the last heart is given to Mandelbrot, he wakes up, sees the character, puts her in his mouth and simply spits her to the other universe. Happy ending.


  1. Question: how would you calculate the strength of gravity? Would it be dependent on the mathematical structure of the Mandelbrot or would you hard code it to make the puzzles interesting?

  2. That's an interesting question, which requires some deep understanding of this fractal, which I unfortunately don't have now. If I started designing the game, I would check how the numbers would look like depending on the mathematical structure, because it is conceptually more interesting, and if the difference in different parts was not dramatic enough, I would basically assign a score to each point of the Mandelbrot (in lower parts—lower, in higher parts—higher).

    There also would be a ruler measuring the hight with numbers related to the scores.