Recent posts
-
Jul 14, 2024
I am a firm believer that the “tabs vs. spaces” discussion regarding code indentation should not even exist… because tabs is the only sane answer. And I don’t mean to joke with that punchline—I truly believe that tabs are objectively...
-
Jun 25, 2024
In this article, we will walk through the process of generating icospheres (spheres based on a regular icosahedron) with code. I started looking into icospheres when working on Terraced Terrain Generator (TTG) version 2, which added support for spherical terrains....
-
Jan 18, 2024
This blog post details how the Perlin noise algorithm was reused to add more detail to terraced terrains generated by Terraced Terrain Generator (TTG). It is part of a series that documents the development process of TTG, containing the following...
-
Nov 21, 2023
This blog post details how custom terrace heights were added to Terraced Terrain Generator (TTG). It is part of a series that documents the development process of TTG, containing the following posts: Developing a Terraced Terrain Generator Terraced Terrain Generator...
-
Sep 29, 2023
This article aims to contrast two different strategies for writing asynchronous C# code in Unity projects: Unity’s Coroutines and C#’s asynchronous programming model via async/await/Task. We start by quickly introducing both concepts. Following, we discuss how game developers have a...
-
Apr 9, 2023
This post details the process of improving the performance of Terraced Terrain Generator (TTG), a tool developed to procedurally generate terraced terrains in Unity. For more info about TTG, check its website, and repository. This post is part of a...
-
Apr 8, 2023
In this blog post I will discuss some technical details and give a glimpse of Terraced Terrain Generator’s (TTG) development process. TTG is a free Unity tool for procedural generation of terraced terrain meshes. It’s open source and it’s on...
-
Apr 7, 2023
In this article, I discuss and analyze the development of my last project as a Game Developer at Fantazm: Parker - the Game, an online multiplayer turn-based team strategy game. After a quick introduction of the project, its biggest challenges...
-
Mar 29, 2023
Most (or close to none) of the game projects I’ve worked in the past implemented automated tests. I was aware of the benefits this type of testing could bring, but I was also knew that implementing them could be quite...
-
Sep 10, 2022
A Game Design Document (GDD) is a famous and popular tool used by game developers to… well, to document the design of a game. Even though some say it’s an essential part of the development process, most of the projects...
-
Aug 5, 2021
In a previous article, I described the development of VoedingscentrumVR, an educational, kiosk, VR game for Windows Mixed Reality. Although at the time of writing it seemed like it was the end of that game’s development, some surprises crossed our...
-
Apr 14, 2021
Whenever we talk about adapting a game to different countries, the first thing we often think of is localization, but we sometimes neglect its sibling: internationalization. Wait, what’s the difference again? Internationalization is the process of designing and developing your...
-
Apr 1, 2020
In some programming languages – like C# – it is a common practice to use comparison operators and functions to check for null references. However, when programming in Unity, there are some particularities to keep in mind that the usual...
-
Apr 1, 2020
The Unity engine provides users with tools and abstractions that ease its usage and hide its complexity. Although we often take these commodities for granted and completely forget they exist, we often face a situation in which they become apparent,...
-
Sep 8, 2019
Let’s talk about C#’s finalizers (also called destructors in C#) and how a common mistake when using them might lead to unwanted behavior, especially in applications made with the Unity engine. Finalizers A finalizer is a method that is called...
-
Jul 29, 2019
In this article I analyze the development Voedingscentrum VR, an educational, kiosk-style and Virtual Reality game I helped to develop at Fantazm from October 2018 until April 2019. After a quick introduction about the project, the biggest problems that surfaced...
-
Oct 26, 2017
While learning Functional Programming, there were two concepts that for me, were really hard set apart: currying and partial application. One day, I finally decided I would dig deeper and learn what each one represents and more importantly, why I...
-
Jul 9, 2016
While working on Overclock, our team faced a new problem with Android 6 (Marshmallow): all permissions were requested when the app launches the first time instead of when the user downloads the app. Not only that, but the permissions are...
-
Oct 22, 2015
This post is part of a series about Unity serialization. Click here for part 1: how it works and examples or click here for part 2: defining a serializable type. On the last article, we learnt how we can define...
-
Oct 22, 2015
This post is part of a series about Unity serialization. Click here for part 1: how it works and examples. On the last article, we discussed about serialization concepts and how Unity implements it, learning which types can be serialized...
-
Apr 11, 2015
This post is part of a series about Unity serialization. On this series of articles we will discuss a topic that is extremely important to Unity development: serialization. This subject may be a bit cloudy for beginners, but understanding it...
-
Dec 22, 2014
On the previous post we learnt how Unity exports to so many platforms. Now let’s talk about a subject that can sound unnecessary at first, but helped (at least me) a lot on the process of understanding how Unity works....
-
Feb 19, 2014
So for my first article I picked a not so simple theme, but one that has been extremely intriguing to me lately. This week a friend, during a talk about game development and Unity, asked me: “How does Unity export...