Some days ago I had a particular issue implementing NPCs with many behavior facets which required live processing. As you see, my NPCs had to follow my character around the map and some of them had to apply some damage per second to end up killing him. For this reason I ended up having several tasks that required live processing and my code become messy due to a bunch of flags regulating whether I should turn live processing off or on. In order to kill this spaghetti code and replace it with something readable I decided to implement a tag-based multi-lock for Godot Engine’s per-node processing.


With this script you can add multiple tags referring a behavior you are executing and needs processing. When first tag is added, processing tasks will be launched. When last tag is removed, processing tasks will end. Rather simple, but really necessary for some games featuring NPCs with several behaviors like I do have.

[GitHub Gist]

A couple of months ago I started to develop on Godot Engine, an engine for videogames development. My first steps were to program small proof of concepts. One in particular was about throwing objects around the screen using the touch sensor, couldn’t find any suitable script for the task so I ended up implementing Swipe Detector, a swipe and gesture detection library for Godot Engine.


The scripts includes usage documentation and an extensive catalog of examples on several scenarios.

[Godot Asset Library] [Github]

I have built a simulator of a variant of Congway’s Game of Life using Godot Engine. In this version a Cell can be death or be alive with six different vitality levels. Each turn updates cell’s vitality according to each cell’s neighborhood.

[GitHub] [Youtube]

I have participated in the development of the new demo for IBM Watson Personality Insights. This version includes new features to maximize understanding of personality characteristics and to improve the overall user experience, focusing on the relation between personality traits and behaviors that a person is more or less likely to express.

I wrote an article about this, you can read it at IBM Watson Developer Community blog.