On developer anxiety

You are finally back home. During your work day your mind was totally a volcano of creativity. You have so many cool ideas to implement (or at least to sketch). You go to your machine and you start to thing to the technical details. Many questions reach your mind. Maybe too many. Is it better to use Python or Haskell, or maybe C++? I have to start implementing my game prototype with Unity or with some other engine? What if in the future I want to add “feature X” after “feature Y”? So you start crawling the web for resources, opinions and more information on your problem. And this will generate more questions. You spend two hours in this way and you are still full of doubts. Then it becomes late. You are tired. You will check out this problems tomorrow. But tomorrow you will find others problem and not even a solution. And so on. Until every project loses its momentum.
Random Maps with Cellular Automata

In the spirit of the ProcJam2014 (that unfortunately I have to skip because of a ton of academic duties :<) I’m presenting to you a simple algorithm to generate maps: the cellular automata generator. In particular, cellular automata are very well suited for cave-like environment and, in general, natural maps. It works both in 2D than in 3D and can be easily implemented in no more than 20 minutes.
From the theoretical point of view, a cellular automata is a discrete model that consist in a regular grid of cells. Each cell can have a finite number of states (usually two: on and off). On top of this grid, a system of rules is built to control the evolution of the cells. The rule are usually simple and local: this means that each rule decide on the state of a single cell just on the basis of a limited set of cells (the neighborhood) located around the cell of interest. No rule on the global state of the grid can exist! For instance “the total number of cell in the on state is less than X” is NOT a local rule.
Towards the ProcJam 2014

Procedural Contents Generation (PCG) is a family of techniques, algorithms and procedures used for generating contents in an automatic way rather than manually. In other words, using PCG, game contents can be created by the host computer instead of pre-design everything at development time.
In recent years, PCG is having an increasing popularity among the academic and game development communities. There are two big reasons behind this success: first, it allow the designer to generate an near-infinite amount of contents without the effort of manually design each element by hand (and that’s why the indie scene love PCG), second it increase the game longevity and replayability value of the game (because, for instance, the game it is always different after each run and so it can be replayed more). This two things combined are The Dream for every game designer: huge longevity with low effort at design time.
Back from AIIDE 2014

Hi everyone! Sorry for the long absence but my days are really full of commitments and terrible news. It is still not over, but but I really need write about something before is too late. :) During the last 3th-7th October, the tenth conference on Artificial Intelligence for Interactive Digital Entertainment (AIIDE) was held in Raleigh (North Carolina, USA). It was a very interesting conference on AI and games stuff and I am really happy to have joined such amazing things. I mean, this is something that I could proudly say to the 10 years old me and make him happy and unbelieving. I could look the younger me in the eyes and say “In the future you’ll participate in a conference about artificial intelligence and videogames with some of the most beautiful mind in that field!”. Wow. However, unfortunately I received too many commitments and bad news from Italy to be able to freely enjoy this conference and to be fully concentrated. I’m really sorry of this.
Speccy Jam 2014 Postmortem

As I said in a previous post, in these days me and my colleague at Noctua were working in the SpeccyJam 2014. The goal of the jam/competition is to make a game with the same look and feel of an original ZX Spectrum game. This introduces a lot of interesting limitations. First, it constrains our resolution to 256 × 192 (that is, however, a really big improvement respect to the LowRezJam :D), second it forces us to use only 15 colors. But most important of all, the non-strict limitation, is to simulate the color clash effect of the original Spectrum on modern engines. This was the most hard constraint that forced us to explore 2D shaders and a lot of simulated low-level algorithms on top of a modern engine like Unity 3D.
Random Goblin Name Generator

Hi everyone. In these days, me and my friend and colleague at Noctua (EDIT: we don’t have a webpage anymore) are working at a new game jam: the SpeccyJam. The goal of this jam is to recreate a game with the same feel and look of an original ZX Spectrum game. We chose to implement a “managerial game” in which the player takes the role of a fantasy blacksmith that have to increase its fame crafting amazing weapons. This jam is very formative because it is forcing us to work in a low resolution with a very limited color space and, also, to explore the amazing kingdom of 2D shaders in Unity in order to recreate the visual glitches of the original console.
Back from ECAI 2014

Hi everyone! I’m back. In the last week I was in Prague to attend to the 21th European Conerence on Artificial Intelligence (a.k.a. ECAI2014). This was my first real academic conference since I started my Ph.D. in the last November. As I said before, conferences are amazing events where I get stressed like never before but, at the end, I come back home super-excited and full of inspirational ideas. Moreover, in these type of events you are surrounded by amazing people that do what you do. Meeting and talking with them is always insightful and amazing. So, first of all, thanks to all the nice people I met during this conference.
In search of the “Philosopher’s Code”

In search of the Philosopher’s Code. A small manifest on my actual thoughts and interests in programming.
Lazy, Bloody Summer (starting again)

I don’t know if my life is starting to be more interesting or just more hard. Anyhow, in this bloody hot August summer I really feel the need to recollect my digital goods and finally put all of them in a single place. Unfortunately, it is too hot here and my will is at historic lows so this “restyling” is taking longer than expected. As I said before, my life is just increasing in complexity and, as a consequence, I need some place for my academic things, a place for my artistic side, a place for my gamedev ambitions, a place for my work, a place for my spare time, a place for my nerdy things. I usually tried to keep all this thing separated and using this website just as an index. Thinking about that today, I don’t know why. Maybe because I always had problems handling my multiple me, my multiple sides of my interests. However, I really cannot handle all this fragmentation anymore. It is just too complicated. So, I have shut down everything and I created this. It is not a special website about something, is just one website, just about me. (Moreover, in this place there were a shitty page the I promised myself to renew for centuries. Thus, I seized the opportunity and now I’ve solved the two problem at once. Nice job, indeed.
Secret Guide!
Congratulations! You discovered the secret guide!
Press ? to show/hide this guide!