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

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

Minecraft Modding: Laser Gun

While guns are not terribly interesting, this tutorial will cover one rather tricky thing to do in Minecraft, which is often associated with guns: raycasting. Simply put, this is the process of finding what object we are looking at. No command is sadly able to do that, so we will need to come up with an alternative solution.

Continue reading

An Introduction to Minecraft Modding

This series of articles will offer an overview and a practical tutorial on Minecraft Modding through the creation of data packs and resource packs. If you are interested in extending the game, this is the article for you!

At the end of this first article you will also find a link to download a mod that allows to throw fireballs, which is explored in the second article of this series.

Continue reading

Delegates, Lambda Expressions & Closures in C#

If you are familiar with programming, you might have heard of a specific paradigm called functional programming. Most modern languages, such as Java and C#, have integrated some functional elements over time. Other, like Scala and Haskell, were built around that very idea of functional programming.

This online course will look at some of the functional features available in C# 3.0, including the concept of anonymous functions, delegates and lambda expressions. But before doing that, we need to understand what functional programming actually means.

If you are interested, keep reading, and we will explore the following topics:

  • Anonymous functions
  • Delegates
  • Anonymous delegates
  • Multicast delegates
  • Lambda expressions
  • Lambda statements
  • Expression-body members
  • Expression trees
  • Local functions
  • Closures
Continue reading

Colour Curve Correction

This is the third and final part of the tutorial dedicated to one of the most used Mathematical tools in Game Development: linear interpolation! In this part, we will explore how to use it to correct colour curves.

You can find a link to download the C# scripts and the Unity package used at the end of this post.

Continue reading

Piecewise Interpolation

This is the second part of the tutorial dedicated to one of the most used Mathematical tools in Game Development: linear interpolation! In this part, we will explore how to extend the concept of linear interpolation to non-linear mappings. The final part will explore how to use them to correct colour curves.

You can find a link to download the C# scripts and the Unity package used at the end of this post.

Continue reading

Linear Interpolation

This tutorial will explore one of the most used Mathematical tools in Game Development: linear interpolation! This first post will focus on its Mathematical definition and implementation. The following parts of this series will explore how to extend linear interpolation to non-linear mappings, and how to use them to correct colour curves.

You can find a link to download the C# scripts and the Unity package used at the end of this post.

Continue reading