An original 3D mech battle game, drawn live with a self-hosted copy of three.js. Mechs are built from real parts you can see change: light, medium, heavy and assault chassis; walking, reverse-joint, tracked and hovering legs; autocannons, lasers, rail guns, scatter guns, plasma throwers and blades; missile pods and mortars on the shoulder; a glowing reactor core and cooling fins that glow hotter as heat builds. Metallic paint reflects the arena, cover cracks and collapses, and fights fill with sparks, smoke, missile trails, explosions, heat shimmer and screen shake under glassy menus. A Graphics choice (Low, Medium, High) keeps it smooth on modest PCs, and it steps down by itself if the frame rate drops.
The hangar: win credits and salvage in bouts, buy parts in the market (better tiers open with each league), fit them in the garage and tune them up to five levels in the workshop. Balance three things: weight (legs carry it, too heavy and you cannot launch), power (the core feeds every part, under-powered mechs cool badly) and heat (every shot adds heat, too much and you vent helplessly).
The leagues: five leagues (Rookie Circuit, Iron, Steel, Titan and Apex) of twelve bouts each, against thirty named rival pilots with their own styles (brawlers, snipers, skirmishers, tanks and artillery) in nine arenas, from the Scrapyard Ring to the Orbital Deck. Each league ends with a champion with a cinematic entrance who raises a shield and goes berserk as the fight turns; beat one to win their signature part and move up.
Score = 400 per bout won + 3000 per champion + 20 per mech downed + 40 per part owned + 25 per tune-up + 8000 for the arena crown, times the difficulty (Rookie 1, Veteran 1.25, Ace 1.5). Daily arena: everyone gets the same mech for five bouts, the last against a champion, with armour carried between fights.
Every session is a recorded input log that the server replays with the same integer rules, so scores are checked exactly. The game autosaves; there is no undo. Test bots took about 3.5 to 4 hours to win the whole campaign on Rookie, about 4.5 hours on Veteran and over 6 hours on Ace.
3D engine: three.js (MIT licence), served from this site.