The Extended Kalman Filter

This is the third part of the series dedicated to one of the most popular sensor de-noising technique: Kalman filters. This article will explain how to model non-linear processes to improve the filter performance, something known as the Extended Kalman Filter.

You can read all the tutorials in this online course here:

Continue reading

Modelling Kalman Filters

This is the third part of the series dedicated to one of the most popular sensor de-noising technique: Kalman filters. This article will explain how to model processes to improve the filter performance.

You can read all the tutorials in this online course here:

Continue reading

The Mathematics of the Kalman Filter

This is the second part of the series dedicated to one of the most popular sensor de-noising technique: Kalman filters. This article will introduce the Mathematics of the Kalman Filter, with a special attention to a quantity that makes it all possible: the Kalman gain.

You can read all the articles in this online course here:

Continue reading

Kalman Filters: From Theory to Implementation

This series of articles will introduce the Kalman filter, a powerful technique that is used to reduce the impact of noise in sensors. If you are working with Arduino, this tutorial will teach you how to reliably read data from your sensors. This is a tutorial that will be very helpful even if you are not working with hardware: game developers are often challenged by noise, especially when it comes to integrating data collected from gyroscopes and accelerometers. And even if you are not building a mobile game, you can use Kalman filters to increase the precision of your controllers.

This first post will focus on a brief introduction to the problem, while the other tutorials in this online will focus on the derivation and implementation of a Kalman filter.

You can read all the tutorials in this online course here:

Continue reading

The World Generation of Minecraft

This is a companion article to the documentary about the world generation of Minecraft, which you can see below. This is a chance to expand on the content, including more information and resources that was not possible to include in the original 45 minutes of the video.

Have you ever wondered how many grains of sand are on this planet? Well …a rough estimate is… over 7 quintillion! That’s a 7 followed by 18 zeros. And yet, that’s not even half the number of the unique words in Minecraft. So how does Minecraft—and other games like it—build such complex, beautifully crafted yet fully procedural worlds? This article will explore how the game generates its worlds: from its tallest mountain, to its deepest cave. Welcome to the World Generation of Minecraft.

Continue reading

Topographical Maps in Unity: Edge Detection

This tutorial will teach you how to recreate a very popular effect in games: topographical maps.

This is a two-part series, which will cover all the necessary aspects—from the Maths to the shader code—to make this possible:

In this second part, we will focus on the edge detection algorithm that will be used to draw the contours of the terrain.

A link to download the full Unity package is also available at the end of the tutorial.

Continue reading

Topographical Maps in Unity: Terrain Shading

This tutorial will teach you how to recreate a very popular effect in games: topographical maps.

This is a two-part series, which will cover all the necessary aspects—from the Maths to the shader code—to make this possible:

A link to download the full Unity package is also available at the end of the tutorial.

Continue reading

World Building Through Fictional Languages

Every serious game developer knows that world building is an integral part of the process that creates a truly immersive experience. There are a variety of techniques that can be used to achieve this: from presenting the backstory of your player with a wall of text, to clever level design tricks known as environmental storytelling. The latter is often preferred. Unravelling the lore of your world from a few hints scattered across the levels is, de-facto, a game within the game. And while most players might just ignore them, others could find great pleasure in resolving this meta-puzzle.

Games like Dark Souls are notorious for their rich—and somewhat obscure—lore, which can be pieced together through the strong environmental storytelling and the various hints hidden in the item descriptions. Other games go even deeper than that, and create entire new languages for their fictional civilisations.

This is not something so uncommon, and many other media before games have long relied on fictional languages to create a much deeper sense of immersion. The entire world of The Lord of the Rings was built around a series of languages that J. R. R. Tolkien himself created before writing the books.

🇷🇺 A Russian version of this article is available here.

Continue reading

Sunrise Sort: The Forgotten Sorting Algorithm

This article is about an interesting, yet forgotten sorting algorithm: the Sunrise sort. It is possibly the only one to have a rather unusual property: it is fully unstable.

Sorting has been a recurring theme on this blog, from The Incredibly Challenging Task of Sorting Colours to GPU Sorting (animation below). If sorting algorithms—especially the more “esoteric” ones—are a subject that easily captures your imagination, this is an article you definitely want to read.

And for the ones who will dare to stay till the end, you will discover what made the Sunrise sort a “forgotten” algorithm.

Continue reading