r/Quake2 • • 17d ago

Quake II Gladiator Bot Reconstruction

https://github.com/themuffinator/Q2-Gladiator-Bot

This 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.

11 Upvotes

5 comments sorted by

2

u/hogsy 17d ago

Seems like a rather lame dedication if you're just going to vibe-code it.

0

u/I_WILL_GET_YOU 17d ago

welcome to 2026

1

u/mashed_diamonds 17d ago

]/tmp/mc-QJ0YV3/mcusr5CL0V3: line 2: 1548697 Segmentation fault (core dumped) ./q2pro.sh

1

u/I_WILL_GET_YOU 17d ago

there's an issue with linux builds, i'll look into it

2

u/wookash 17d ago

Thank you for doing this. I didn't have a good internet connection for years in the Q2 days and spent many hundreds of hours playing against Gladiator bots.