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!