Playing DOOM with 1.3M Parameters: Specialized Small Models vs Large Language Models for Real-Time Game Control
Authors: David Golchinfar, Daryoush Vaziri, Alexander Marquardt
Organizations: VAGO Solutions, Germany · University of Applied Sciences Bonn-Rhein-Sieg, Germany · Cybernetics and Reality Engineering (CARE) Laboratory, Nara Institute of Science and Technology, Ikoma, Japan
We present SauerkrautLM-Doom-MultiVec, a 1.3 million parameter model that plays the classic first-person shooter DOOM in real time, outperforming large language models up to 92,000x its size, including Nemotron-120B, Qwen3.5-27B, and GPT-4o-mini. Our model combines a ModernBERT encoder with hash embeddings, depth-aware token representations, and an attention pooling classification head to select game actions from ASCII frame representations at 31ms per decision. Trained on just 31,000 human gameplay demonstrations, it achieves 178 frags in 10 episodes (17.8 per episode) in the defend_the_center scenario, more than all tested LLMs combined (13 frags total). All agents receive equivalent input: ASCII frames and depth maps. Despite having 92,000x fewer parameters than Nemotron-120B, our model is the only agent that actively engages enemies rather than purely evading them. These results demonstrate that small, task-specific models trained on domain-appropriate data can decisively outperform general-purpose LLMs at real-time control tasks, at a fraction of the inference cost, with deployment capability on consumer hardware.
Figures & tables
Figure 1: Input pipeline: a VizDoom game frame is transformed into the model’s dual input representation. (a) The original 640 × 480 RGB frame showing enemies at varying distances. (b) Grayscale conversion. (c) VizDoom’s per-pixel depth buffer (brighter = farther). (d) The 40 × 25 ASCII frame rendered as a brightness map, where each pixel corresponds to one of 10 brightness characters. (e) Depth bins: the depth buffer quantized to 16 bins at ASCII resolution, showing enemy silhouettes (red = near, green = far). (f) The combined model input: ASCII brightness modulated by depth color. The model receives both representations as token-level embeddings that are summed before encoding.
Component
Parameters
% of Total
Hash Embeddings (75 vocab, 16 proj)
4,480
0.3%
Depth Embeddings (17 bins × 128)
2,176
0.2%
Transformer Layers ( × 5)
1,312,000
99.1%
Attention Pool + Classifier
644
0.05%
Total
1,319,300
100%
Table 1: Parameter breakdown of SauerkrautLM-Doom-MultiVec.
Agent
Params
Ep.
Avg
Max
Frags
Lat.
Surv.
Surv.
SLM-Doom-MV-1.3M
1.3M
10
388
525
178
31ms
GPT-4o-mini
propr.
10
104
228
0
646ms
Nemotron-120B
120B
5
88
104
3
8.9s
Qwen3.5-27B
27B
3
87
109
2
13.3s
Gemini Flash Lite
propr.
10
81
97
8
920ms
Table 2: DOOM benchmark results on defend_the_center . SauerkrautLM abbreviated as SLM, MultiVec as MV, proprietary as propr. All agents receive ASCII (40 × 25) + depth information. Game settings match training conditions (640 × 480, HUD on, real-time pacing). Ep. = episodes played; Frags = cumulative across all episodes; Lat. = per-decision latency.
Agent
Params
Ep.
Avg
Max
Frags
Lat.
Surv.
Surv.
SLM-Doom-MV-1.3M
1.3M
10
33
46
10
29ms
GPT-4o-mini
propr.
10
30
55
0
620ms
Gemini Flash Lite
propr.
10
16
18
5
1.1s
Qwen3.5-27B
27B
3
15
18
1
12.0s
Nemotron-120B
120B
5
14
20
0
26.7s
Table 3: Fair-mode benchmark (frame_skip=20). All agents receive ASCII + depth. Slower pace gives LLMs more decision time, reducing the latency disadvantage.
Dual-process agents pair a fast policy with a slow deliberative model. In real-time settings the slow model usually runs continuously; in turn-based agents and robot planners it is invoked on events such as uncertainty or a detected failure. We study a fast learned actor that takes every decision and hands control to a reasoning vision-language model only when a gate opens, while the game keeps running. We use closed-loop Doom and the new open "System One" typed-decision models, served through a common llama.cpp interface. On 900 held-out questions, (i) zero-shot decision models from 0.15B to 9B parameters choose to collect items 1.6-1.8 times more often than chance among their errors, in any option order, although the order changes some models' accuracy; (ii) accuracy, calibration and sensitivity (how well confidence separates right from wrong answers) are distinct: models of similar accuracy differ widely in AUROC, and the confidence of the most sensitive one tracks which kinds of situation it fails, not which answers are wrong; (iii) offline, deferring the least confident 30% of decisions to a reasoning model gains over random deferral in proportion to the actor's AUROC (rank correlation 0.87); with actor and rate chosen on held-out games the gain is +0.13 [0.08, 0.18] with doomLaya's option order and +0.08 [0.02, 0.14] with shuffled options, and reasoning carries about half of it; (iv) in closed loop (33 games, three seeds) no variant reaches the exit. Committing to plans, the reasoner's or a fixed explore rule's, opens more doors and makes an actor that stands still play; with the rule the agent dies more often. Told that some doors need keys, the reasoner takes ordinary doors for locked ones, which the state cannot tell apart; without that knowledge it goes back to collecting. We release code, prompts, data and logs.
Recent LLM-based approaches to control either invoke a language model to select actions or synthesize world models that require planning at every decision, introducing latency that can limit real-time use. We introduce Code to Control, an approach that synthesizes Python controllers which execute directly as policies. Code to Control separates program structure from parameters. An LLM synthesizes the controller structure, while derivative-free search fits its parameters for continuous control using feedback from the environment. Once learned, the resulting controllers require neither LLM inference nor planning at decision time, enabling real-time gameplay and, under our timing protocol, faster action selection than a PPO policy. Across a suite of Atari games, Flappy Bird, and MuJoCo tasks, Code to Control outperforms planning-based program synthesis methods, remains competitive with deep reinforcement learning while using fewer environment interactions, transfers across substantial changes in environment dynamics, and scales to complex locomotion tasks.
Zergham Ahmed, Joshua B. Tenenbaum, Chris Bates +1
Harvard University · Massachusetts Institute of Technology · Florida Institute for Human and Machine Cognition
Existing benchmarks for large multimodal models (LMMs) often fail to capture their performance in real-time, adversarial environments. We introduce LM Fight Arena (Large Model Fight Arena), a novel framework that evaluates LMMs by pitting them against each other in the classic fighting game Mortal Kombat II, a task requiring rapid visual understanding and tactical, sequential decision-making. In a controlled tournament, we test six leading open- and closed-source models, where each agent operates controlling the same character to ensure a fair comparison. The models are prompted to interpret game frames and state data to select their next actions. Unlike static evaluations, LM Fight Arena provides a fully automated, reproducible, and objective assessment of an LMM's strategic reasoning capabilities in a dynamic setting. This work introduces a challenging and engaging benchmark that bridges the gap between AI evaluation and interactive entertainment.
Yushuo Zheng, Tongrui Ye, Zicheng Zhang +3
Shanghai Jiao Tong University, Shanghai, China · Shanghai AI Lab, Shanghai, China · Tongji University, Shanghai, China