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 …

Reviving an old Pet Project

When I was younger I used to collect all sorts of legacy hardware from flee markets, yard sales and the likes. I built a formidable retro computer and game console collection. This has become very hard nowadays because 1) it is really hard to still find anything and 2) I don’t have enough storage space.

I recently went through a list of my precious collection items and while doing so got inspired to dig up an old pet project of mine that I last worked on five years ago.

More …