In Your Face turns 2 – All the Numbers

In Your Face is my most successful app so far. This week marks its second anniversary on the Mac App Store. In this post I will talk about why I created the app in the first place and how its journey on the App Store has been, including all the numbers, significant events and how they impacted sales.

Birthday cake

More …

Nodes and Actions

This is post number 4 in a series of articles covering how I am building my pet project Boing, a scripting playground to create Amiga style cracktros.

Last time we have successfully set up Löve2D and tested loading a script. Now it is time to set up Boing’s basic architecture and get something drawn on the screen.

More …

Improving the runtime performance of a label occlusion algorithm

In my current project I am working on a custom map view that needs to display hundreds of labels on the screen. The map view can be zoomed which means that the labels will overlap each other. To avoid that overlapping I implemented an algorithm that hides occluded labels with lower priority. In this article I will describe how I fixed a sluggish zooming experience by improving the runtime complexity of the algorithm from O(n²) to O(n log n).

More …

Lessons in Love(2D)

This is the third post in a series of articles covering how I am building my pet project Boing, a scripting playground to create Amiga style cracktros.

In my previous post I described how the name Boing came to be and why I chose Löve2D to be the 2D engine I want to work with. This post covers my vision for Boing, my first contact with the Lua programming language and my first experiments with the engine.

More …