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.
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).
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).
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.
You can find the source code for this project here.