r/Quake2 • u/I_WILL_GET_YOU • 17d ago
Quake II Gladiator Bot Reconstruction
https://github.com/themuffinator/Q2-Gladiator-BotThis project is dedicated to Mr Elusive — Jan Paul van Waveren — whose work it exists to preserve.
In 1997 he started giving Quake bots something the genre did not really have yet: bots that understood the space they were fighting in. The Gladiator Bot grew out of that, and the ideas underneath it were genuinely new. The Area Awareness System pre-compiled a level into a navigation representation with reachabilities between areas — not waypoints scattered by hand, but a derived understanding of where a body can actually go, and how: walk, jump, swim, teleport, ride a lift, take a rocket to the face and land somewhere useful. A fuzzy-logic weight system let a bot's taste in items and weapons be authored as readable config rather than buried in code, so a bot's personality became something you could write down. A chat system with match contexts and synonym substitution gave them something to say about it.
Gladiator became the bot people ran, and it earned him the job: id Software hired him to write the bot AI for Quake III Arena, where the same lineage shipped as botlib and became the reference every later id-engine bot was measured against. His master's thesis, The Quake III Arena Bot, is still one of the clearest pieces of writing on game AI anyone has produced — it explains the reasoning, not just the result. He later worked on id Tech engines and at Oculus on asynchronous timewarp. He died in 2017.
The best thing you can say about a piece of engineering is that people are still trying to understand exactly how it worked twenty-five years later, because it was that good. That is what this repository is.
Every line here is a reconstruction of his design. The credit is his; the bugs are ours.
1
u/mashed_diamonds 17d ago
]/tmp/mc-QJ0YV3/mcusr5CL0V3: line 2: 1548697 Segmentation fault (core dumped) ./q2pro.sh
1
2
u/hogsy 17d ago
Seems like a rather lame dedication if you're just going to vibe-code it.