Diffusion Models Are Real-Time Game Engines

## Abstract

Abstract We present GameNGen , the first game engine powered entirely by a neural model
that enables real-time interaction with a complex environment over long trajectories at high quality.
GameNGen can interactively simulate the classic game DOOM at over 20 frames per second on a single TPU.
Next frame prediction achieves a PSNR of 29.4, comparable to lossy JPEG compression.
Human raters are only slightly better than random chance at distinguishing short clips of the game from clips of the simulation.
GameNGen is trained in two phases: (1) an RL-agent learns to play the game and the training sessions are recorded, and
(2) a diffusion model is trained to produce the next frame, conditioned on the sequence of past frames and actions.
Conditioning augmentations enable stable auto-regressive generation over long trajectories.

## 1 Introduction

Computer games are manually crafted software systems centered around the following *game loop*: (1) gather user inputs, (2) update the game state, and (3) render it to screen pixels.
This game loop, running at high frame rates, creates the illusion of an interactive virtual world for the player.
Such game loops are classically run on standard computers, and while there have been many amazing attempts at running games on bespoke hardware (e.g. the iconic game DOOM has been run on kitchen appliances such as a toaster and a microwave, a treadmill, a camera, an iPod, and within the game of Minecraft, to name just a few examples(^1^11See [https://www.reddit.com/r/itrunsdoom/](https://www.reddit.com/r/itrunsdoom/))), in all of these cases the hardware is still emulating the manually written game software as-is. Furthermore, while vastly different game engines exist, the game state updates and rendering logic in all are composed of a set of manual rules, programmed or configured by hand.

In recent years, generative models made significant progress in producing images and videos conditioned on multi-modal inputs, such as text or images. At the forefront of this wave, diffusion models became the de-facto standard in media (i.e. non-language) generation, with works like Dall-E (Ramesh et al., ), Stable Diffusion (Rombach et al., ) and Sora (Brooks et al., ). At a glance, simulating the interactive worlds of video games may seem similar to video generation. However, interactive world simulation is more than just very fast video generation. The requirement to condition on a stream of input actions that is only available throughout the generation breaks some assumptions of existing diffusion model architectures. Notably, it requires generating frames autoregressively which tends to be unstable and leads to sampling divergence (see section 3.2.1).

Several important works (Ha & Schmidhuber, ; Kim et al., ; Bruce et al., ) (see Section 6) simulate interactive video games with neural models. Nevertheless, most of these approaches are limited in respect to the complexity of the simulated games, simulation speed, stability over long time periods, or visual quality (see Figure 2).
It is therefore natural to ask:

Can a neural model running in real-time simulate a complex game at high quality?

In this work we demonstrate that the answer is yes. Specifically, we show that a complex video game, the iconic game DOOM, can be run on a neural network (an augmented version of the open Stable Diffusion v1.4 (Rombach et al., )),
in real-time, while achieving a visual quality comparable to that of the original game.
While not an exact simulation, the neural model is able to perform complex game state updates, such as tallying health and ammo, attacking enemies, damaging objects, opening doors, and persist the game state over long trajectories.

GameNGen answers one of the important questions on the road towards a new paradigm for game engines, one where games are automatically generated, similarly to how images and videos are generated by neural models in recent years.
Key questions remain, such as how these neural game engines would be trained and how games would be effectively created in the first place, including how to best leverage human inputs.
We are nevertheless extremely excited for the possibilities of this new paradigm.

Figure: Figure 2: GameNGen compared to prior state-of-the-art simulations of DOOM.
Refer to caption: x1.png

## 2 Interactive World Simulation

An *Interactive Environment* $\mathcal{E}$ consists of a space of latent states $\mathcal{S}$, a space of partial projections of the latent space $\mathcal{O}$, a partial projection function $V:\mathcal{S}\to\mathcal{O}$, a set of actions $\mathcal{A}$, and a transition probability function $p(s|a,s^{\prime})$ such that $s,s^{\prime}\in\mathcal{S},a\in\mathcal{A}$.

For example, in the case of the game DOOM, $\mathcal{S}$ is the program’s dynamic memory contents, $\mathcal{O}$ is the rendered screen pixels, $V$ is the game’s rendering logic, $\mathcal{A}$ is the set of key presses and mouse movements, and $p$ is the program’s logic given the player’s input (including any potential non-determinism).

Given an input interactive environment $\mathcal{E}$, and an initial state $s_{0}\in\mathcal{S}$, an *Interactive World Simulation* is a *simulation distribution function* $q(o_{n}|o_{<n},a_{\leq n}),o_{i}\in\mathcal{O},a_{i}\in\mathcal{A}$.
Given a distance metric between observations $D:\mathcal{O}\times\mathcal{O}\to\mathbb{R}$, a *policy*, i.e. a distribution on agent actions given past actions and observations $\pi(a_{n}|o_{<n},a{<n})$, a distribution $S_{0}$ on initial states, and a distribution $N_{0}$ on episode lengths, the *Interactive World Simulation* objective consists of minimizing $E(D(o_{q}^{i},o_{p}^{i}))$ where $n\sim N_{0}$, $0\leq i\leq n$, and $o_{q}^{i}\sim q,o_{p}^{i}\sim V(p)$ are sampled observations from the environment and the simulation when enacting the agent’s policy $\pi$. Importantly, the conditioning actions for these samples are always obtained by the agent interacting with the environment $\mathcal{E}$, while the conditioning observations can either be obtained from $\mathcal{E}$ (the *teacher forcing objective*) or from the simulation (the *auto-regressive objective*).

We always train our generative model with the teacher forcing objective. Given a simulation distribution function $q$, the environment $\mathcal{E}$ can be simulated by auto-regressively sampling observations.

## 3 GameNGen

GameNGen (pronounced “game engine”) is a generative diffusion model that learns to simulate the game under the settings of Section 2. In order to collect training data for this model, with the teacher forcing objective, we first train a separate model to interact with the environment. The two models (agent and generative) are trained in sequence. The entirety of the agent’s actions and observations corpus $\mathcal{T}_{agent}$ during training is maintained and becomes the training dataset for the generative model in a second stage. See Figure 3.

Figure: Figure 3: GameNGen method overview. v-prediction details are omitted for brevity.
Refer to caption: x2.png

### 3.1 Data Collection via Agent Play

Our end goal is to have human players interact with our simulation. To that end, the policy $\pi$ as in Section 2 is that of *human gameplay*. Since we cannot sample from that directly at scale, we start by approximating it via teaching an automatic agent to play. Unlike a typical RL setup which attempts to maximize game score, our goal is to generate training data which resembles human play, or at least contains enough diverse examples, in a variety of scenarios, to maximize training data efficiency.
To that end, we design a simple reward function, which is the only part of our method that is environment-specific (see Appendix A.3).

We record the agent’s training trajectories throughout the entire training process, which includes different skill levels of play.
This set of recorded trajectories is our $\mathcal{T}_{agent}$ dataset, used for training the generative model (see Section 3.2).

### 3.2 Training the Generative Diffusion Model

We now train a generative diffusion model conditioned on the agent’s trajectories $\mathcal{T}_{agent}$ (actions and observations) collected during the previous stage.

We re-purpose a pre-trained text-to-image diffusion model, Stable Diffusion v1.4 (Rombach et al., ).
We condition the model $f_{\theta}$ on trajectories $T\sim\mathcal{T}_{agent}$, i.e. on a sequence of previous actions $a_{<n}$ and observations (frames) $o_{<n}$ and remove all text conditioning.
Specifically, to condition on actions, we simply learn an embedding $A_{emb}$ from each action (e.g. a specific key press) into a single token and replace the cross attention from the text into this encoded actions sequence.
In order to condition on observations (i.e. previous frames) we encode them into latent space using the auto-encoder $\phi$ and concatenate them in the latent channels dimension to the noised latents (see Figure 3). We also experimented conditioning on these past observations via cross-attention but observed no meaningful improvements.

We train the model to minimize the diffusion loss with velocity parameterization (Salimans & Ho, ):

$$ $\mathcal{L}=\mathbb{E}_{t,\epsilon,T}\left[\|v(\epsilon,x_{0},t)-v_{\theta^{ \prime}}(x_{t},t,\{\phi(o_{i<n})\},\{A_{emb}(a_{i<n})\})\|_{2}^{2}\right]$ (1) $$

where $T=\{{o_{i\leq n},a_{i\leq n}}\}\sim\mathcal{T}_{agent}$, $x_{0}=\phi(o_{n})$, $t\sim\mathcal{U}(0,1)$, $\epsilon\sim\mathcal{N}(0,\mathbf{I})$, $x_{t}=\sqrt{\bar{\alpha}_{t}}x_{0}+\sqrt{1-\bar{\alpha}_{t}}\epsilon$,
$v(\epsilon,x_{0},t)=\sqrt{\bar{\alpha}_{t}}\epsilon-\sqrt{1-\bar{\alpha}_{t}}x
_{0}$,
and $v_{\theta^{\prime}}$ is the v-prediction output of the model $f_{\theta}$. The noise schedule $\bar{\alpha}_{t}$ is linear, similarly to Rombach et al. ().

#### 3.2.1 Mitigating Auto-Regressive Drift Using Noise Augmentation

The domain shift between training with teacher-forcing and auto-regressive sampling leads to error accumulation and fast degradation in sample quality, as demonstrated in Figure 4. To avoid this divergence due to auto-regressive application of the model, we corrupt context frames by adding a varying amount of Gaussian noise to encoded frames in training time, while providing the noise level as input to the model, following Ho et al. (). To that effect, we sample a noise level $\alpha$ uniformly up to a maximal value, discretize it and learn an embedding for each bucket (see Figure 3). This allows the network to correct information sampled in previous frames, and is critical for preserving frame quality over time. During inference, the added noise level can be controlled to maximize quality, although we find that even with no added noise the results are significantly improved. We ablate the impact of this method in section 5.2.2.

Figure: Figure 4: Auto-regressive drift. Top: we present every 10th frame of a simple trajectory with 50 frames in which the player is not moving. Quality degrades fast after 20-30 steps. Bottom: the same trajectory with noise augmentation does not suffer from quality degradation.
Refer to caption: extracted/5815736/figures/noise_aug_ablation_new.png

#### 3.2.2 Latent Decoder Fine-tuning

The pre-trained auto-encoder of Stable Diffusion v1.4, which compresses 8x8 pixel patches into 4 latent channels, results in meaningful artifacts when predicting game frames, which affect small details and particularly the bottom bar HUD (“heads up display”).
To leverage the pre-trained knowledge while improving image quality, we train just the decoder of the latent auto-encoder using an MSE loss computed against the target frame pixels.
It might be possible to improve quality even further using a perceptual loss such as LPIPS (Zhang et al. ()), which we leave to future work.
Importantly, note that this fine tuning process happens completely separately from the U-Net fine-tuning, and that notably the auto-regressive generation isn’t affected by it (we only condition auto-regressively on the latents, not the pixels).
Appendix A.2 shows examples of generations with and without fine-tuning the auto-encoder.

### 3.3 Inference

#### 3.3.1 Setup

We use DDIM sampling (Song et al., ).
We employ Classifier-Free Guidance (Ho & Salimans, ) only for the past observations condition $o_{<n}$.
We didn’t find guidance for the past actions condition $a_{<n}$ to improve quality. The weight we use is relatively small (1.5) as larger weights create artifacts which increase due to our auto-regressive sampling.

We also experimented with generating 4 samples in parallel and combining the results, with the hope of preventing rare extreme predictions from being accepted and to reduce error accumulation.
We experimented both with averaging the samples and with choosing the sample closest to the median.
Averaging performed slightly worse than single frame, and choosing the closest to the median performed only negligibly better. Since both increase the hardware requirements to 4 TPUs, we opt to not use them, but note that this might be an interesting area for future work.

#### 3.3.2 Denoiser Sampling Steps

During inference, we need to run both the U-Net denoiser (for a number of steps) and the auto-encoder.
On our hardware configuration (a TPU-v5), a single denoiser step and an evaluation of the auto-encoder both takes 10ms.
If we ran our model with a single denoiser step, the minimum total latency possible in our setup would be 20ms per frame, or 50 frames per second.
Usually, generative diffusion models, such as Stable Diffusion, don’t produce high quality results with a single denoising step, and instead require dozens of sampling steps to generate a high quality image.
Surprisingly, we found that we can robustly simulate DOOM,
with only 4 DDIM sampling steps (Song et al., ).
In fact, we observe no degradation in simulation quality when using 4 sampling steps vs 20 steps or more (see Appendix A.4).

Using just 4 denoising steps leads to a total U-Net cost of 40ms (and total inference cost of 50ms, including the auto encoder) or 20 frames per second.
We hypothesize that the negligible impact to quality with few steps in our case stems from a combination of: (1) a constrained images space, and (2) strong conditioning by the previous frames.

Since we do observe degradation when using just a single sampling step, we also experimented with model distillation similarly to (Yin et al., ; Wang et al., ) in the single-step setting.
Distillation does help substantially there (allowing us to reach 50 FPS as above), but still comes at a some cost to simulation quality, so we opt to use the 4-step version without distillation for our method (see Appendix A.4). This is an interesting area for further research.

We note that it is trivial to further increase the image generation rate substantially by parallelizing the generation of several frames on additional hardware, similarly to NVidia’s classic SLI Alternate Frame Rendering (AFR) technique. Similarly to AFR, the actual simulation rate would not increase and input lag would not reduce.

## 4 Experimental Setup

### 4.1 Agent Training

The agent model is trained using PPO (Schulman et al., ), with a simple CNN as the feature network, following Mnih et al. (). It is trained on CPU using the Stable Baselines 3 infrastructure (Raffin et al., ).
The agent is provided with downscaled versions of the frame images and in-game map, each at resolution 160x120.
The agent also has access to the last 32 actions it performed.
The feature network computes a representation of size 512 for each image.
PPO’s actor and critic are 2-layer MLP heads on top of a concatenation of the outputs of the image feature network and the sequence of past actions.
We train the agent to play the game using the Vizdoom environment (Wydmuch et al., ).
We run 8 games in parallel, each with a replay buffer size of 512, a discount factor $\gamma=0.99$, and an entropy coefficient of $0.1$. In each iteration, the network is trained using a batch size of 64 for 10 epochs, with a learning rate of 1e-4.
We perform a total of 10M environment steps.

### 4.2 Generative Model Training

We train all simulation models from a pretrained checkpoint of Stable Diffusion 1.4, unfreezing all U-Net parameters. We use a batch size of 128 and a constant learning rate of 2e-5, with the Adafactor optimizer without weight decay (Shazeer & Stern, ) and gradient clipping of 1.0. We change the diffusion loss parameterization to be v-prediction (Salimans & Ho (). The context frames condition is dropped with probability 0.1 to allow CFG during inference. We train using 128 TPU-v5e devices with data parallelization. Unless noted otherwise, all results in the paper are after 700,000 training steps.
For noise augmentation (Section 3.2.1), we use a maximal noise level of 0.7, with 10 embedding buckets.
We use a batch size of 2,048 for optimizing the latent decoder, other training parameters are identical to those of the denoiser.
For training data, we use all trajectories played by the agent during RL training as well as evaluation data during training, unless mentioned otherwise. Overall we generate 900M frames for training. All image frames (during training, inference, and conditioning) are at a resolution of 320x240 padded to 320x256. We use a context length of 64 (i.e. the model is provided its own last 64 predictions as well as the last 64 actions).

## 5 Results

### 5.1 Simulation Quality

Overall, our method achieves a simulation quality comparable to the original game over long trajectories in terms of image quality. For short trajectories, human raters are only slightly better than random chance at distinguishing between clips of the simulation and the actual game.

Image Quality. We measure LPIPS (Zhang et al., ) and PSNR using the teacher-forcing setup described in Section 2, where we sample an initial state and predict a single frame based on a trajectory of ground-truth past observations.
When evaluated over a random holdout of 2048 trajectories taken in 5 different levels, our model achieves a PSNR of $29.43$ and an LPIPS of $0.249$. The PSNR value is similar to lossy JPEG compression with quality settings of 20-30 (Petric & Milinkovic, ).
Figure 5 shows examples of model predictions and the corresponding ground truth samples.

Figure: Figure 5: Model predictions vs. ground truth. Only the last 4 frames of the past observations context are shown.
Refer to caption: x3.png

Video Quality. We use the auto-regressive setup described in Section 2, where we iteratively sample frames following the sequences of actions defined by the ground-truth trajectory, while conditioning the model on its own past predictions. When sampled auto-regressively, the predicted and ground-truth trajectories often diverge after a few steps, mostly due to the accumulation of small amounts of different movement velocities between frames in each trajectory. For that reason, per-frame PSNR and LPIPS values gradually decrease and increase respectively, as can be seen in Figure 6. The predicted trajectory is still similar to the actual game in terms of content and image quality, but per-frame metrics are limited in their ability to capture this (see Appendix A.1 for samples of auto-regressively generated trajectories).

We therefore measure the FVD (Unterthiner et al., ) computed over a random holdout of 512 trajectories, measuring the distance between the predicted and ground truth trajectory distributions, for simulations of length 16 frames (0.8 seconds) and 32 frames (1.6 seconds). For 16 frames our model obtains an FVD of $114.02$. For 32 frames our model obtains an FVD of $186.23$.

Human Evaluation. As another measurement of simulation quality, we provided 10 human raters with 130 random short clips (of lengths 1.6 seconds and 3.2 seconds) of our simulation side by side with the real game. The raters were tasked with recognizing the real game (see Figure 14 in Appendix A.6). The raters only choose the actual game over the simulation in 58% or 60% of the time (for the 1.6 seconds and 3.2 seconds clips, respectively).

Figure: Figure 6: Auto-regressive evaluation. PSNR and LPIPS metrics over 64 auto-regressive steps.
Refer to caption: extracted/5815736/figures/psnr_step_700k_08212004.png

### 5.2 Ablations

To evaluate the importance of the different components of our methods, we sample trajectories from the evaluation dataset and compute LPIPS and PSNR metrics between the ground truth and the predicted frames.

#### 5.2.1 Context Length

We evaluate the impact of changing the number $N$ of past observations in the conditioning context by training models with $N\in\{1,2,4,8,16,32,64\}$ (recall that our method uses $N=64$).
This affects both the number of historical frames and actions. We train the models for 200,000 steps keeping the decoder frozen and evaluate on test-set trajectories from 5 levels.
See the results in Table 1.
As expected, we observe that generation quality improves with the length of the context.
Interestingly, we observe that while the improvement is large at first (e.g. between 1 and 2 frames), we quickly approach an asymptote and further increasing the context size provides only small improvements in quality.
This is somewhat surprising as even with our maximal context length, the model only has access to a little over 3 seconds of history.
Notably, we observe that much of the game state is persisted for much longer periods (see Section 7).
While the length of the conditioning context is an important limitation, Table 1 hints that we’d likely need to change the architecture of our model to efficiently support longer contexts, and employ better selection of the past frames to condition on, which we leave for future work.

**Table 1: Number of history frames. We ablate the number of history frames used as context using 8912 test-set examples from 5 levels. More frames generally improve both PSNR and LPIPS metrics.**
| History Context Length | PSNR $\uparrow$ | LPIPS $\downarrow$ |
| --- | --- | --- |
| 64 | $22.36\pm 0.033$ | $0.295\pm 0.001$ |
| 32 | $22.31\pm 0.033$ | $0.296\pm 0.001$ |
| 16 | $22.28\pm 0.033$ | $0.296\pm 0.001$ |
| 8 | $22.26\pm 0.033$ | $0.296\pm 0.001$ |
| 4 | $22.26\pm 0.034$ | $0.298\pm 0.001$ |
| 2 | $22.03\pm 0.037$ | $0.304\pm 0.001$ |
| 1 | $20.94\pm 0.044$ | $0.358\pm 0.001$ |

#### 5.2.2 Noise Augmentation

To ablate the impact of noise augmentation we train a model without added noise.
We evaluate both our standard model with noise augmentation and the model without added noise (after 200k training steps) auto-regressively and compute PSNR and LPIPS metrics between the predicted frames and the ground-truth over a random holdout of 512 trajectories.
We report average metric values for each auto-regressive step up to a total of 64 frames in Figure 7.

Without noise augmentation, LPIPS distance from the ground truth increases rapidly compared to our standard noise-augmented model, while PSNR drops, indicating a divergence of the simulation from ground truth.

Figure: Figure 7: Impact of Noise Augmentation. The plots show average LPIPS (lower is better) and PSNR (higher is better) values for each auto-regressive step. When noise augmentation is not used quality degrades quickly after 10-20 frames. This is prevented by noise augmentation.
Refer to caption: extracted/5815736/figures/noise_aug_ablation_lpips_step_200k_08212024.png

#### 5.2.3 Agent Play

We compare training on agent-generated data to training on data generated using a random policy. For the random policy, we sample actions following a uniform categorical distribution that doesn’t depend on the observations. We compare the random and agent datasets by training 2 models for 700k steps along with their decoder. The models are evaluated on a dataset of 2048 human-play trajectories from 5 levels. We compare the first frame of generation, conditioned on a history context of 64 ground-truth frames, as well as a frame after 3 seconds of auto-regressive generation.

Overall, we observe that training the model on random trajectories works surprisingly well, but is limited by the exploration ability of the random policy.
When comparing the single frame generation the agent works only slightly better, achieving a PNSR of 25.06 vs 24.42 for the random policy.
When comparing a frame after 3 seconds of auto-regressive generation, the difference increases to 19.02 vs 16.84.
When playing with the model manually, we observe that some areas are very easy for both, some areas are very hard for both, and in some the agent performs much better. With that, we manually split 456 examples into 3 buckets: easy, medium, and hard, manually, based on their distance from the starting position in the game.
We observe that on the easy and hard sets, the agent performs only slightly better than random, while on the medium set the difference is much larger in favor of the agent as expected (see Table 2). See Figure 13 in Appendix A.5 for an example of the scores during a single session of human play.

**Table 2: Performance on Different Difficulty Levels. We compare the performance of models trained using Agent-generated and Random-generated data across easy, medium, and hard splits of the dataset. Easy and medium have 112 items, hard has 232 items. Metrics are computed for each trajectory on a single frame after 3 seconds.**
| Difficulty Level | Data Generation Policy | PSNR $\uparrow$ | LPIPS $\downarrow$ |
| --- | --- | --- | --- |
| Easy | Agent | $20.94\pm 0.76$ | $0.48\pm 0.01$ |
|  | Random | $20.20\pm 0.83$ | $0.48\pm 0.01$ |
| Medium | Agent | $20.21\pm 0.36$ | $0.50\pm 0.01$ |
|  | Random | $16.50\pm 0.41$ | $0.59\pm 0.01$ |
| Hard | Agent | $17.51\pm 0.35$ | $0.60\pm 0.01$ |
|  | Random | $15.39\pm 0.43$ | $0.61\pm 0.00$ |

## 6 Related Work

##### Interactive 3D Simulation

Simulating visual and physical processes of 2D and 3D environments and allowing interactive exploration of them is an extensively developed field in computer graphics (Akenine-Mller et al., ). Game Engines, such as Unreal and Unity, are software that processes representations of scene geometry and renders a stream of images in response to user interactions. The game engine is responsible for keeping track of all world state, e.g. the player position and movement, objects, character animation and lighting. It also tracks the game logic, e.g. points gained by accomplishing game objectives. Film and television productions use variants of ray-tracing (Shirley & Morley, ), which are too slow and compute-intensive for real time applications. In contrast, game engines must keep a very high frame rate (typically 30-60 FPS), and therefore rely on highly-optimized polygon rasterization, often accelerated by GPUs. Physical effects such as shadows, particles and lighting are often implemented using efficient heuristics rather than physically accurate simulation.

##### Neural 3D Simulation

Neural methods for reconstructing 3D representations have made significant advances over the last years. NeRFs (Mildenhall et al., )
parameterize radiance fields using a deep neural network that is specifically optimized for a given scene from a set of images taken from various camera poses. Once trained, novel point of views of the scene can be sampled using volume rendering methods. Gaussian Splatting (Kerbl et al., ) approaches build on NeRFs but represent scenes using 3D Gaussians and adapted rasterization methods, unlocking faster training and rendering times. While demonstrating impressive reconstruction results and real-time interactivity, these methods are often limited to static scenes.

##### Video Diffusion Models

Diffusion models achieved state-of-the-art results in text-to-image generation (Saharia et al., ; Rombach et al., ; Ramesh et al., ; Podell et al., ), a line of work that has also been applied for text-to-video generation tasks (Ho et al., ; Blattmann et al., ; ; Gupta et al., ; Girdhar et al., ; Bar-Tal et al., ). Despite impressive advancement in realism, text adherence and temporal consistency, video diffusion models remain too slow for real-time applications. Our work extends this line of work and adapts it for real-time generation conditioned autoregressively on a history of past observations and actions.

##### Game Simulation and World Models

Several works attempted to train models for game simulation with actions inputs. Yang et al. () build a diverse dataset of real-world and simulated videos and train a diffusion model to predict a continuation video given a previous video segment and a textual description of an action. Menapace et al. () and Bruce et al. () focus on unsupervised learning of actions from videos. Menapace et al. () converts textual prompts to game states, which are later converted to a 3D representation using NeRF.
Unlike these works, we focus on interactive playable real-time simulation, and demonstrate robustness over long-horizon trajectories. We leverage an RL agent to explore the game environment and create rollouts of observations and interactions for training our interactive game model.
Another line of work explored learning a predictive model of the environment and using it for training an RL agent. Ha & Schmidhuber () train a Variational Auto-Encoder (Kingma & Welling, ) to encode game frames into a latent vector, and then use an RNN to mimic the VizDoom game environment, training on random rollouts from a random policy (i.e. selecting an action at random). Then controller policy is learned by playing within the “hallucinated” environment. Hafner et al. () demonstrate that an RL agent can be trained entirely on episodes generated by a learned world model in latent space.
Also close to our work is Kim et al. (), that use an LSTM architecture for modeling the world state, coupled with a convolutional decoder for producing output frames and jointly trained under an adversarial objective. While this approach seems to produce reasonable results for simple games like PacMan, it struggles with simulating the complex environment of VizDoom and produces blurry samples. In contrast, GameNGen is able to generate samples comparable to those of the original game, see Figure 2.
Finally, concurrently with our work, Alonso et al. () train a diffusion world model to predict the next observation given observation history, and iteratively train the world model and an RL model on Atari games.

##### DOOM

When DOOM released in 1993 it revolutionized the gaming industry.
Introducing groundbreaking 3D graphics technology, it became a cornerstone of the first-person shooter genre, influencing countless other games.
DOOM was studied by numerous research works.
It provides an open-source implementation and a native resolution that is low enough for small sized models to simulate, while being complex enough to be a challenging test case.
Finally, the authors have spent countless youth hours with the game.
It was a trivial choice to use it in this work.

## 7 Discussion

Summary. We introduced *GameNGen*, and demonstrated that high-quality real-time game play at 20 frames per second is possible on a neural model.
We also provided a recipe for converting an interactive piece of software such as a computer game into a neural model.

Limitations. GameNGen suffers from a limited amount of memory.
The model only has access to a little over 3 seconds of history, so it’s remarkable that much of the game logic is persisted for drastically longer time horizons.
While some of the game state is persisted through screen pixels (e.g. ammo and health tallies, available weapons, etc.), the model likely learns strong heuristics that allow meaningful generalizations.
For example, from the rendered view the model learns to infer the player’s location, and from the ammo and health tallies, the model might infer whether the player has already been through an area and defeated the enemies there.
That said, it’s easy to create situations where this context length is not enough.
Continuing to increase the context size with our existing architecture yields only marginal benefits (Section 5.2.1), and the model’s short context length remains an important limitation.
The second important limitation are the remaining differences between the agent’s behavior and those of human players. For example, our agent, even at the end of training, still does not explore all of the game’s locations and interactions, leading to erroneous behavior in those cases.

Future Work. We demonstrate *GameNGen* on the classic game DOOM.
It would be interesting to test it on other games or more generally on other interactive software systems;
We note that nothing in our technique is DOOM specific except for the reward function for the RL-agent. We plan on addressing that in a future work;
While *GameNGen* manages to maintain game state accurately, it isn’t perfect, as per the discussion above. A more sophisticated architecture might be needed to mitigate these;
*GameNGen* currently has a limited capability to leverage more than a minimal amount of memory. Experimenting with further expanding the memory effectively could be critical for more complex games/software;
*GameNGen* runs at 20 or 50 FPS(^2^22Faster than the original game DOOM ran on the some of the authors’ 80386 machines at the time!) on a TPUv5. It would be interesting to experiment with further optimization techniques to get it to run at higher frame rates and on consumer hardware.

Towards a New Paradigm for Interactive Video Games.
Today, video games are *programmed* by humans.
*GameNGen* is a proof-of-concept for one part of a new paradigm where games are weights of a neural model, not lines of code.
*GameNGen* shows that an architecture and model weights exist such that a neural model can effectively run a complex game (DOOM) interactively on existing hardware.
While many important questions remain, we are hopeful that this paradigm could have important benefits.
For example, the development process for video games under this new paradigm might be less costly and more accessible, whereby games could be developed and edited via textual descriptions or examples images.
A small part of this vision, namely creating modifications or novel behaviors for existing games, might be achievable in the shorter term.
For example, we might be able to convert a set of frames into a new playable level or create a new character just based on example images, without having to author code.
Other advantages of this new paradigm include strong guarantees on frame rates and memory footprints.
We have not experimented with these directions yet and much more work is required here, but we are excited to try!
Hopefully this small step will someday contribute to a meaningful improvement in people’s experience with video games, or maybe even more generally, in day-to-day interactions with interactive software systems.

## Acknowledgements

We’d like to extend a huge thank you to Eyal Segalis, Eyal Molad, Matan Kalman, Nataniel Ruiz, Amir Hertz, Matan Cohen, Yossi Matias, Yael Pritch, Danny Lumen, Valerie Nygaard, the Theta Labs and Google Research teams, and our families for insightful feedback, ideas, suggestions, and support.

## Contribution

- •
Dani Valevski: Developed much of the codebase, tuned parameters and details across the system, added autoencoder fine-tuning, agent training, and distillation.
- •
Yaniv Leviathan: Proposed project, method, and architecture, developed the initial implementation, key contributor to implementation and writing.
- •
Moab Arar: Led auto-regressive stabilization with noise-augmentation, many of the ablations, and created the dataset of human-play data.
- •
Shlomi Fruchter: Proposed project, method, and architecture. Project leadership, initial implementation using DOOM, main manuscript writing, evaluation metrics, random policy data pipeline.

Correspondence to shlomif@google.com and leviathan@google.com.

## Appendix A Appendix

### A.1 Samples

Figs. 8,9,10,11 provide selected samples from GameNGen.

Figure: Figure 8: Auto-regressive evaluation of the simulation model: Sample #1. Top row: Context frames. Middle row: Ground truth frames. Bottom row: Model predictions.
Refer to caption: extracted/5815736/figures/samples/context_1.png

Figure: Figure 9: Auto-regressive evaluation of the simulation model: Sample #2. Top row: Context frames. Middle row: Ground truth frames. Bottom row: Model predictions.
Refer to caption: extracted/5815736/figures/samples/context_3.png

Figure: Figure 10: Auto-regressive evaluation of the simulation model: Sample #3. Top row: Context frames. Middle row: Ground truth frames. Bottom row: Model predictions.
Refer to caption: extracted/5815736/figures/samples/context_5.png

Figure: Figure 11: Auto-regressive evaluation of the simulation model: Sample #4. Top row: Context frames. Middle row: Ground truth frames. Bottom row: Model predictions.
Refer to caption: extracted/5815736/figures/samples/context_7.png

### A.2 Fine-Tuning Latent Decoder Examples

Fig. 12 demonstrates the effect of fine-tuning the vae decoder.

Figure: Figure 12: A comparison of generations with the standard latent decoder from Stable Diffusion v1.4 (Left), our fine-tuned decoder (Middle), and ground truth (Right). Artifacts in the frozen decoder are noticeable (e.g. in the numbers in the bottom HUD).
Refer to caption: extracted/5815736/figures/fine_tuning_autoencoder.png

### A.3 Reward Function

The RL-agent’s reward function, the only part of our method which is specific to the game Doom, is a sum of the following conditions:

- 1.
Player hit: -100 points.
- 2.
Player death: -5,000 points.
- 3.
Enemy hit: 300 points.
- 4.
Enemy kill: 1,000 points.
- 5.
Item/weapon pick up: 100 points.
- 6.
Secret found: 500 points.
- 7.
New area: 20 * (1 + 0.5 * $L_{1}$ distance) points.
- 8.
Health delta: 10 * delta points.
- 9.
Armor delta: 10 * delta points.
- 10.
Ammo delta: 10 * max(0, delta) + min(0, delta) points.

Further, to encourage the agent to simulate smooth human play, we apply each agent action for 4 frames and additionally artificially increase the probability of repeating the previous action.

### A.4 Reducing Inference Steps

We evaluated the performance of a GameNGen model with varying amounts of sampling steps when generating 2048 frames using teacher-forced trajectories on 35FPS data (the maximal sampling rate allowed by VizDoom, lower than the maximal rate our model achieves with distillation, see below). Surprisingly, we observe that quality does not deteriorate when decreasing the number of steps to 4, but does deteriorate when using just a single sampling step (see Table 3).

As a potential remedy, we experimented with distilling our model, following Wang et al. () and Yin et al. (). During distillation training we use 3 U-Nets, all initialized with a GameNGen model: generator, teacher, and fake-score model. The teacher remains frozen throughout the training. The fake-score model is continuously trained to predict the outputs of the generator with the standard diffusion loss. To train the generator, we use the teacher and the fake-score model to predict the noise added to an input image - $\epsilon_{\text{real}}$ and $\epsilon_{\text{fake}}$. We optimize the weights of the generator to minimize the generator gradient value at each pixel weighted by $\epsilon_{\text{real}}-\epsilon_{\text{fake}}$. When distilling we use a CFG of 1.5 to generate $\epsilon_{\text{real}}$. We train for 1000 steps with a batch size of 128. Note that unlike Yin et al. () we train with varying amounts of noise and do not use a regularization loss (we hope to explore other distillation variants in future work). With distillation we are able to significantly improve the quality of a 1-step model (see “D” in Table 3), enabling running the game at 50FPS, albeit with a small impact to quality.

**Table 3: Generation with Varying Sampling Steps. We evaluate the generation quality of a GameNGen model with an increasing number of steps using PSNR and LPIPS metrics. “D” marks a 1-step distilled model.**
| Steps | PSNR $\uparrow$ | LPIPS $\downarrow$ |
| --- | --- | --- |
| D | $31.10\pm 0.098$ | $0.208\pm 0.002$ |
| 1 | $25.47\pm 0.098$ | $0.255\pm 0.002$ |
| 2 | $31.91\pm 0.104$ | $0.205\pm 0.002$ |
| 4 | $32.58\pm 0.108$ | $0.198\pm 0.002$ |
| 8 | $32.55\pm 0.110$ | $0.196\pm 0.002$ |
| 16 | $32.44\pm 0.110$ | $0.196\pm 0.002$ |
| 32 | $32.32\pm 0.110$ | $0.196\pm 0.002$ |
| 64 | $32.19\pm 0.110$ | $0.197\pm 0.002$ |

### A.5 Agent vs Random Policy

Figure 13 shows the PSNR values compared to ground truth for a model train on the RL-agent’s data and a model trained on the data from a random policy, after 3 second of auto-regressive generation, for a short session of human play. We observe that the agent is sometimes comparable to and sometime much better than the random policy.

Figure: Figure 13: The PSNR values compared to ground truth for the agent (orange) and random (blue) after 3 second of auto-regressive generation for a short session of human play smoothed with an EMA factor of 0.05.
Refer to caption: extracted/5815736/figures/psnr_over_trajectory.png

### A.6 Human Eval Tool

Figure 14 depicts a screenshot of the tool used for the human evaluations (Section 5.1).

Figure: Figure 14: A screenshot of the tool used for human evaluations (see Section 5.1).
Refer to caption: extracted/5815736/figures/eval_tool.png

## Peer Reviews

confidence: 3
contribution: 2
initial_rating: 3
presentation: 2
questions: Please see the weakness.
soundness: 2
strengths: Real-Time Performance: The paper demonstrates a model that runs at 20 frames per second, achieving performance close to real-time gaming on a TPU, which shows its practical deployment potential in high-demand applications.
summary: This paper introduces "GameNGen," a real-time game simulation engine using a neural diffusion model to mimic the gameplay of DOOM. GameNGen is claimed to be a first in simulating interactive environments with high fidelity and extended play sessions, using stable diffusion-based architectures. The approach involves a reinforcement learning (RL) agent collecting game data, which is then fed into a diffusion model to train on successive game frames. The authors report that their model achieves near-indistinguishable results from actual gameplay in short clips and can maintain consistency in long sequences.
weaknesses: Lack of Novelty: The application relies on pre-existing models, primarily a stable diffusion variant, with incremental architectural adjustments. While the use of diffusion models in gaming is somewhat novel, the approach is more of an adaptation than a breakthrough innovation in game simulation.

Clarity: I found Section 2 difficult to understand. Could you please elaborate on the model inputs and clarify the regression objective? The mathematical symbols are a bit confusing—for example, could you explain what \(o_{q_i}\) and \(o_{p_i}\) represent?

Limited Scope of Application: This work is demonstrated solely on DOOM, an older game with relatively simple graphics. The approach may face challenges when applied to modern, complex games with higher resolutions, demanding more model robustness and memory capacity.

---

confidence: 4
contribution: 3
initial_rating: 8
presentation: 4
questions: - How well do you think the model will generalize to unseen DOOM gameplay (ex. custom maps)?
- The model was able to generate short to medium gameplay footage that was hard to distinguish whether they were model-generated for normal humans when noise augmentation on the conditioning variables was applied. If conditioning variable noise augmentation is not applied, do you think this fact will change?
soundness: 4
strengths: - The paper demonstrates for the first time that one can make a neural network real-time simulate a relatively complex video game. The motivation, rapid text or image-programmable video game generation, is clear and convincing. I appreciate the amount of engineering that went into making this, which seemed far-fetched a year or two ago, happen.
- The paper provides a plethora of metrics from PNSR, LPIPS, FVD, and human evaluations on model-generated image and video quality.
- The paper provides comprehensive ablations on hyperparameter choices like context length, noise augmentation of the conditioning variables, and gameplay data.
summary: This paper demonstrates for the first time that DOOM, a classic first-person shooter game, can be simulated in real time by an action-conditioned video diffusion model. The paper first collects gameplay trajectories using RL where the reward is to mimic human gameplay footage. Then, the paper trains an action-conditioned video diffusion model that, given recent gameplay frames and actions, generates the next video frames. Model behavior and effects of different hyperparameters are thoroughly analyzed.
weaknesses: - There is no methodological novelty to the paper, but given the remarkable findings this is not a problem.
- The model and code are not available to the public, so we cannot assess how robust the model and generated gameplay is. Since this is a phenomenological paper, this is more important than it is for typical ML papers.
- It is unclear how much of this amazing performance is due to "training data overfitting", and how well the model would perform on a sufficiently different DOOM map. The authors mention that the model is able to memorize map structure for much longer than its context window, which spans seconds. My guess is that this because the model is overfitting the training DOOM map. While the authors visually investigate what happens when enemies from later levels are introduced earlier in the game (OOD setting), having quantitative metrics in such settings would make the paper stronger.
- Related work section should include prior work that adds noise to conditioning variables, for example Ruhe et al [1].

[1] Ruhe, D., Heek, J., Salimans, T., & Hoogeboom, E. (2024). Rolling Diffusion Models. arXiv preprint arXiv:2402.09470.

---

confidence: 3
contribution: 2
initial_rating: 5
presentation: 3
questions: none
soundness: 3
strengths: 1. The first work focus on interactive playable real-time simulation, interesting idea.
2. Extensive experiments and broad ablation study shows the accurate prediction (at least visually) of the diffusion model and also efficiency of some design choice.
summary: This paper propose GameNGen, which is a diffusion model to predict the next frame given past observations and actions of a video game and serves as the game engine.

GameNGen runs in 20fps and achieves good quality of next frame prediction on the game VisDoom. Extensive experiments show that the frame generation in the autoregressive way can maintain important elements of the game UI.
weaknesses: I agree a neural simulator is an interesting idea, but it would be good to show more things: (just as what you mentioned as your future work)

1. Same method but generalized to more than one game, otherwise it might be suspicious that VisDoom has some aspect to be easy to learn (like the unchanged UI).

2. Shows how a neural game simulator can be useful for downstream tasks like using it to train an agent with faster speed or empower the agent with a great forward model to help decision making.


Hope your further results can enrich the paper to be above the acceptance threshold.

---

confidence: 4
contribution: 2
initial_rating: 8
presentation: 3
questions: Why do you start with a pre-trained text-to-image diffusion model, what are the motivations for doing so? Is there not enough data to train from scratch?

Data wise, what kind of coverage do you have of the game? How does your model perform in areas where there is comparatively little data? "When playing with the model manually, we observe that some areas are very easy for both, some areas are very hard for both, and in some the agent performs much better" - suggests you have conducted some initial investigations into this, please elaborate more on this.

Can you clarify exactly how much data you train on, is it 70M transitions? How many epochs of training does this correspond to? ~90M sequences (batch size of 128 with ~700k training steps) are trained on of length 64, so each timestep is seen roughly 64 times?

For your context length experiments, do you have any qualitative results or observations on utilising longer context lengths? If an object is present say 50 frames in the past, would the 64 context length correctly remember this whereas the 32 frame one wouldn't? 

Given the open nature of the environment, will you be releasing code/data that could be used as a potential benchmark for future work in this area?

More discussion and examples on the long-term generations would be welcome (30 seconds/1 minute+). You mention that they are still hard to distinguish from real gameplay, but do they have a decent temporal consistency? Do the generations respect the geometry of the DOOM levels, do they always end up in specific areas, does the model count properly, etc.
soundness: 3
strengths: Its fantastic that your model can run in real-time at 20+ fps. To me Section 3.3.2. is one of the most interesting parts of the paper. I would like to see this discussion expanded, and the important experiments/choices made moved from the appendix into the main paper. Especially since this is a substantial part of your contribution over other works.  

This paper also provides more evidence to the community that learning world models of complex environments is entirely feasible.

I very much like the direction of the paper, and feel that it is presented well. 
I do think this is good work that is of great interest to the community, but I cannot overlook the potential lack of novelty in relation to prior work given the current framing of the paper. Hence, the majority of my review is focussed on weaknesses.
summary: This paper trains an action-conditional world model with diffusion for the environment of DOOM. The authors demonstrate that the model can be run in real-time at 20fps, and conduct ablations on the context length and necessity of noise augmentation during training to maintain stable generations.
weaknesses: # Major

## Prior work
The presentation of related/prior work is lacking in this paper.
There is substantial prior work in this domain which is either not mentioned or not correctly characterised.
In particular, "Diffusion for world modeling: Visual details matter in atari" cannot be considered concurrent work since it was first publicly available a year ago (in submission to last year's ICLR). Given the enormous similarities between your work and theirs, a much larger discussion is warranted - what is different/novel about your work compared to theirs, and more importantly highlight all of the similarities (being able to play in real-time, using diffusion for world modelling, architectural choices, etc). In addition, their paper utilises the model to train an RL agent, which makes progress towards addressing an important limitation you highlight about your work - "For example, our agent, even at the end of training, still does not explore all of the game’s locations and interactions, leading to erroneous behavior in those cases."

There is also no mention of GAIA-1, which simulates a complex real-world environment with a neural model.
Also no mention of "VideoGPT: Video Generation using VQ-VAE and Transformers" which also learns an action-conditional video prediction model for Doom.
"Temporally Consistent Transformers for Video Generation" also looks at long-term action conditional video generation quality. 

No mention of "Diffusion Forcing: Next-token Prediction Meets Full-Sequence Diffusion" that also uses the same noise augmentation during training to improve long term autoregressive generation. (Yes technically ICLR considers this contemporary work since it was first posted to arxiv on 1 July 2024)

# Minor

"...GameNGen extracts gameplay..." - what does this mean, are you making a claim about the representations learned? 

Figure 2 is unfair, the other papers were trained on very different data (notably without the HUD). At least try and use a comparable image when comparing your work to theirs. Given the higher resolution and increased visual fidelity of your model, there is no need to exaggerate the differences like this to highlight the improvements you've made.

Is there a need for a new definition of 'Interactive Environment' instead of using an existing formulation? Why doesn't a POMDP work, especially given your use of RL in the paper to generate the experiences.

# Post-rebuttal

Based on the replies I am happy to increase my score and recommend acceptance.

---

confidence: 3
contribution: 3
initial_rating: 8
presentation: 3
questions: Please consider these of lower priority – they are mainly for my own interest / to check my own understanding, and won’t necessarily have a bearing on my score.

1. I was very glad to see the ablations with the random agent, but it raised some questions:  
  a) Does it follow similar practices to the RL agent (eg biased towards repeating last action; using each action for four time steps, as per A.5)?  
  b) If not, could there be a significant distributional shift between the random actions and the human actions used for evaluation? Could this be compounding the low accuracy of the random model, alongside the problems caused by lack of exploration?  
  c) Given the difference in model performance between the random data and the trained data, did the authors consider _not_ including the initial random exploration from the trained agent in the dataset, but instead training (or evaluating) the agent for longer to get a higher quality dataset?

2. What was the benefit of adding noise at _different levels_ during training time? And how was the noise level chosen at inference time?

3. How long did the training take? 128 TPU-v5e devices for how long?

4. A question about the numbers – the paper states that the RL agent ran for a total of 50M environment steps, but lines 295-6 state that the generative model was trained on a “random subset of 70M examples”.

5. The section on human evaluation was not entirely clear. To check my understanding: a set of 130 pairs of clips was generated, starting from random locations – pairing the ground-truth with the model output, but only running the model for 64 (or 32) steps. On these pairs, the test subjects could identify the model’s output 58% or 60% of the time. Then a _second_ set of 150 clips was generated by rolling out the model for 6000 or 12000 steps (five or ten minutes), and then capturing the next 60 frames? In which case, what were users asked to compare these with? Around line 317 it’s mentioned that the predicted and ground-truth trajectories diverge after a few steps, so presumably after ten minutes they are significantly different. So is the human then presented with two very diverse clips, and asked to work out which is the prediction? This would surely make the comparison much harder, since they would not be comparing like for like. Would this explain why they only scored 50% in this test? Apologies if I've misunderstood the setup.

6. Is there a sense of what the pre-trained Stable Diffusion 1.4 brings to the table? Did the authors experiment with end-to-end training, or using different pre-trained text-to-image models?

7. Fig 13 – the plot indicates that the 70M dataset PSNR metric would keep going up if trained for longer – did the authors try going beyond 700K steps?
soundness: 3
strengths: This is a clear, clean, well-presented paper, with impressive results. They have evaluated well, with interesting and relevant ablations and investigations. The chosen metrics seem well motivated and useful (LPIPS, PSNR, FVD). The desire for reproducibility is commendable and welcome, and I enjoyed the reverence they showed for Doom, having also “spent countless youth hours with the game”.
summary: The authors present a generative neural model which enables real-time controllable simulation of a complex game environment. This model is trained to reproduce Doom, using data gathered by training a separate RL agent in the VizDoom environment. They demonstrate that their model can produce high quality video output, and provide a variety of metrics to support this.
weaknesses: I think the paper’s biggest weakness lies in what the authors omit – I sense an understandable focus on what the model does _well_, and a glossing-over of what it might do _badly_. Some examples:

1. The human evaluation is run on clips of only 1.6 or 3.2 seconds. Why such short samples? Unless I missed it, no rationale is given for this, which leaves me to wonder whether the scores tail off significantly as the clips get longer.  
2.  (Minor) The claim in the abstract that the image reconstruction is comparable to “lossy JPEG compression” becomes less impressive when it’s revealed, in section 5.1, to correspond to a JPEG quality setting of only 20-30.  
3. Although it’s acknowledged (in 5.2.3) that certain map areas are “hard” or “easy”, there are no examples given of failure cases, or what it looks like when the model encounters a "hard" area.  
4. Section 5.2.1 acknowledges that context length is problematic (and this is discussed in section 7), but the negative consequences of this aren’t spelled out – again, I’d like to have seen failure cases due to the lack of context. It felt as though the supplementary material was slightly cherry-picked to avoid this.  


In the introduction, the authors posit the question _“Can a neural model running in real-time simulate a complex game at high quality?”_ and answer it with an unqualified “yes”. I recognise the impressive achievements in the paper, but this answer feels slightly dishonest – is the game genuinely playable (and enjoyable) in GameNGen, or are there still significant gaps to bridge? Can a level be played end-to-end? The PSNR scores are good, but they are not of themselves compelling evidence that the authors’ question can be answered in the affirmative. I think the paper would have been stronger if the answer to the posed question had been “Yes, _but_…”, or even “No, _but_…”

The second weakness in the paper is to do with _motivation_. Attempts to motivate the work by referring to a “new paradigm for game engines” feel a bit hand-wavy. Line 530 says that “the development process for video games under this new paradigm might be less costly and more accessible” – that’s a big “might”, when training GameNGen required 128 TPU-v5es, on top of training an RL agent to play the game in the first place. I find it hard to swallow any argument that a _new_ game can exist as weights of a neural model, rather than as lines of code: under the GameNGen paradigm, the game has to exist before the model can be trained. While the authors acknowledge that “many important questions remain”, I think it is possible to have a more grounded discussion around what these models can and can’t facilitate, and I would have liked to see this in the paper.

Meta-review: After careful consideration of the five expert reviews, the subsequent author-reviewer discussions, and the area chair’s own reading of the paper, I recommend accepting this submission. The paper presents an interesting work in using diffusion models for real-time game simulation, and demonstrates supportive results.

The paper's primary technical contribution centers on GameNGen, a system that can generate high-quality, interactive game simulations at 20 frames per second. While the approach builds on existing diffusion model architectures, the authors have made several technical innovations to achieve stable, long-term generation, including noise augmentation during training and decoder fine-tuning for visual detail preservation.

The experimental validation is thorough. The authors provide quantitative metrics (PSNR, LPIPS, FVD) and human evaluations that demonstrate the quality of their generated content. They also include detailed ablation studies that justify their design choices and show the impact of different components. The reviewers appreciated the authors' commitment to reproducibility, providing detailed implementation information and using open-source tools where possible.

Two reviewers (FBWE and cdyX) expressed concerns about the novelty and scope of the work, noting its reliance on a single game environment and existing model architectures. However, these reviews were relatively brief and did not engage deeply with the technical contributions. In contrast, three reviewers (JQcB, Ybe8, and Gte2) provided thorough technical analyses that recognized the significant engineering achievements and broader implications of the work.

During the discussion period, the authors engaged constructively with reviewer feedback, and provided additional results and clarifications. They added failure case examples to the supplementary material, expanded their evaluation to include a simpler platform game, and enhanced their discussion of limitations. 

The paper does have limitations, particularly in its focus on a single main game environment. However, the extents of the evaluation, the real-time performance achievement, and the potential impact on future game development make these limitations acceptable. The authors have also been appropriately transparent about these constraints and their implications.

Decision: Accept (Poster)