By continue browsing you accept some data about your usage may be collected.
I have an academic background in Computer Science and Games Development, with work experience in software development and content creation of 2D graphics and videos.
I have ADHD and tend to thrive in highly collaborative settings. I sometimes may struggle to get started on completely new projects, but once started I can deeply focus on my work and achieve highly polished solutions in little time. I prefer working on gameplay related elements, but I also like making tools for others. I can offer a strong understanding of game-specific code architecture and algorithms, as well as a highly creative mindset in problem solving.
By nature, I love making people laugh. I'm also a very organized person and I have often led student group projects. Nonetheless, I value listening to new perspectives and working with others. If needed, I can be a jack of all trades.
I'm always up for a game night at Bastard Café. I love strategic board games.
I regularly role/master Pathfinder 2E campaigns with friends, streaming them on Twitch.
To me, true happiness lies in eating a good Neapolitan-style pizza. No pineapple attached.
I got the Advocate (INFJ-T) personality in the 16Personalities online test.
I worked for 3 years as a student Android Developer, implementing both logic and layout changes for their clients' apps. The apps I worked on include Fitness World, OK - Tank, wash and park, Solar Mobile and Nordisk Film Biografer. My work at Shape has included:
Shape is an award-winning digital product studio, with a team of 100+ devoted in-house developers, designers and strategists who combine innovation with digital craftmanship to deliver lasting products for mobile and beyond.
In Shape I've been hired as a student Android Developer with little experience, but I've quickly developed my skills completing many different tasks in 8 different projects. Most of the task I've completed required highly custom solutions to deliver high-class functionalities and animations for some of the company's biggest clients.
Working at Shape I've also improved significantly in working in a big team, acquiring in-depth knowledge of tools like the Atlassian Suite, Localise, Zeplin, Postman, Charles and many others.
During my time at Shape I achieved the following results:
During my studies at ITU, I've been working as a Teaching Assistant for the courses Game Programming, Game World Design and Mobile App Development, as well as manager of the GameLab. As a TA, I've worked in close contact with the professors to improve the course quality for all students. In particular I've had the following responsibilities:
ITU hired me as a Teaching Assistant for the course on Mobile App Development in the MSc in Software Design, as well as for the courses Game Programming and Game World Design in the MSc in Games. Moreover, I've been employed for most of the duration of my studies as a manager for the Game Lab. The role of TA required constant communication with both the professors and the students.
The course of Mobile App Development covers the basics of Android development from scratch and the course focused on Java and the core AndroidX Libraries. The course Game Programming covers the basics of how Game Engines work under the hood and teaches game programming techniques and best practices via various assignments and a project developed in SimpleRenderEngine (C++ based). The course Game World Design, instead, revolves around creating a semester-long game project via an inherent game world coherence, by working in small development teams of 6-7 people with different roles.
My communication with the professors has consisted of constant feedback on the material prepared for classes, also helping them with the correction of assignments and the collection of feedback.
My communication with students has instead consisted of weekly office hours to help them with any doubts or issue related to the weekly classes and assignments, as well as to provide feedback on their projects. In both Game Programming and Mobile App Development I've also been in charge of organizing small programming workshops. In Game World Design, instead, I've managed to facilitate peer feedback and awareness during remote teaching by creating and managing an active Discord server. As a manager for the Game Lab I've also been in charge of organizing social events (playtesting, VR nights, game nights, online gatherings) and facilitating students in need of special game-related equipment for their projects.
Some of the experience I've acquired from being a Teaching Assistant have been:
MK Media is a company holding two major online press publications in Italy. My roles inside the company have been multiple, all involving the creation of content in various forms. My main focus has been on creating videos, editorial pieces and graphics for social media and editorial usage.
Some key results I achieved by working in MK Media have been:
MK Media is a company holding two major italian online news websites, TuttoAndroid and TuttoTech. TuttoAndroid is the second biggest news source about everything regarding the Android ecosystem in Italy, while TuttoTech covers a wider range of technology-related topics and is growing at a fast pace.
My major focus on both TuttoAndroid and TuttoTech has been creating high quality content, like product reviews, editorial pieces or advanced guides and tutorials. Other than written content, I created many videos aimed for TuttoAndroid's YouTube Channel. My videos were always written, shot and edited entirely by me, and their contribute helped almost trebling the channel's subscribers (more than 200'000 as of my last video).
I also represented MK Media at many product launch events and major business fairs, like the Mobile World Congress in Barcelona and the IFA in Berlin. Thanks to these opportunities, I had the chance to meet and network with many major personalities in the consumer technology market.
Other than creating user-focused content, I also often worked in MK Media to produce graphic content for the websites and social medias, as well as to design stickers, bags, T-shirts and other branding accessories. Furthermore, I entirely designed and created both TuttoAndroid's and TuttoTech's YouTube channels' graphic layout and video animations two times.
On a smaller scale, I also did some freelance work for MK Media by creating custom snippets and custom site heading for special events.
During my work in MK Media I achieved the following results:
Magicard is a digital card game focused on combining turn-based mechanics with time pressured gameplay. This game was developed as part of my master thesis in the MSc in Games at the IT University of Copenhagen, in collaboration with another student. My contribution to the project include:
Magicard is a digital card game focused on combining turn-based mechanics with time pressured gameplay. The way this is achieved is through simple card effects and few mechanics to keep track of, with turns bound by a short time limit. The whole project served as an exploration of a possible new genre, aimed at mobile players who want to play a fast card game.
This project was developed in Unity as part of my master thesis in the MSc in Games at the IT University of Copenhagen, in collaboration with another student. The game went through 3 main iterations and was playtested at each of them, in order to iteratively improve it and find new insights on how such a new concept could be properly understood. In total, the development took roughly 2 months, a big part of which was spent in improving game feel and polish to better communicate game mechanics.
Most of the design and development has been done in synergy with my thesis partner. Some of my contributions to this project include:
MOARI is a predator-prey environment simulation, in which simple carnivores and herbivores move in a 2D petri dish and search for food in order to survive. The simulation is run in Unity and the AI for herbivores and carnivores are trained through Unity ML Agents. This project was developed as a group exam research in the MSc in Games at the IT University of Copenhagen. The focus of the research was a comparison between the algorithms provided by the framework used. My contributions to the project include:
MOARI is a predator-prey environment simulation, in which simple carnivores and herbivores move in a 2D petri dish and search for food in order to survive. In particular, herbivores survive by eating green food pellets, while carnivores eat both red food pellet and herbivores.
The project was developed in Unity as an exam project during my MSc in Games at the IT University of Copenhagen. The training of preys and predators is done through deep reinforcement learning, with the usage of Unity ML Agents. Both herbivores and carnivores were trained multiple times with the PPO, SAC and MA-POCA algorithms, tweaking each one to achieve the best results. Finally, all algorithms were compared against each other.
My contributions to the project include:
Keep Moving and Nobody Explodes is a game prototype made in Unity as an entry for Ludum Dare 49 as a 2-person team, in roughly 20 hours. Originated from the theme of "Unstable", the game features a yellow square avatar that generates shockwaves when standing still and can use this feature to break certain obstacles with precise timing. My contributions to the project include:
Keep Moving and Nobody Explodes is a 2D platformer in which the player controls a yellow square and needs to transport it to the end location of the level, passing through a series of obstacles and avoiding falling or exploding.
The game was made in Unity as an entry for Ludum Dare 49. Originated from the theme of "Unstable", the main spin of the game is that, once outside the start safe area, the yellow box shakes whenever it's still. By using the shockwaves, some obstacles can be destroyed. However if left shaking for too long, the square explodes. Obstacles are made of different materials, such as glass or stone, so the amount of shockwaves required to destroy them varies. This makes it so that positioning and timing of shaking become key to progress.
In this game jam we were only 2 people and I was the only programmer. The game is just a prototype, made in roughly 20 hours. My contributions to the project include:
The LEGO Pirate Cube is a hybrid physical and digital game developed for a LEGO x Unity Game Jam hosted specifically for ITU students. The game my team developed, with me as lead programmer, is a 2-player experience, in which one player plays a classic platformer videogame, while a second player controls certain objects in the gameworld through a physical cube. The cube is powered by a LEGO Technic Hub and four MINDSTORMS sensors to allow for a variety of unique interactions:
The LEGO Pirate Cube is a hybrid 2.5D platformer, in which 2 players need to cooperate in order to make a pirate reach the treasure, through a series of platforming challenges and puzzles. The hybrid component comes from a physical cube built with LEGO and powered by a LEGO Technic Hub and four MINDSTORMS sensors, which allow a player to interact with the digital video game.
The game was made in Unity as an entry for a LEGO x Unity Game Jam, organized specifically for ITU students. The goal of the jam was to create a unique interaction between LEGO Technic Hub and MINDSTORMS sensors, using as a starting point the LEGO Unity Microgame with action and trigger LEGO blocks. Our approach has been to create a physical cube, corresponding to a digital cube following the player's avatar in the game as a companion. This way 2 players can play together, with one using the keyboard as input and one instead using the cube to aid the first player as the cube companion.
During this game jam I took on the role of lead developer of the team, but I also designed some of the interactions and parts of the cube itself. Some interesting remarks:
As an avid tabletop RPG player, I designed and develop a website to use as a tool in my Pathfinder 2E campaigns. This browser tool offers the functionalities of the Critical Hit and Critical Fumble decks created by Paizo, but in a online and improved fashion. Some of the key features of this projects are:
Pathfinder 2E Critical Decks website is an online transposition of the original Paizo's release of the decks for Pathfinder 2E. This tool is thought to be used during Pathfinder 2E campaigns played online, whenever a player or NPC rolls a critical hit (20) or critical fumble (1), in order to apply additional effects and make the combat more intriguing.
This project was developed in plain HTML and CSS, with a JSON file to store the various effects and some logic in JQuery to randomize the card drawn based on the parameters chosen by the users. The website has been designed entirely by me, with the objective of making it easily usable both from PC and mobile, while also keeping the original card design from Paizo and the feel of drawing a card central elements of the UI/UX. Most importantly, I categorized the effects based on effect severity, in order to allow the players to draw only appropriate effects, either avoiding the very mild or extremely nefarious ones.
The design and development of the website, including the categorization of the cards, took approximately 3 days. Some of the main highlights from this project are:
Memorex is a walking simulator game not focused on mechanics complexity but on world building and delivering a chill experience to the player. It was developed in Unity as an exam project in the MSc in Games at the IT University of Copenhagen. This game focuses on narrating through gameplay the memories of a teenager related to their Japanese dad and childhood items. My contributions to the project include:
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:
Dispattern is a smartphone-based interactive music experience developed as an exam project in the MSc in Games at the IT University of Copenhagen. This app has been made in Unity and features support for 1 to 4 concurrent players, engaged in creating music together by drawing colored lines on their screen. Any other person connecting to the app can spectate to the music played. My contributions to the project include:
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:
Evolutionary Platformer is a game made in Unity as an entry for the Lvl One Jam. Originated from the theme of "Left Behind", the game idea revolves around modifying the layout of the level and the game's parameters during your run, so that the next players will find a slightly different game every time. My contributions to the project include:
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:
Tank Ball is a fun-packed couch multiplayer game developed as an exam project in the MSc in Games at the IT University of Copenhagen. This game has been made in Unity and features support for 2 to 4 players, with state of the art handling of input via controllers. My contributions to the project include:
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:
Light of The Moon is a basic bullet-hell boss arena battle game developed as an exam project in the MSc in Games at the IT University of Copenhagen. The game has been made in SimpleRenderEngine, pure C++ and Box2D to test game architecture notions. My contributions to the project include:
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:
I've developed the key functionalities of this simple Android videogame using Unity and coding it in C#. The game is a 2D platformer, with a ninja character who can attack with a sword and shoot fireballs to various enemies, while trying to reach the end of the level.
The learning of Unity and the development of the game took me approximately one week, but I plan to continue the development and enhance it in the future. While developing this game, I had a chance to improve in these areas:
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:
Lupus is my personal take on the party game Werewolf. I designed this variant of the game to include new characters and modified other ones to balance the game for even more people. I worked on this project on my own, with just a little help for the characters' central artworks, drawn by a friend. Some of the experience I got out of this game:
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:
This 2-year Master in Games was focused on the key technical aspects needed by a game programmer, as well as introducing essential game design concepts. This was achieved by both advanced aspects of Computer Science and practical projects in making actual games. Some key takeaway I got from this Master are:
This two-year-long master degree in Games is a programme for aspiring Game Developers from the IT University of Copenhagen and it's entirely taught in English. The structure of the courses is partly fixed, but there is a great flexibility in terms of electives and projects, allowing the students to develop their skills in many different ways.
Most of the courses from this programme require a team project to be handed in, as well as written reports to reflect and explain the work behind the final product. Many of the games created during this master ended up being small games, some of which can be found in my portfolio.
The thesis I graduated with is a semester long project on exploring new design spaces. The title of the thesis is Designing for card game turn-based mechanics within a time-critical framework.
The full list of courses I've succesfully passed in this Master is the following one:
This 3-year Bachelor in Computer Science was focused on learning the core of software development. It helped me in achieving several crucial skills for a software developer, through both frontal lessons and pratical projects. Some of the skills I've acquired from my studies are:
This three-year-long bachelor degree in Computer Science was entirely taught in Italian at the University of Padua. The structure of the courses was mostly fixed, with just two elective courses. Many exams required some practical projects to be carried out, either by the individual student or in a team.
The third year was concluded with a two-month-long internship in a company (Tradenet Services) to develop an actual project. My final bachelor thesis is based on that internship experience, and it's called "Design and development of a cross-platform application using React and React Native".
The full list of exams I succesfully passed in order to get my bachelor degree is the following one:
My High School studies have been focused on scientific subjects, while also keeping a high level of education in humanistic fields like History, Philosophy and Latin. As a student of Liceo Levi I achieved the following goals:
References available upon request.