Hey There

Welcome, let me explain who I am.

I am a passionate web and game developer coming from Italy.
Some of my current and past activities involve developing enterprise web applications, designing and developing mobile/pc games and apps, VR and AR games and experiences. Sometimes you can find me tinkering with AI and robotics.
I am a gamer to the core, and I deeply love designing and developing video games as I believe it's one of the most challenging and satisfying branches of art and software development.
You can learn more about some of the projects I have worked on if you scroll down a bit more.

Shipped Games

All Right - Line Up!

Tech used

  • Java
  • LibGDX Framework

Features

  • 70 physics based puzzles to solve
  • Unlockable color palettes
  • Achievements
  • Endless arcade mode

Description

2D physics based puzzle game developed by OMGware, a two persons indie dev team of which I am founder and programmer.

TAYL

Tech used

  • LibGDX
  • Java
  • JSON

Features

  • Super simple one touch controls
  • Original Soundtrack
  • Several enemies with challenging AI
  • Three unique game modes: Arcade, Chaos and Evolution

Description

Explore a new way of playing a classic arcade game, help little Tayl defeat several enemies, each with their own strange behaviors.

Use Tayl's powerful extensible tail and his energy shield to make the highest score on three challenging modes, and compare your score with the online leaderboard!

Prototypes and Experiments

The Firewall VR - Shooter prototype

Tech used

  • Unity3D
  • C#
  • VR

Features

  • Huge boss battles
  • Satisfying Weapons
  • Challenge Modes
  • MOBA mechanics in VR

Description

The Firewall VR is a First Person Shooter with Tower Defense and Real Time Strategy mechanics, together with Stealth missions.

The game aims to offer a mix of unique combat mechanics, challenging enemies, huge boss fights and the ability to hack remote systems from inside their core!

Qubotron

Tech used

  • Unity3D
  • C#
  • VR

Features

  • Voxel Engine completely written from scratch
  • RGB Voxel Light renderer
  • Multi Threaded engine
  • Fast Simplex Noise landscape generation
  • Custom Voxel water simulation
  • Import/Export voxel objects directly from the game
  • Third-person Virtual Reality god-like perspective

Description

Qubotron is a voxel based engine written completely from scratch in C#, using Unity3D architecture.
Everything from vertex generation and manipulation, layered materials and lighting is written and handled independently from Unity3D, which allowed me to just take advantage of its high performance rendering canvas, and the plethora of utilities and assets available to this engine.

The engine features an intuitive state machine handled through an efficient multi-threaded queue system.
This allows to perform for instance a whole voxel lighting generation step in under 3ms, 16x16x128 (32768) chunks of Simplex Noise generated blocks (with basic biomes support) in few milliseconds, advanced water and ocean simulation in a very short time as well.
The engine lets players make their own complex voxel structures and export them in a custom format file, as well as import and rescale/rotate them in the map.

Although not shown in the videos above, the game already supports a god-like VR perspective through the Oculus Rift.
The above videos are just a few among others that show those features, but many more are still in development. At this stage the focus has been on the voxel engine, hence no gameplay design papers are finalized yet.

The character shown in the video is just a placeholder that is freely available on Unity Asset Store.

Wave - casual mobile game prototype

Tech used

  • Cocos2d-x
  • C++

Features

  • 2D water surface and bouyancy
  • Casual gameplay

Description

Casual mobile game prototype featuring watery surface tension mechanics and bouyancy.
You guide a boat, carry your payload as far as you can without colliding with bombs.

Fluid Simulator (Open Source)

Tech used

  • Java
  • LibGDX Framework

Features

  • Smoothed Particle Hydrodynamics (SPH)
  • Material Point Method
  • Position Based Fluids
  • Single CPU Rendering
  • Up to 10k particles at high fps

Description

Real time fluid simulator built in Java and OpenGL using the LibGDX Framework. The goal of this project was to develop a high performance, real time simulation rendered on a single CPU while maintaining a stable and accurate fluid behavior with up to 10.000 particles.

The initial implementation was based on the paper "Particle-based Viscoelastic Fluid Simulation" by Simon Clavet, Philippe Beaudoin, and Pierre Poulin, which can be found here.
The V2 version on the other hand contains other fluid algorithms like MPM and PBF, you can find more information with papers on the github page linked below.

The above videos also show some experimental features like slow-motion, smoke/sparks effect with color gradients, smoothly colored high pressure zones, multiphase fluid mechanics with mass density implementation*, and better graphics with particles length proportional to their velocity, making movements seem more dynamic. On the last project revision, the simulation runs at almost stable 30-40 fps on 32bit OS and 3.4 Ghz core, and about 160-170 fps (vsync disabled) on 64bit OS with same hardware specs.

MUH (Mad Universe Holidays)

Tech used

  • Java
  • LibGDX
  • KryoNet
  • Box2D and Box2D Lights
  • Ashley Entity System
  • Tiled Map Editor
  • PHP

Features

  • Rogue-like 2D Shooter with strange aliens, monsters and evil robots
  • 10+ unique weapons like Laser Swords and Portal Guns
  • Online Multiplayer Modes: Death Match, Capture The Flag, Team Death Match, Last Man Standing, Flashlight DM
  • Unique Lobby, Campaign and Arcade modes
  • Advanced AI with Normal, Elite and Boss mobs
  • Randomly generated maps
  • Suppor for community generated maps with Tiled Map Editor (free)
  • Xbox 360/XBone, PS3 and generic MotionJoy/Mobile bluetooth gamepad supported

Description

Mad Universe Holidays (MUH) is a 2D shooter that wishes to become a very fun and dynamic online multiplayer game.
The game takes place in a strange universe where you got to live (and fight) the life of other people, but more on the story will be disclosed at the appropriate time.

I am developing this project in a two-man team where I take the role of Lead Developer and Designer.
I have personally laid out the whole architecture and managed most of mobs AI and weapons, same with the Arcade mode and the whole Network layer and Multiplayer gameplay.

The game features a fast paced shooter with a growing number of unique weapons, randomly generated maps and several fun multiplayer modes to play with friends.
An online server list will be available on the game website, which also exposes a service for multiplayer servers registration from in game when you start a new multiplayer server.

Akame - Action platformer prototype

Tech used

  • Unreal Engine 4
  • VR
  • 3D Coat
  • 3ds Max

Features

  • Action platformer gameplay with puzzle elements
  • Ninja combat skills and weapons
  • Huge exotic maps to discover
  • 100% modeled and animated character, landscape and weapons
  • Third-person Virtual Reality perspective

Description

Akame is a game designed around the story of a ninja. It is taking place in exotic landscapes, with puzzle elements based on the ability to switch the world from light to dark and viceversa.

It has the dynamics of action platformers with a special focus on satisfactory combat skills and weapons inspired by real martial arts techniques. The grappling hook and fast transfer abilities shown in the video are vital to move around the map. The character would also have an animal companion (which I also modeled myself but it's not visible in the video) with a major role in the story and gameplay.
All of this would be designed with a VR perspective in mind, the project already has basic VR implementation.

The demo is done in Unreal Engine 4 (all blueprints), the desert map was made in world machine, the character and weapons are also 100% modeled and animated by me, it was tough but very fun and instructive since I am no graphics artist myself.
The character has a coat animated with Physx cloth, but since it has visible glitches I left it out of the first video, you can watch it working on the second test video above though.

Tech used

  • Java
  • C++
  • LibGDX Framework
  • Libcinder
  • Arduino
  • Point Cloud Library (PCL)
  • Kinect Camera (with jKinect library)
  • Meshlab

Features

  • Step Motor for 360° Turntable
  • Point Cloud output for Surface Reconstruction
  • ASC/PLY/NPTS/PTS/OBJ file formats
  • Real Time 3D Scanning
  • Multiple iterative overlapping scans for better precision

Description

The main goal of this project was to create a simple, low-memory, efficient 3D Laser Scanner in Java, handling real time scanning of a 3D object. During the process, the software communicates with a turntable attached to a step motor driven by an Arduino Uno board, rapidly captures and processes camera images to evaluate the proper shape of the object by using Triangulation techniques with a red line laser.

The software generates a point cloud file (.ply format by default), which can be easily imported in a Meshlab project or directly used for Surface Reconstruction techniques to obtain a more or less accurate representation of the raw original 3D object (without texturing).

A later version of the scanner was ported to Libcinder OpenGL framework in C++, featuring integrated Surface Reconstruction algorithms thanks to the PCL library.