My Face

Hi! I'm Marco, a video game programmer living in Italy!

Since I was in middle school I've been fascinated about game development.

New technologies doesn't scare me because I'm not afraid of challenges.

Able to communicate efficently with any colleague in any role.

During a three-year course at AIV, I've learned a lot about programming.

Here are some of the projects I've worked on.

Featured Projects

Just click on a project to find out more.

Forgotten - Whispers from the ashes
Unreal Engine 5
Blueprint
C++
Inspection
Dialogues
Modular Blueprints
Save/Load Game
Lead programmer for a yet-to-be released detective story-driven open-map first-person game set in a western ghost town. My main task was to develop a narrative system using data tables (from which I made my own plugin), manage world interaction between past and present using interfaces and shaders, manage data saving and loading, player item inspection using mouse movement and develop an easily customizable puzzle system. I've been working with a team of 10 ex-students from AIV - Italian Videogames Academy and will be published on AIV steam page. The player must use his grandfather's cursed lantern to search for clues in the past and present.
Simple Narrative System Plugin
Unreal Engine 5
C++
Narrative
Interfaces
Modular
UE Plugin
The simplest narrative and dialogues system you can find for Unreal Engine. It's very easy to set up and use and after 1 year of work, it has been released on the Fab marketplace (Ex EpicGames Marketplace). This plugin uses data tables to store dialogues data; a world subsystem to automatically instantiate an audio and UI manager without adding it to the level each time; a blueprint function library to export c++ functionality (Only 5 nodes for not-programmers semplicity).
AI Chatbot - Minesweeper inside Unreal Engine 5
Unreal Engine 5
C++
Python
Slate
AI (LLM)
Multithreading
Data stream
UE Plugin
Rest Call
Json Parsing
Minesweeper
Integrated a Chat Bot hosted on a local Ollama server inside Unreal Engine 5. The chat bot follows this workflow:
  • When sent a prompt using the Slate UI, inside C++ I create a new thread.
  • In this new thread I create a bridge between Unreal Engine and Python.
  • In Python I make a Rest Call and the result is returned inside a Unreal Engine UStruct as a stream of data.
  • If the result contains a Json and it's a Minesweeper grid, spawns it as a working minigame inside the Slate UI.

Personals Projects

Just click on a project to find out more.

Ball Catch Game
Unreal Engine 5
C++
AI
Academy
Ball catching game made in Unreal Engine 5.3 using only C++. Player can touch enemy to stun them and force them to move to spawn position when picking up a ball from the ground, Enemy AI using Blackboard, shared pointers and lambdas for a simple Finite State Machine. Use of delegates to avoid useless references. Added a Console command "ResetMatch"/"ResetMatch Win" for debugging purposes!
Tetris Remake in C
RayLib
C
Linked List
FSM
Academy
A remake of the Tetris game written in C using the RayLib library and my own linked list library. It includes: highscore saving, multiple scenes management as a FSM, Music and SFX, Pause Menu and an effect when a line is completed. Made as exam for my academy.
Caso ha cose
Unreal Engine 5
Blueprint
Dialogues
Inventory
Game Jam
Developed in one week for the GGJ 2024 with the theme "Make me Laugh" in Unreal Engine 5 and winner of the third place of the AIV GGJ. During this Game Jam I've started working to my custom narrative system which will be released as standalone plugin on the Epic Games Marketplace. I've developed too the achievements system using events, interfaces and dispatchers, the interaction system and a basic inventory system with a throw-item mechanic.
Rec Room
Unity
C#
Camera System
Juicy
3D Models
Game Jam
Programmer for a game made in 7-day for a game jam. Developed a surveillance camera switching system, gave the game more feel, juice and feedback to the player by adding sounds, animations and outlines to NPCs, developed different endings when certain conditions were met.
Space Shooter for NES
NES
Assembly x86
Low Level
Art
During my third year at the programming academy, I've learned the assembly programming language and how to build for the 6502 CPU which is the one used by the NES. In this game you can shoot rockets with the [A] button. All the sprites are hand-drawn by me.
Caltanissetta Chronicles
Unity
C#
Save/Load
Modual Camera System
AI FSM
Player Abilities
Academy
Made as exam for my academy and I were lead programmer and team manager in a team of six. My main task was to write a finite state machine for ranged and melee enemies and a boss fight with multiple stages (one with a rhythm minigame), develop a procedural camera system with customizable shots, manage data saving and loading and player combat system. A strange force is threatening Sicily. The samurai mission is to investigate the mystery of Caltanissetta.
Flappy Bird in Python
Pyxel
Python
Custom Profiler
Save/Load
A flappy bird clone written in Python using Pyxel. It can save highscore on file and tracks FPS drops to be analized.
A Backwards Journey
Unreal Engine 4
Blueprint
Player abilites
AI FSM
Game Jam
Worked as solo-developer for a team for the GGJ 2023. Made a dungeon-escape game with a player that can attack melee and ranged, can be heal by using potions and use special powers. It's a journey that follows the development cycle of the game. Follow the journey of our main character as he follows the path that made him who he is now, discovering his roots and how the game came to be.
Super Mario 3D
Unreal Engine 4
Blueprint
AI FSM
Mario-like collisions check
Academy
Made as second year game development programming exam project. A Super Mario-style game made in Unreal Engine 4 with enemies, collectibles, power-ups, levels and a boss battle agains Bowser!
Zelda Like Game
Custom Engine
C#
AI FSM
Multiple Scenes
Pathfinding Movement
Save/Load
GLSL PostFX
Academy
Made as first year game development programming exam project. This game is a Zelda style game using A* pathfinding for movement (both enemy and player), finite state machines for enemy behaviour, a custom game engine (controllers, scenes, collisions, actors, powerups and bullets), Tiled for map creation and GLSL for some PostFX.

Learning Projects

Just click on a project to find out more.

Logo virtual machine for Unreal Engine
Unreal Engine 5
C++
File Factory
Blueprint Function Library
A logo virtual machine plugin made for Unreal Engine 5 written in c++. Using a blueprint function library to execute Logo Programs. Done a custom file factory to be able to create an image by drag-n-dropping a .logo file in Unreal Engine.
LÖVE2D Dialogue System
LÖVE2D
LUA
Dialogues
Modular
A simple dialogue system written in LUA for LÖVE2D. It supports multiple questions in the same dialogue.
Dungeon Crawler Multiplayer
SDL2
C
Python
Multiplayer
Lag Preventing
Networking
Academy
A multiplayer dungeon crawler game written in C for clients and Python as server. Game uses some lag prevention techinques (interpolation).
Get time via NTP
Console
C
UDP Sockets
Academy
A program written in C that creates a socket and gets the time from Google's ntp.
PNG Decoder in C
SDL2
C
Z-Lib
Decompressing
I did this to challenge myself to translate script from one language to another and to get back into C after a while. The most challenging part was understanding how to translate the zlib Python functions into C ones and converting zlib data into SDL2 a texture.
2D levels in 3D world
Unreal Engine 5
Blueprint
2D to 3D
A game where you get to control a 2D player that can interact with the 3D world of the 3D player.
Mud Cleaning Game in 6502 CPU
6502 CPU
Assembly x86
Low Level
Game written in assembly by me to test my knowledge learned at Academy. Your task is to "clean" the screen from the mud. Your score is stored in the zero page at the address 0x02.
Maze Explorer
Unity
C#
Random Generated Mazes
Power-Ups
Academy
A maze explorer video game made in Unity made as Unity Exam for my Academy. It includes randomly generated mazes, traps, powerups and coins.
Boids
Custom Engine
C#
AI
Simulation
Academy
A flock simulation written in C# during the first year of study at AIV in a custom game engine. The simulation follow rules that can be changed by the user. They are separation, alignment and cohesion.

Certificates

Just click on the certificate to find out more.

aiv logo
ecdl logo
icdl logo
invalsi listening badge
invalsi reading badge