« Newer 1 2 3 4 5 6 Older »

Improvements to blog comments

There was a permission problem that sometimes caused comments to be refused with a 500 Internal Server Error. This has now (hopefully) been resolved. I also added clickable links to the Atom feed for the blog, because some browsers (Chrome, and Firefox 4 beta, but strangely not Firefox 3) do... Continue reading

Intelligent design evolution

After seeing the last few posts, someone asked me why I’d gone from the original item-gathering concept to a more customary around-the-track racing game with more customary controls. This is a very good question, so in this post I’ll address some of the design decisions I made along the way.... Continue reading

Website has been launched!

Well then, since last Monday, the Frozen Fractal website is unofficially up. And since today, it’s official, because now there’s a blog post announcing it! You may wonder why there is already so much content here. Since I started Frozen Fractal, I’ve been keeping progress in a series of blog... Continue reading

Driver code

There are a handful of racing games that let you race purely against your own best time, but the majority of them let you race against others. It adds an element of competition that you don’t get when racing alone. The solitary racer is someone who spends hours trying to... Continue reading

More controls

Last time, I wrote: My brother probably expected the cart to make a turn if it was pushed on one side. Instead, it would spin around its axis, but keep moving in more or less the same direction! […] I will need to consider carefully whether this is going to... Continue reading


No updates last weekend, because I’ve been busy with the Rails Rumble: an annual contest to build a Ruby on Rails web application in 48 hours. Three friends and I built ChordWise, an online ear training and score reading practice application for musicians. Although there are some bugs to be... Continue reading


Although I’d previously determined that the controls of the cart worked nicely on a touch screen, they were nowhere near perfect yet. This is one of these aspects that can make or break a game, so it’s important to address it as early as possible. I developed two classes of... Continue reading

Texture compiler

After the model compiler comes the texture compiler. Decompressing a PNG file on Android is possible, but the loading code is simpler if the texture is already available in a format that we can feed directly to OpenGL. So I devised the GLT (GL Texture) format, and wrote a program... Continue reading

Model compiler

Having a level editor is a good start, but it’s not all. We need some kind of workflow to create models and textures and eventually get these to show up in the game. I started with the models. Since I know my way around Blender and it’s free, I decided... Continue reading

Level editor

Does a carpenter create his own hammers? Does a painter make his own brushes? Usually not, but a game developer often needs to build his own tools to get a particular job done. One of the most important tools to have is a level editor – you really don’t want... Continue reading

Change of direction

I’ve decided to change course. Drastically. The fluid engine works nicely, and although it’s fun to play with, it’s not exactly a game just yet. I had this idea, which I alluded to in my previous post, of making it into a creative construction game. You’d be a beaver, and... Continue reading

A little experiment

My mind is always full of ideas that I’ll never have time for. But occasionally, one of them does get executed. This is one of those times. The basic premise is: racing with shopping carts. It’s the controls that make it different. Like a real shopping cart, you push/pull with... Continue reading

Some facts about beavers

Beavers live on wood, bark and aquatic plants. I would have guessed that they ate fish, but they don’t. Beavers can hold their breath for up to 15 minutes. Beavers build dams to raise the water level, creating a still pond to provide them with shelter. They build a lodge... Continue reading

Two problems become none

No truism is always true, not even this one. I recently clashed with two common conceptions in software engineering: “All problems in computer science can be solved by another level of indirection.” – David Wheeler “Some people, when confronted with a problem, think ‘I know, I’ll use regular expressions.’ Now... Continue reading

Puzzle concepts

I’ve been doing more experimenting with the engine, trying to come up with a workable puzzle concept. Below are some videos and reasonings. First off, the game objective. Assuming that it’ll have something to do with the fluid, one possibility is that the player has to make the fluid flow... Continue reading

Pressure, polygons and eddies

This week has been one of mostly refactoring. I’ve been streamlining the code to make it easier to add new objects and features later on. This will prove useful, because the gameplay clearly needs a lot more experimenting to get it right. As to the gameplay, there’s been some progress,... Continue reading

First gameplay

I had hoped that the editor would allow me to quickly test gameplay concepts by using “soft rules”: rules that are communicated to the tester verbally by me, instead of being enforced by the program. For example, I could say “Now try moving the orange ball into the blue rectangle,... Continue reading

Sandbox editor

To be able to test different configurations, I had a rudimentary text-based file format to describe levels in. It was fairly simple and easy to edit, but still, hand-typing coordinates is not my idea of fun. It was time to build a graphical editor. I plan to release the editor... Continue reading

The aspect ratio problem

In the days of MS-DOS, things were simple. If you developed a game, you usually wrote it for one specific VGA or SVGA resolution, such as 320x200 or 640x480. If someone’s video card did not support this resolution: tough luck. Nowadays, there is such a variety of screen resolutions that... Continue reading

Stam solver working

This week I worked hard on getting the fluid solver in the style of Jos Stam working. The basics were easy enough, but Stam makes some simplifying assumptions, so the continuation was not quite trivial. But combined with what I learned in my earlier work on the free-surface simulator, I... Continue reading

« Newer 1 2 3 4 5 6 Older »