Projects

Here are some of my projects. You can download source code from github or a compiled build (most of them are cross platform.

This page will be updated from time to time.

Note: this is just a selection of some interesting (in my opinion) concepts and projects made by myself. You can find an extensive list of projects including tech demos and algorithms on my Github.

Dog 3D

Pseudo-3D raycasting engine inspired by the legendary id Software’s Wolfenstein 3D engine.
I created this engine just for fun, for the anniversary of Wolfenstein 3D. It’s written in C++ using the SDL libraries.

You can find the source code on my Github page.
Design and development is discussed here and there (blog).

Yocto Raytracing

An implementation of a raytracing using the Yocto library.
Source code here.
Note: you can find some more experiments with Yocto on my Github page.

Raytracing is now a trend topic (also thanks to Nvidia RTX series).
Its strenght is the possibility to render a scene with a high level of realism simulating light rays to visualize only what is touched by light (like in real life).
The raytracing algorithm manages rendering of materials with different levels of opacity.

Shiny materials (like metal) have probably the most stunning visual effects, with raytracing. Indeed, simulating light rays, we can calculate the right intensity of the colours reproduced by shiny surfaces, as you can see below.

Probably one of the most important applications of raytracing, is the rendering of furry animals and human hair. Indeed, hair have very complex light interactions and reflections and approximations of the individual reflections of every hair can lead to low realism.
Below you can see the reproduction of hairy balls using my raytracing algorithm.

Super Mario Swim

Arcade single-player game inspired by Flappy Bird featuring Super Mario.
It’s basically an endless old school water level of Super Mario Bros, in which you have to swim (by left clicking) through water plants to get the highest score (you will eventually die, because it gets faster and faster mwhahaha).

It’s written in Unity (version 5, I need to update it to the latest version).
Source code is in C# and can be found here.

Pet Follower on a 3D plane

This is just a demonstration of how to make an object follow another object on a 3D environment. The follow algorithm is written in C# (Unity 2018) and demonstrate how to manage 3D operations like rotations, etc.
The gif below shows the algorithm in action (the red guy follows the blue guy that is controlled by keyboard input).

Sapy

This one is a very unique project. It is an interpreter for a subset of the BASIC language written in Java 7. I made this for a university exam about Object Oriented Programming. Later I also attended a course on Programming Languages and Compilers, thanks to this exam.

There’s not really much to see here, except for the source code that you can find here.
Also, if you’re interested, you can read here a relation + tutorial about the language and the interpreter (it’s in Italian, though).

You are free to play around with this software and extend it if you like. Since it’s written in Java using a modular approach, it’s easy to extend.

tRoll

A virtual dice roller made in Javascript.
This is a project I made for the Mozilla Firefox OS App Days hackathon back in 2013. I won thanks to this project. It’s fully made in HTML5 (HTML, CSS, JavaScript) and can run in your browser or on Firefox OS and any other HTML5 based OS.
You can find the source code for this project here.

Navigation