Go to the homepage


1999, 9hells

This project began with the re­verse en­gi­neer­ing of Quake 1's net­work pro­to­col and data files for fun, be­fore any of­fi­cial or un­of­fi­cial spec­i­fi­ca­tions were avail­able. It led to the de­vel­op­ment of sev­eral re­lated projects, in­clud­ing a map viewer and an au­tonomous robot that ran on a pub­lic server for a pe­riod of time. After Quake's source code was re­leased to the pub­lic, the project was fur­ther de­vel­oped into a final un­der­grad­u­ate project, which ex­tended the game with ad­di­tional func­tion­al­ity in­spired by the bot.

The aim of the un­der­grad­u­ate project was to de­velop an au­toma­ton that sim­u­lated the be­hav­ior of play­ers in 3D first-​person games. In the first phase, the au­toma­ton was de­signed to nav­i­gate a given graph, reach cer­tain ob­jec­tives that it de­cided it­self ac­cord­ing to its knowl­edge of the game, and com­plete the most by it­self with min­i­mum rules en­tered. The goal to be achieved was for the au­toma­ton to blend in with real play­ers with­out being rec­og­nized. When com­pleted, this ex­per­i­ment in ar­ti­fi­cial life could pos­si­bly use fuzzy logic, ge­netic al­go­rithms, com­puter graph­ics, graph the­ory, and the UDP net­work pro­to­col.