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 not show the feed icon in the address bar.
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.
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!
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 figure out the optimal way to tackle that sharp corner, just to shave a tenth of a second off his best time. Not the kind of audience I’m targeting with a somewhat (albeit not completely) casual mobile racing game. Long story short, I need opponents.
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 be a real problem, though.
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 ironed out (sound doesn’t work in Chrome, probably nothing works in IE), I’m very satisfied with the what we’ve accomplished in just two days. It’s a promising start, and we might continue to develop this into a full-fledged product and try to make some money out of it, if there turns out to be enough demand for something like this.
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.
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 called gltc to convert PNG files to GLT.
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.
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 to put all objects into a level by typing long lists of coordinates. Building the editor has kept me busy for the past few days.