Category Archives: Technical

Why is there a UI virtual machine?

Over the last four years since I started modifying ioquake3, there have been occasions when I’ve wondered why Quake III Arena has separate UI (user interface: main menu, pause menu) and cgame (client-game: HUD, world scene generation, movement prediction, etc) virtual machines. They both run on the client and duplicate various code between them. Merging them had crossed my mind, though I hadn’t ever given it serious thought.

Continue reading Why is there a UI virtual machine?