Mecha-Basketball 3D
Project information
- Category: Software Development
- Focus: Procedural Modeling Real-Time Physics Real-Time Rendering
- Tech Stack: JavaScript (ESM) Three.js Vite Web Audio API
- Project date: July 2026
- Play Live Demo Official Repository
Overview
Mecha-Basketball 3D is the final project for the Interactive Graphics course at Sapienza University of Rome:
a simulated basketball match between selectable procedural robots on a GLTF court, rendered entirely in Three.js.
No external robot models are used — every class is built at runtime from primitives and THREE.Group hierarchies,
animated purely through code.
Three robot classes — wheeled AMR, legged Legged Manipulator and flying Drone — share the same 3-joint arm but trade off speed, shooting, stealing and blocking differently, each with its own special move. The basketball runs on a fixed-timestep dribble/shot simulation with real collision physics, a tactical enemy AI drives the 1v1 mode, and it's all wrapped in a full menu with time-of-day lighting and synthesized audio.
Key Elements
Three Procedural Robot Classes
No imported models: AMR, Legged and Drone classes are built from primitives around a shared 3R arm, each with its own locomotion and special move.
Physics-Based Basketball
Fixed-timestep dribble and shot physics, with real collisions against the court's actual backboard, rim and walls.
Tactical Enemy AI
A chase/attack/defend finite-state machine drives the 1v1 opponent, contesting possession with steal and block moves.
Real-Time Rendering Pipeline
SSAO + SMAA post-processing over a GLTF court, with a selectable Sunrise/Day/Sunset/Night lighting cycle.
Contacts
Get in touch with me!