ForgeWM: Progressive Causal Training for Few-Step Action-Conditioned Video World Models

A playable world model you drive with keyboard, mouse or a gamepad — at one denoising step, in real time.

Xinye Li1,2,*, Lingshuai Lin3,4,*, Lei Wang2, Liuzhou Zhang5, Jialin Cui3,4, Qingshan Li4, Guanchu Wang4, Qingbin Liu2, Xi Chen2, Jiang Bian2, Wai Lam1,†

1CUHK   2Tencent PCG   3Fudan University   4Shanghai AI Laboratory   5HKUST

* Equal contribution  ·  † Corresponding author  ·  xyli@se.cuhk.edu.hk

72 FPS1-step, 352×640
168 msper chunk
1 / 2 / 4step students
8 GPUsfull recipe
ForgeWM rollouts in Minecraft and an FPS domain
Minecraft (top) driven by keyboard + mouse, a gamepad FPS domain (bottom). Both checkpoints come out of the same framework — only the action interface and the data change. Overlays show the control trace fed to the model.
Method

One base generator, four coordinated stages

A bidirectional action-conditioned generator becomes a family of causal students that run at a fixed, tiny denoising budget — while keyboard, mouse and stick motion stay frame-aligned to every compressed latent chunk.

ForgeWM framework overview
Stage 0

Domain adaptation

Bidirectional fine-tuning on the target game. Frozen afterwards and reused as the teacher in Stage 3.

Stage 1

Causal AR

Teacher-forced block-wise causal attention turns the generator autoregressive without losing control fidelity.

Stage 2

Consistency distillation

Causal consistency distillation compresses the sampling trajectory and unlocks few-step generation.

Stage 3

On-policy matching

The student rolls out itself and is supervised at the distribution level by the frozen Stage-0 teacher.

Stage 0 and Stage 1 are siblings from the same base generator; Stage 3 consumes Stage 2 as its student and Stage 0 as its teacher. Every stage ships as a runnable config — full hyperparameters are in the repository and the paper.

Few-step students

One step, two steps, four steps

The same scene at three denoising budgets — identical initial frame, identical action, identical seed. Fewer steps means a different sampling trajectory, so the rollouts are not meant to match frame for frame. What matters is that they are all equally plausible worlds: the one-step student holds its own against the four-step one while running 2.2× faster.

Plains · hold forward
ForgeWM-1ForgeWM-2ForgeWM-4
Rainy sunset · hold turn-right
ForgeWM-1ForgeWM-2ForgeWM-4
Desert · hold back
ForgeWM-1ForgeWM-2ForgeWM-4
Forest · hold turn-right
ForgeWM-1ForgeWM-2ForgeWM-4
Action control

The same frame, opposite commands

Three rollouts from one initial frame, differing only in the action held for the whole sequence. Nothing else changes — not the checkpoint, not the seed. The camera goes where it is told.

Desert · yaw
← turn leftno actionturn right →
Plains · yaw
← turn leftno actionturn right →
River · yaw
← turn leftno actionturn right →
Rainy sunset · yaw
← turn leftno actionturn right →
Holding one command for an entire rollout is deliberately harsh: the camera keeps turning long after a player would have stopped, and the world still has to stay coherent. Every panel here comes from the ForgeWM-4 checkpoint at seed 0.
Replay-time refinement

Play at one step, polish afterwards

Extra denoising helps — but rerunning the model from noise gives you a different rollout, not a better version of the one you just played. So we spend the extra budget on the saved draft instead: the deployed one-step student re-noises and refines its own chunks, in order, under the recorded actions.

Tall grass by the water · the clearest case
(A) 1-step draft(B) refined replay(C) direct 4-step
Shoreline · (A) and (B) share a trajectory
(A) 1-step draft(B) refined replay(C) direct 4-step
Riverbank · same story on a third scene
(A) 1-step draft(B) refined replay(C) direct 4-step
Sandbank · tree in the foreground
(A) 1-step draft(B) refined replay(C) direct 4-step

(A) and (B) are frame-aligned by construction — (B) starts from (A)'s saved latents. (C) restarts from noise, so it drifts to a different realization. That divergence is the argument.

Four-step quality from a one-step draft. 0.6155 LPIPS, versus 0.6168 for direct four-step generation — while staying 3.1× closer to the draft that was actually played.
No extra weights and no online cost: the refiner is the deployed student, and the pass runs after interaction ends. Swapping in the four-step student instead gives essentially the same trade-off.
Metrics

Scores

1,000 paired Minecraft trajectories for reference-aligned metrics; 462 constant-action videos for no-reference metrics. All systems share the same initial frames and controls.

Model IQ ↑ LPIPS ↓ AQ ↑ Subj. Cons. ↑ Flow Prof. ↑ KCtrl ↑ Mouse Acc. ↑ Latency ↓ FPS ↑
Matrix-Game 2 0.62820.64430.4583 0.73490.93430.9156 0.7061 370.9 ms32.35
HY-WorldPlay 0.61330.61720.4855 0.94660.82880.9286 0.5818 2164.3 ms7.54
ForgeWM-1 0.67760.65290.4807 0.82790.94030.9545 0.7848 168.2 ms72.10
ForgeWM-2 0.68650.61710.4814 0.83490.94290.9740 0.8268 239.7 ms50.31
ForgeWM-4 0.67880.61680.4860 0.76130.94200.9740 0.8102 369.6 ms32.47

Best per column in bold. ForgeWM leads six of the seven quality and control metrics; HY-WorldPlay's Subject Consistency advantage comes with the weakest motion-profile agreement and mouse accuracy in the table. Efficiency columns are reported for context and are not bolded — they are measured on a single H20 at 352×640 and exclude loading, VAE decoding and file writing. KCtrl is a camera-trajectory sign test on opposite-action pairs.

Replay refinement

MethodLPIPS ↓Ddraft
One-step draft0.6532
Replay refinement0.61550.1970
Direct four-step0.61680.6187

LPIPS against the paired reference; Ddraft against the saved draft. Refinement matches from-noise four-step quality while staying far closer to the rollout that was played.

Blind user study

Blind three-way user preferences

41 participants, 615 selections, 205 judgments per criterion, three-way blind comparison with hidden identities and randomized order. ForgeWM-4 takes 68.8% of visual-quality preferences, 57.6% on action accuracy and 55.6% on spatiotemporal consistency — 60.7% pooled.

CrossFPS

The same recipe, a different game family

Swap the action interface from mouse-and-keys to dual analog sticks and gamepad buttons, swap the data, and run the same four stages. No architectural change — and a separate checkpoint lineage, not a multi-domain model.

Call of Duty · scoped
Science-fiction interiors
Halo · indoor to outdoor
Call of Duty · vehicles
Across seven games the macro-average paired LPIPS is 0.656 and generated motion runs 1.45× the reference magnitude. Every rollout above follows an action trace recorded from real play, not a synthetic one. The checkpoint and inference code are released.
Get it

Two commands to a rollout

Checkpoints for all four Minecraft stages, the two few-step students, and the CrossFPS inference model — plus the pre-encoded training data, 40,000 GF-Minecraft clips at 352×640 — are on HuggingFace.

# base model + ForgeWM checkpoints
bash scripts/download_models.sh
huggingface-cli download ForgeWM/ForgeWM --local-dir ./ckpts

# drive it (stage3 is the ForgeWM-4 student)
python inference.py --config_path configs/stage3_dmd.yaml \
    --checkpoint_path ckpts/stage3/model.pt \
    --image_path demo_images/forest.png --action_type forward
Citation

Cite & credit

@misc{li2026forgewm, title = {ForgeWM: Progressive Causal Training for Few-Step Action-Conditioned Video World Models}, author = {Xinye Li and Lingshuai Lin and Lei Wang and Liuzhou Zhang and Jialin Cui and Qingshan Li and Guanchu Wang and Qingbin Liu and Xi Chen and Jiang Bian and Wai Lam}, year = {2026}, eprint = {2608.14022}, archivePrefix = {arXiv}, primaryClass = {cs.CV}, url = {https://arxiv.org/abs/2608.14022} }

Preprint on arXiv:2608.14022 (cs.CV).

Built on

Base model
Matrix-Game 2
Training data
GameFactory (Minecraft) · SCOPE (CrossFPS)
Distillation
Causal Forcing

We also thank the authors of Self-Forcing, CausVid, Wan 2.1, minWM, GameCraft and HunyuanVideo.

Contact

Email
xyli@se.cuhk.edu.hk
Code
github.com/asdfo123/ForgeWM
WeChat
discussion group QR