« Newer 1 2 3 4 5 6 Older »

Subscribe to the blog

Never miss another post. Enter your email address below to get new blog posts delivered straight to your inbox.

Delivered by FeedBurner.

Of course, you can also use the feed.

Texture compression on mobile demystified

If you’re developing a game for mobile devices, chances are you have run into the words “texture compression”. Texture compression helps to keep video memory usage down, reduce download sizes and loading times, and may even reduce power consumption. In this article, I take a comprehensive look at what the... Continue reading

10 cool things about Kotlin

Kotlin is a programming language developed by JetBrains (the makers of IntelliJ IDEA), which compiles down to Java bytecode. I got over my initial aversion for the ugly name, and decided to give it a try. Now I never want to go back to Java. Here’s why. 1. Full Java... Continue reading

The new new frozenfractal.com

I didn’t plan it this way, but it seems to be becoming a tradition: redesigning this website around the new year. Last time, we went from this… … to this: Why couldn’t I leave well enough alone, and had to redesign it to look like this instead? Why a redesign?... Continue reading

Twistago at Spielwies'n

This weekend, November 5th and 6th (and actually yesterday as well), Twistago has a stand at one of Germany’s largest board game fairs, Spielwies’n, in the MOC in München. Come visit us if you’re in the area! Continue reading

Choosing an HTML5 2D engine

Because Dragon Attack’s performance on Crafty.js was disappointing, and the libGDX port also had problems running smoothly when compiled to JavaScript (plus some unfortunate technical decisions I made along the way), I’ve decided to go for a third rewrite, using better tech. (“Rewrite” sounds worse than it really is –... Continue reading

Leonardo's Painting Machine

This… is Leonardo’s Painting Machine! It’s my entry for the Ludum Dare 36 compo, a game jam where you make a game in 48 hours, this time to the theme of ‘Ancient Technology’. The Painting Machine is one of Leonardo da Vinci’s lesser known inventions. In fact, before this game... Continue reading

A little puzzle experiment

Here’s a thing I’m working on: The aim is simply to classify each square on the grid as either land or water. Your clues consist of the following: A list of all islands in the grid. Islands are four-connected: two squares that touch only on their corners do not connect.... Continue reading

Twistago AI, part 3: Hard

This is the third and final part of a series in which I explain how the artificial intelligence works in my latest game, Twistago. In case you missed the first or second part, you can catch up on them here and here. With the Normal AI able to hold its... Continue reading

Goals progress

At the beginning of this year, I posted a set of goals for the first half of the year. The idea was that a public commitment would help me stick to them. With that period behind us, it’s time to see how I did. Ranked on a scale of 0... Continue reading

Twistago AI, part 2: Normal

This is the second part of a three-part series in which I explain how the artificial intelligence works in my latest game, Twistago. In case you missed the first part, you can catch up on it here. As you may recall, the Easy AI works by applying a value function... Continue reading

Twistago AI, part 1: Easy

This is the first part of a three-part series in which I explain how the artificial intelligence works in my latest game, Twistago. The AI has three different levels: easy, normal and hard. This is also the order in which I developed them, each level building upon the lessons and... Continue reading

Twistago has launched!

As I alluded to in a previous post, Mystery Game No. 1 is no longer a mystery. It is called Twistago and it’s the best thing since… well… the second best thing! I actually pushed the button for global launch almost two weeks ago, but didn’t have time for a... Continue reading

Facebook integration in Dragon Attack

Always new things to learn! This week, I integrated Facebook highscores into Dragon Attack, so you’ll be able to see your friends’ scores and challenge them to beat yours. I’m hoping this will give the game more lasting appeal, not to mention some ‘virality’. This is what it currently looks... Continue reading

Terrain variations in Dragon Attack

Earlier this week, I added some variations to the procedural terrain in Dragon Attack. Previously, the landscape was generated one segment at a time, forming a “chain” of rotated sprites. Each segment would have the same slope as the previous one, plus or minus a random number. To avoid going... Continue reading

Building a multilingual website in Jekyll

Jekyll is a great tool for creating (mostly) static websites; in fact this very site is built upon it. But it doesn’t come with built-in support for using multiple languages. This is a feature I needed for the website of Mystery Game No. 1, which will be released in German... Continue reading

Making of Morphing Maria

Princesses, snakes, and bears, oh my! In the form of Princess Maria, or some other form, make your way through 10 levels to save your fiancé, Plumber Pete, from the claws of an evil monster! Taking inspiration from The Talos Principle, Portal, Sokoban and a certain classic platformer, Morphing Maria... Continue reading

A week of dragon stuff

With Mystery Game No. 1 in private beta, while I’m waiting for feedback, I’ve had all week to dedicate to Dragon Attack. A lot remains to be done, especially in the tweaking and balancing department, but there has been a lot of progress. Treasure I added something I’d been thinking... Continue reading

Flight of the dragon

Yesterday I worked on the control scheme for Dragon Attack. In its original version, Glauron, the mechanics are very simple: Horizontal speed is constant. Vertical speed is affected by gravity as usual. When you tap, a fixed amount of speed is added to the vertical speed over the next half... Continue reading

10 reasons to love C++

In the past few years, I’ve done most of my game development in Java. It didn’t use to be that way. Before Android and libGDX came along, when C++11 was still C++0x, I used C++ almost exclusively. And recently, because of some performance-critical bits in Mystery Game No. 1, I... Continue reading

Progress on goals

At the start of this year, I set myself some goals for the first half of 2016. Today marks the half-way point of that period, so it’s a good time to check on how I’m doing on each of them. I’ll grade each goal on a scale of 0 to... Continue reading

« Newer 1 2 3 4 5 6 Older »