04 / Interactive systems and game technology

Botzone Neo — job-driven infrastructure for game bots and online judging

Uses queues, sandboxes, and pluggable run strategies for both multi-turn bot matches and ordinary online-judge submissions.

Status
Engineering rewrite
Role
Backend and execution architecture rewrite

Background

A rewrite of the judging system for Nanjing University of Information Science and Technology. Submissions, compilation, execution, matches, and callbacks are modelled as jobs; web requests enqueue work and query state.

Implemented capabilities

  • Supports both multi-turn Botzone matches and conventional online judging.
  • A MatchRunner controls each game; pluggable bot strategies support restart and long-running semantics.
  • Execution and compilation caching for C++, Python, TypeScript, and JavaScript.
  • Docker and nsjail resource controls, callbacks, and horizontally scalable workers.

Reusable engineering work

The project combines bot jobs, automated tests, restricted execution, and resource scheduling into an accountable judging pipeline. A queue-driven model gives matches, execution, callbacks, and replay the same lifecycle, so the design can be reused in other task systems.