This website uses Google Analytics.

By continue browsing you accept some data about your usage may be collected.


Walking Simulator Experience/Game (PC)

Group project, 2020

Memorex is a very simple walking simulator game, the main focus of which is to guide the player to a teenager's fantasies in a chill and relaxed mood. During the game the player just walks around Rex's dreamy world and explore it slowly, stepping on some stones to piece together all of Rex's memories.

This project was developed in Unity as an exam project in the MSc in Games at the IT University of Copenhagen. Initially conceived to explore relaxed gameplay through nostalgic walkman imagery, Memorex became a game about the relationship of Rex - a teenager - and his father who lives in Japan. The game starts from Rex's bedroom, where the protagonist finds a shamisen (a japanese guitar-like instrument) sent to him as a gift from the distant father, and then moves to a fantasy land. Here, Rex goes through his memories, finding his videogames, the first fishing and sushi with dad and other experiences that helped him grow as the person he is now. Finally, Rex returns to his room, called for dinner by his mom, and the game ends with this cyclic metaphor.

I developed this in a team of 5 students and many of my ideas ended up in the final product. In particular, my contributions include:

  • Camera programmer, iterating through different styles and finally implementing a "hybrid" dolly follow;
  • Transition programmer, smoothly switching scenes and cameras programmatically;
  • Level designer, responsible mainy for the creation of the central bedroom hub;
  • Narrative designer, responsible for dialogues and environmental storytelling;
  • Art Bible creator, responsible for aligning the vision internally and sharing it to the public;
  • General polishing of many graphical and code details.


Interactive Multiplayer Music Experience (Android)

Group project, 2020

Dispattern is a mobile interactive music experience aimed to connect up to 4 players simultaneously, in order to create beautiful music together. The players can draw platforms with simple swipes, and the note produced varies in relation to the platform's length.

This project was developed in Unity as an exam project during my MSc in Games at the IT University of Copenhagen. The multiplayer component is handled via Firebase, which handles platforms' transactions and player states. If more than 4 users connect at the same time, the ones not playing can spectate and listen to the music piece, while waiting for their seat to play.

While developing Dispattern, I've had the chance to improve in these regards:

  • Shader development in HLSL, specifically playing with reverse subtractive effects and sprite texturing;
  • Game logic implementation to support rendering of online multiplayer actions;
  • Touch input handling for complex logic and animations in Unity;
  • Reactive UI and tutorialization;
  • Game mechanics design to satisfy constraint set by sounds and art.

Evolutionary Platformer

2D Platformer (PC)

Group Game Jam Entry, 2020

Evolutionary Platformer is a 2D vertical scrolling platformer in which you are a monk trying reach Nirvana by jumping your way up to the sky on various types of platforms, while avoiding the demons floating around and the darkness creeping up from the bottom.

This game was made in Unity as an entry for the Lvl One Jam. Originated from the theme of "Left Behind", in Evolutionary Platformer you can enter Zen Mode to stop time and edit the level by moving around any one platform or enemy, in order to save the monk from death or to make your life easier. Moreover, after each death or level completion, the monk's Karma changes and the player can select one of three options that will modify some in-game parameters like the gravity, the player speed, the number of edits per run and so on.

During this game jam I decided to work with a team of people I did not know before, and I took on many responsibilities:

  • Game Designer, responsible for game mechanics and vision;
  • Art Director, responsible for drawing the main sketches of all sprites;
  • UI, animations and graphics randomization programmer.

Tank Ball

Couch Multiplayer Game (PC)

Group Project, 2019

Tank Ball is a fun-packed couch-party game in which you can brawl in macthes with 2 to 4 players. You're a cartoonish tank and need to touch the ball 3 times to get a chance to spike it down and destroy your friends' tanks. Meanwhile, you can shoot other tanks to bump them away or dash to avoid bullets and spikes.

This project was pitched by me and got selected to be developed as an exam project during my MSc in Games at the IT University of Copenhagen. The core idea was about playing volleyball with flying tanks, but we pivoted and polished the game until we reached a game we felt it was real fun for both casual and seasoned players.

While developing Tank Ball, I was responsible for most of the high level roles:

  • Game Producer, responsible of team coordination and communication;
  • Lead Game Designer, responsible of game feel and mechanics selection based on player testing;
  • Lead Programmer, responsible of code tweaking, various in-game mechanics and UI;
  • Website developer and promotional material creator (trailer, posters, banners).

Light of The Moon

Bullet Hell Game (PC)

Group project, 2019

Light of The Moon is a basic bullet-hell boss arena battle game made with free isometric 2D sprites. The aim of this project was never meant to become a polished finished product, whereas this was developed as an exam project in the MSc in Games at the IT University of Copenhagen to showcase low level programming ability.

This project was developed in Simple Render Engine, a simple game engine developed by a PHd at ITU. Using SRE meant not having the usual visual shortcuts modern game engines provide, as well as having the full control over which type of architecture to use to handle game objects. The code was entirely written in C++, to handle physics and collision we used Box2D and to load data we used RapidJSON.

I took part in all decisions about the architecture and patterns to be used in the project, but some of my personal contribution to the codebase include:

  • Handling of the game state via a Singleton Game Manager;
  • Handling of game objects with a component based architecture;
  • Collision detection and multiple fixtures handling for each physics component;
  • Animation and movement smoothing of bullets with Box2D;
  • Boss phases "AI" for spawning bullets in specific patterns;
  • Object Pool to handle bullet's allocation and deallocation in a light way;
  • Performance optimization and code refactoring based on memory usage profiling.


2D Platformer Game (Android)

Solo project, 2019

Ninja2D is a small videogame project I created to learn the basics of Unity. The game is a 2D platformer developed primarily for Android, but easily portable to other platforms. In this game the player controls a ninja character in 2D linear levels with the goal of reaching the end of each one without falling from the platforms, while also facing some enemies. The player can jump, crouch, attack with a sword or shoot a fireball forward, while two of the enemies are a frog that jumps back and forth on platforms and an eagle that follows the ninja while he's within a certain range.

This videogame was entirely made by me except from the characters sprites and the background tiles, taken from royalty free assets. As a first experiment with Unity and C#, it took me approximately one week to study the basics of the game engine and to develop the actual game. Even though the concept is really simple, I plan to continue the development in the future in order to add levels and enemies and enhance the control and combat system.

Some features of Ninja2D to highlight are:

  • Movement control system completely working both with mobile overlay UI and keyboard;
  • Tile and scene system organized to easily build new levels without needing additional code;
  • Good level of abstraction on the components and code structure;
  • Fully implemented pause menu, loss menu, won level screen and end game credits;
  • Attention to visual feedbacks like healthbars, camera shakes and fluid animation changes;
  • Overall coherent graphic style to match the third party assets I used.


Card Party Game

Solo project, 2018

Lupus is my personal take on the party game Werewolf. It is a game were 9 to 37 players can roleplay a set of characters from a little village, were were a pack of werewolves started decimating the population during the nights.

To play, a master anonimously deals a card to each player and then narrate the events. One game round consist of day and night, and each part has different rules: during the night everyone close their eyes and one at a time some individuals with special powers get called by the master to open their eyes and use their power. Lastly, all werewolves open their eyes and decide on a prey to devour among all the other players. During the day, instead, all the player who are still alive discuss the current turn of events and ultimately settle on a person to burn at the stake, on charges of being a werewolf. The game ends if the good villagers burn all the werewolves or the number of alive good characters equals the number of alive werewolves.

Some things worth mentioning by my experience designing Lupus are:

  • Analyzing similar products and evaluating balancing and design decisions;
  • Playtesting of different combinations of synergies in deck based games;
  • Evaluation of character influence on a game based on the group's size, in order to help players decide when to use which characters;
  • Introduction of new mechanics compared to other editions of the game to better engage "dead" players;
  • Card design and logistic for printing and cost of deck based games.

Manoir Du Moulin Video

Luxury B&B Advertisement Video

Solo project, 2018

Manoir Du Moulin is a luxury B&B in Sainte-Hermine, a small town in the Provence region, in France. While I lived there during the summer of 2018, I was asked by the owners to create an advertisement video for their B&B business.

I shot all the video sequences with a Panasonic Lumix G6 and a Panasonic Lumix G X Vario 12-35mm f/2.8 lens. I did not have all my equipment with me, so the video was shot on a budget with just a tripod, a slider and two portable LEDs.

The product is a fast paced video showcasing all the Manoir Du Moulin suites, as well as the common spaces and the gardens on the outside. This required multiple days of shooting, as the suites were often occupied by clients, so I had to organize a schedule for the shootings and prepare in advance a list of B-rolls to shoot.

The final product has been edited primarily in Adobe Premiere, were all the clips were cut and organised into the timeline to match the rhythm of a background music I chose. To enhance the overall quality some animations and effects have also been created with the aid of advanced presets on Premiere and also by using After Effects.

Agenzia Le Corti online branding

Website Design & Development

Group project, 2018

Agenzia Le Corti, a local real estate agency located in Lonigo (Italy), commissioned the development of their new website and their online branding to a small team that I led. The website they asked us to create is meant for showcasing the properties on sale/rent through their agency in a fancy way, with a fast and easy-to-use search function.

I personally designed the whole website's UI and UX, making changes until all the requirements from the proponent were completely satisfied. The design of the website was intended as desktop-first, as that use case is the main one at the agency's office , but it is 100% responsive in every part.

Even if I focused mainly on the design and HTML+CSS structure, some key features of this website are:

  • Automatically generated slideshow of featured properties, easily controllable via flags on the agency's management software;
  • Easy to use search engine with pre-filled values automatically parsed from the agency's management software;
  • One-page infinite loading of housing's list with no refresh required after applying search filters;
  • Automatically generated URLs for every in-detail page of housings, based on the IDs assigned on the agency's management software.