Building a React walking skeleton: Introduction

Front-end development has evolved in the last few years, and has become a complex beast on its own. This series of blog posts will take us through the process of building a React walking skeleton from scratch for client-side applications.

We will outline, and maybe implement, a small React application that will serve us as a playground. The scope will be small enough to set up all the pieces of the system without getting lost into

Read More

One game a week #1

I finished my first game jam. For real. This was my… fourth or fifth attempt to participate in a game jam. Previously, I would quit if I didn’t like the theme, or if I got something going on that didn’t let me focus on the game jam. I would also overscope, then quit as there was no way I could finish something on time. This was all wrong, as the whole point of a game

Read More

Designing my first video game


Finally, after years of playing around with game development and making prototypes and unfinished games, I started making a real game that I will release in a couple of weeks. I wanted to explain what’s the design process I followed.

Prior to this one, I started another game a few months ago. It requires a lot of hand-crafted content to make it a viable game, and I felt that it

Read More

The 4 pillars of game development

Making a video game involves combining very different disciplines together, varying from arts to technology. As if we had a palette and an empty canvas, we take some parts of each one, mix them together, and create a game. All of these areas are important. Even if some games minimise the use of some of them, the most acclaimed games usually shine at all of them.

Each of these disciplines can take

Read More

My favourite excuses for not getting started in game development

I have been thinking about some of the most common excuses people (including me) make for not getting started in game development. Even having some truth behind, all of them can be easily countered. The excuses below are focused on indie development, although some of them also apply to pursuing a career at a games studio.

I’m sure there are more, but here are my favourite ones:

I don’t know where

Read More

Getting into game development

After quitting my job at Codurance to work on my own projects, and considering different options, I decided to finally get into indie game development.

Wait, what about the famous indiepocalypse?

I know. The market is crowded, there’s lots of shovelware and discoverability is a problem. Indies make peanuts in average. All looks terrible. But, let’s look at the past, when has game development been easy?

Discoverability problems? Yeah, tell those folks how had to sell their games in

Read More

Lambda Calculus in Clojure (Part 2)

In Part 1, we built a boolean algebra using Church Encoding. In this post, we are going to reuse some of the previous work to build a similar algebra, this time for numerals.

Church numerals

In the algebra we built in the previous post, Church booleans were encoded using higher-order functions. The way Church numerals are represented is similar: given a number n and a function f, the Church numeral of n is

Read More

Lambda Calculus in Clojure (Part 1)

Lambda Calculus is the smallest programming language. As we saw on my previous post, the only building blocks available are functions, variables and expressions. There are no built-in primitive values or operations. How can we then solve real-world problems using Lambda Calculus?

In this post, we are going to create a set of building blocks, using lambda expressions, to calculate boolean expressions. For this, we are going to use

Read More

Falling into Machine Learning

Recently, I rediscovered my passion for Mathematics and Artificial Intelligence, which I used to hate during my degree in Computer Sciences. Lately, I’ve been focused on Software Design, Automated Testing, Microservices, and Functional Programming. I also love learning new programming languages, so I’ve been wondering whether to go deeper into Golang, Scala or Python. But, in the end, all of them are tools; tools for building what kind of things? In my case, my day-to-day

Read More