WildWorld: A Large-Scale Dataset for Dynamic World Modeling with Actions and Explicit State toward Generative ARPG
1. Motivation(研究动机)
现有 interactive world model 与 action-conditioned video generation 方法虽然已经能在 camera control、keyboard input、prompt switching 等设定下生成可交互视频,但训练数据通常存在两个根本问题。第一,已有数据集的 action space 过于简单,往往只包含移动、视角变化等低语义密度动作,难以覆盖复杂游戏或真实代理中的技能释放、攻击连段、受击、死亡、协作等丰富交互。第二,很多动作的影响并不直接体现在像素上,而是先作用于 latent / explicit state,例如 health、cooldown、animation phase、entity relation,再通过状态转移影响后续视觉观测。若数据只提供 video 与表层 action,而缺少 state supervision,模型就容易把动作与局部像素变化硬绑定,难以学到结构化的长期动态。
这篇论文要解决的问题,是如何构建一个适合训练和评测显式状态驱动 world model的大规模数据集与 benchmark。作者选择从 photorealistic AAA ARPG《Monster Hunter: Wilds》中自动采集数据,目的是同时获得:大规模视频、丰富动作语义、逐帧状态标注、相机姿态、骨架、深度等多模态监督。相比“只做一个更大视频数据集”,WildWorld 更强调 action → state → observation 的中介结构,这使它更贴近 reinforcement learning 与 dynamical systems 中对 world evolution 的定义。
该问题值得研究的原因在于:如果没有合适的数据与 benchmark,世界模型很难真正服务于 planning、interactive agent、AI-native game、long-horizon reasoning 等场景。论文实验也表明,哪怕现有方法在传统视频质量指标上已经接近饱和,它们在 Action Following 与 State Alignment 上依然明显不足,说明新的数据和更针对性的评测是必要的。
2. Idea(核心思想)
论文的核心思想是:把动作条件 world modeling 从“像素级控制”推进到“显式状态中介的结构化控制”。作者并不只提供 action-conditioned video,而是构建一个带有逐帧 action、skeleton、world state、camera pose、depth 和层级 caption 的大规模数据集 WildWorld,并基于这些标注提出 WildBench,用于评测模型是否真正遵循动作并维持状态一致性。
更具体地说,这篇论文的关键创新有两点。第一,数据层面,它设计了从 AAA 游戏自动采集多流同步数据的完整管线,既保留了高保真视觉内容,又获得了传统现实视频难以直接标注的精细状态。第二,评测层面,它提出了 Action Following 与 State Alignment 两个更贴近 interactive world model 本质的指标,用来弥补 VBench 之类通用视频指标对交互性和状态演化评估不足的问题。
与已有方法的根本差异在于:以往工作主要把 action 当作外部控制信号直接约束 video generation;而 WildWorld 试图把 state 明确为动作作用于视觉之前的中间表示,并用数据集和 benchmark 强化这种建模范式。
3. Method(方法)
3.1 Overall framework
论文方法部分实际上包含两层内容:一层是 WildWorld 数据集构建框架,另一层是 WildBench + baseline world model 设计。其中前者是论文最核心的方法贡献,后者用于验证该数据集和 benchmark 是否能揭示 interactive world model 的真实能力边界。
Figure 1 解读:图 1 是论文的 teaser / overall summary。它强调 WildWorld 来自《Monster Hunter: Wilds》这一 photorealistic AAA ARPG,具有大规模、高动作多样性与显式状态标注等特点。图中通常会同时展示多角色、多怪物、多场景与多模态标注信号,目的是说明该数据集不是单纯的视频集合,而是一个可用于研究 action-conditioned state-aware world modeling 的综合平台。
Figure 2 解读:图 2 展示了 WildWorld 的完整 curation pipeline。最左侧是 Data Acquisition Platform,包括 Automated Game Play System 与多流同步录制;中间是带 timestamp 的多模态记录,包括 action / state JSON、camera pose、skeletal pose、RGB 与 depth;右侧是 Data Processing and Annotation Pipeline,包括 timestamp alignment、异常帧过滤、多维 sample filtering,以及 action-level / sample-level hierarchical caption 生成。整张图清楚传达了作者的方法主线:先获得高质量同步状态与视觉流,再通过过滤与文本标注把原始记录转化为适合 world model 训练和评测的数据样本。
3.2 Key components
3.2.1 Data acquisition platform
论文首先搭建了一个游戏内自动采集平台。为了避免人工玩游戏导致的数据规模和分布受限,作者在《Monster Hunter: Wilds》中构建 automated gameplay system。这个系统包含两部分:
- Quest selection automation:通过调用游戏引擎的 UI 组件,程序化地导航菜单,并随机采样 quest-NPC 组合,从而覆盖不同地图、怪物和队伍配置。
- Automated combat:利用游戏内置的 rule-based companion AI 与 behavior tree,让角色在没有人工干预的情况下进行战斗,同时把相机绑定到原生 target-lock camera system,使战斗和观察能自动持续进行。
作者专门解释了一个潜在疑问:rule-based AI 会不会导致行为过于单一?他们认为不会,理由有二:一是动作组合空间本身很大,AI 需要根据怪物行为不断决定 timing 与 positioning;二是多角色与 reactive monster 的耦合互动构成了高维动态系统,即便脚本逻辑相同,不同 session 轨迹也会明显变化。
这一部分的重要性在于,它解决了大规模 interactive dataset 最难的问题:如何稳定、持续、低人工成本地收集复杂动作交互轨迹。
3.2.2 Multi-stream recording system
作者随后设计了多流同步录制系统。结构化状态信息如动作、health、cooldown、location、rotation、velocity 等,在每个 engine tick 直接以 JSON 序列化写入本地文件。视觉流部分则更复杂:因为标准渲染设置下整个屏幕通常只有 RGB 视图,所以作者基于 OBS Studio 与 Reshade 做了专门系统。
具体做法是:
- 使用定制 Reshade shader,把完整显示划分为四个 sub-window,其中两个分别显示 RGB 与 depth render buffer;
- 将全屏分辨率设置为 2K,因此每个子窗口约为 720p;
- 修改 OBS Studio,同步录制多个 screen sub-window,得到独立的 RGB / depth recording streams;
- RGB 使用有损 HEVC 可变码率录制,target bitrate 为 16 Mbps、max 20 Mbps,以压缩存储成本;
- depth 使用无损方式编码,以避免几何信息被压缩伪影破坏;
- 在不同源的录制结果中嵌入 timestamp,为后续跨源同步提供统一依据。
这一步的核心贡献是保证不同模态之间具有逐帧级别的可对齐性。没有 timestamp-embedded multi-stream recording,就无法把状态、骨架、相机与视频可靠地绑定起来。
3.2.3 Data processing and annotation pipeline
Figure 3 解读:图 3 总结了数据集统计信息,包括数据组成、样本时长分布以及动作频率分布。图 3(a) 展示角色类型、怪物种类、场景类型与 combat/travel 比例;图 3(b) 展示样本帧数分布,体现大量长时序片段;图 3(c) 展示 top-150 action ID 的长尾分布。该图直接支撑了论文关于 entity diversity、long-horizon dynamics 与 action richness 的论点。
原始多流记录仍可能存在错帧、掉帧、遮挡、cutscene、极端亮度等不适合训练 world model 的问题,因此作者设计了多维 filtering pipeline:
- Duration Filtering:丢弃长度小于 81 帧的样本;
- Temporal Continuity Filtering:若相邻帧 timestamp gap 超过目标帧间隔的 1.5 倍(约 50 ms at 30 FPS),则认为存在 stuttering 或 shot-cut,剔除该样本;
- Luminance Filtering:在 YUV 的 luma channel 上过滤连续超过 15 帧的极亮/极暗片段;
- Camera Occlusion Filtering:利用 third-person spring-arm 的长度变化检测前景遮挡;若 camera-character distance 持续异常偏小,则剔除;同时过滤 fast travel 等会破坏连续性的 abrupt position change;
- Character Occlusion Filtering:将 3D skeletal keypoints 投影到首帧屏幕坐标,若角色之间 overlap area 超过任意一方投影面积的 30%,则剔除。
过滤之后,作者继续构造 hierarchical caption annotations。他们先根据逐帧 action ID 把样本切分成 action sequences,每个 sequence 内 action 不变;然后对每个 sequence 以 1 FPS 抽取 RGB 帧并缩放到 480p,使用 Qwen3-VL-235B-A22B-Instruct(通过 vLLM 部署)生成细粒度 action-level captions;为缓解模型对游戏场景不熟悉的问题,还把对应 action 与 state ground truth 作为 prompt context 提供给 caption model;最后再用 Gemini 3 Flash 对一个样本内的全部 action sequence caption 做总结,生成 sample-level caption。
这一设计非常关键,因为它让数据集同时服务于:
- state-aware video generation;
- prompt switching / controllable generation;
- 更细粒度的 evaluation。
3.2.4 Dataset statistics and representation design
WildWorld 最终包含 108M frames,每帧有 119 annotation columns。它覆盖:
- 29 种 monster species;
- 4 个 player characters;
- 4 种 weapon types(Great Sword, Long Sword, Bow, Dual Blades);
- 5 个开放世界 stage;
- 66% combat / 34% travel 的场景分布。
在时序上,多数 clips 长度分布在 4,000 到 28,000 帧,少量超过 40,000 帧,这意味着数据集中不仅有短交互,也包含超过 30 分钟的长程连续片段。空间上,camera-to-character median distance 为 15.69,character-to-monster median distance 为 12.63,说明主体通常处于镜头核心区域,动作细节可见性较好。
在动作表示上,角色状态被编码为 (weapon type, bank ID, motion ID) 三元组,共形成 5,960 个唯一 character action triplets,覆盖 24 banks 和 455 motion IDs;monster 则有 2,132 个 action pairs,覆盖 13 banks 与 527 motion IDs。这让该数据集的动作空间明显超出一般 keyboard-control 或 camera-control 数据集。
3.2.5 WildBench benchmark design
WildBench 从四个维度评估 interactive world model:
- Video Quality:使用 VBench 的四个指标,分别是 Motion Smoothness (MS)、Dynamic Degree (DD)、Aesthetic Quality (AQ)、Image Quality (IQ)。
- Camera Control:用 structure-from-motion 模型从生成视频估计 camera trajectory,并与 ground-truth trajectory 对齐后,计算 Absolute Trajectory Error (ATE) 与 Relative Pose Error (RPE)。论文中实际使用 ViPE 做 camera trajectory estimation。
- Action Following:基于逐帧 action ID,把每个 sample 切成 action segments;对每个 segment,从 generated video 与 GT video 中截取对应片段,交给
Gemini 3 Flash判断二者是否表达同一动作。动作被分为 movement、fast displacement、attack 三类,并为每类设计专门 prompt。每个 segment 一致记为 1,否则为 0,最终对所有 segment 取平均。 - State Alignment:将 player 与 monster 的 pose 作为 state proxy。借助 WildWorld 的 GT skeleton,将关键骨点投影到屏幕 2D 坐标,得到 GT trajectories;对生成视频,由于 image-to-video 任务首帧与 GT 相同,因此从首帧初始化关键点,并用
TAPNext跟踪后续帧中的 keypoints。然后计算 predicted trajectory 与 GT trajectory 的 mean coordinate accuracy。每个 keypoint 的 accuracy 定义为:在阈值 4、8、16、32 pixels 下,预测点落入容差范围的帧比例的平均值。
如果用公式表达,State Alignment 可写成近似形式:
其中 是生成视频中第 个关键点在第 帧的位置, 是 GT 位置。总体 State Alignment 则是对所有 keypoints 再取平均:
Action Following 本质上是一个 segment-level binary consistency 平均值,也可写成:
这里 是第 个 action segment 是否与 GT 动作一致的判定结果。
评测集方面,作者从 WildWorld 中人工筛选出 200 个 representative samples,覆盖不同 difficulty、combat scenario、character / monster type,以及 skill usage、knockdown、death、critical hit 等事件。其中 100 个样本是 player+NPC 对 monster 的协作战斗,另外 100 个是一对一战斗。
3.2.6 Baseline interactive world models
论文并非提出一个全新 SOTA 生成模型,而是围绕 WildWorld/WildBench 构建了几类 baseline / controlled variants:
- Baseline:
Wan2.2-TI2V-5B。 - CamCtrl:基于
Wan2.2-Fun-5B-Control-Camera,输入 camera trajectory、initial image、text prompt,直接用 WildWorld 的 per-frame camera poses 进行 fine-tuning。对比中,baseline 需要先把离散相机动作转换为 camera poses,再计算 Plücker embeddings 注入模型;CamCtrl 直接使用 GT pose,控制更精确。 - SkelCtrl:基于
Wan2.2-Fun-5B-Control的 skeleton-conditioned video-to-video 设定。输入是首帧和 skeleton video;其中 skeleton video 由 WildWorld 的 3D skeleton keypoints + joint tree,在 GT camera pose 下投影到 screen coordinate 后渲染而成。 - StateCtrl:在 CamCtrl 基础上引入 state embedding。作者把状态分成 discrete states(如 monster type、weapon category)和 continuous states(如 coordinates、health)。离散状态通过 trainable embedding 映射,连续状态通过 MLP 编码到同一特征空间。然后采用层次化表示:entity-level states 与 global-level states 共同输入 transformer 建模 entity relations,得到 unified state embedding;该 embedding 与 video frames 对齐后注入 DiT 中间层作为 conditioning signal。同时引入 state decoder 与 state predictor:前者保证 state embedding 保留原始状态信息,后者预测 next-frame state,从而增强时序一致性。
- StateCtrl-AR:推理时只给首帧 GT state,后续 state 由 state predictor 自回归生成,再继续作为 conditioning input。

Figure 4 解读:图 4 给出不同 interactive world modeling approach 的定性对比。顶例中 CamCtrl 虽然能跟住 camera motion,但难以复现 monster dynamics;底例中 StateCtrl 生成的主体更清晰,而 SkelCtrl 更能还原地面飞沙、遮挡等具体动作细节。这张图体现了论文一个重要结论:不同控制信号在“video quality vs interaction faithfulness”之间存在 trade-off。
3.3 Math formulas and objectives
论文没有给出完整训练损失的显式公式,但根据文字描述,StateCtrl 至少包含三类目标:
- Video generation objective:继承底层 DiT / video diffusion backbone 的标准生成损失;
- State decoder loss:约束 state embedding 能恢复原始状态;
- State predictor loss:监督 next-frame state prediction,提高 temporal consistency。
可将其概括为:
其中:
- 是视频生成 backbone 的训练目标;
- 约束 embedding 保留 state information;
- 约束 state transition 可预测。
由于论文未公开更细的 loss 定义和权重,具体形式论文未详细说明。
3.4 Pseudocode(基于论文与公开仓库现状)
我按要求搜索了代码仓库。基于当前公开 GitHub 页面可见内容,公开仓库 https://github.com/ShandaAI/WildWorld 的结构非常精简,仅能确认 assets/、README.md、LICENSE 等顶层内容,未见训练脚本、模型定义、loss、benchmark 实现或数据处理代码。因此下面伪代码只能基于论文明确描述的方法流程来组织,并在标题中注明属于 paper-faithful reconstruction,而非源码逐行映射。
以下所有代码块均为基于论文描述重建的说明性伪代码,不对应公开仓库中的真实文件、类名、函数名或训练实现。
(a) Reconstructed pseudocode for automated game data collection (not released source code)
import random
from typing import Dict, List
def run_auto_collection(game_api, quest_pool, npc_pool, recorder, max_sessions: int):
all_sessions = []
for _ in range(max_sessions):
quest = random.choice(quest_pool)
npcs = random.sample(npc_pool, k=3)
game_api.navigate_menu_and_start_quest(quest=quest, npc_team=npcs)
game_api.enable_behavior_tree_ai()
game_api.bind_camera_to_target_lock()
recorder.start_multi_stream_recording()
session = []
while not game_api.session_finished():
tick_state = game_api.read_structured_state()
tick_camera = game_api.read_camera_pose()
tick_skeleton = game_api.read_skeleton_pose()
timestamp = game_api.read_timestamp()
recorder.record_json(
timestamp=timestamp,
state=tick_state,
camera=tick_camera,
skeleton=tick_skeleton,
)
recorder.capture_rgb_depth(timestamp=timestamp)
session.append(timestamp)
recorder.stop_multi_stream_recording()
all_sessions.append(session)
return all_sessions(b) Reconstructed pseudocode for data filtering and synchronization (not released source code)
from typing import List
def filter_and_sync_sample(sample, target_fps: int = 30):
frame_interval_ms = 1000.0 / target_fps
max_gap_ms = 1.5 * frame_interval_ms
if len(sample.frames) < 81:
return None
if any(gap > max_gap_ms for gap in sample.timestamp_gaps_ms()):
return None
if sample.has_extreme_luminance_run(max_consecutive=15):
return None
if sample.has_camera_occlusion_by_spring_arm():
return None
if sample.has_fast_travel_or_abrupt_position_change():
return None
if sample.first_frame_overlap_ratio() > 0.30:
return None
return sample.align_by_timestamp()(c) Reconstructed pseudocode for hierarchical caption generation (not released source code)
from typing import List
def build_hierarchical_captions(sample, qwen_vl, summarizer):
action_segments = sample.segment_by_framewise_action_id()
action_level_captions = []
for seg in action_segments:
frames = seg.sample_rgb_frames(fps=1, resize_to="480p")
prompt = {
"frames": frames,
"action_gt": seg.action_gt,
"state_gt": seg.state_gt,
}
caption = qwen_vl.generate(prompt)
action_level_captions.append(caption)
sample_level_caption = summarizer.summarize(action_level_captions)
return {
"action_level_captions": action_level_captions,
"sample_level_caption": sample_level_caption,
}(d) Reconstructed pseudocode for StateCtrl state encoder and injection (not released source code)
import torch
import torch.nn as nn
class StateCtrlEncoder(nn.Module):
def __init__(self, num_discrete_tokens: int, discrete_dim: int, cont_dim: int, hidden_dim: int):
super().__init__()
self.discrete_embed = nn.Embedding(num_discrete_tokens, discrete_dim)
self.cont_proj = nn.Sequential(
nn.Linear(cont_dim, hidden_dim),
nn.SiLU(),
nn.Linear(hidden_dim, hidden_dim),
)
self.entity_transformer = nn.TransformerEncoder(
nn.TransformerEncoderLayer(d_model=hidden_dim, nhead=8, batch_first=True),
num_layers=4,
)
self.out_proj = nn.Linear(hidden_dim, hidden_dim)
def forward(self, discrete_states, continuous_states):
discrete_feat = self.discrete_embed(discrete_states)
cont_feat = self.cont_proj(continuous_states)
fused = discrete_feat + cont_feat
fused = self.entity_transformer(fused)
return self.out_proj(fused)(e) Reconstructed pseudocode for StateCtrl training step (not released source code)
import torch
import torch.nn.functional as F
def train_statectrl_step(batch, video_model, state_encoder, state_decoder, state_predictor, optimizer):
video = batch["video"]
first_frame = batch["first_frame"]
state_discrete = batch["state_discrete"]
state_continuous = batch["state_continuous"]
target_next_state = batch["next_state"]
state_embed = state_encoder(state_discrete, state_continuous)
pred_video_loss = video_model.compute_generation_loss(
video=video,
first_frame=first_frame,
conditioning=state_embed,
)
decoded_state = state_decoder(state_embed)
state_decoder_loss = F.mse_loss(decoded_state, batch["state_target"])
pred_next_state = state_predictor(state_embed[:, :-1])
state_predictor_loss = F.mse_loss(pred_next_state, target_next_state[:, 1:])
loss = pred_video_loss + state_decoder_loss + state_predictor_loss
optimizer.zero_grad()
loss.backward()
optimizer.step()
return {
"loss": loss.item(),
"video_loss": pred_video_loss.item(),
"decoder_loss": state_decoder_loss.item(),
"predictor_loss": state_predictor_loss.item(),
}3.5 Paper claims vs public evidence
由于公开仓库当前未提供训练/模型源码,下面的映射仅限于论文概念与已公开材料之间的对应关系,而不是论文到真实源码实现的映射:
| Paper Concept | Public Evidence | Release Status |
|---|---|---|
| 项目概览、数据集介绍、WildBench 概述 | README.md、项目页 | 已公开说明,未公开实现 |
| 方法框架图 / 数据集管线图 | project page / repository assets 中的 framework figure | 已公开图示,未公开实现 |
| 数据集可视化与统计图 | repository assets、项目页可视化图 | 已公开图示,未公开实现 |
| 训练代码(CamCtrl / SkelCtrl / StateCtrl) | 代码搜索未找到开源实现 | 未公开 |
| Benchmark 评测代码(Action Following / State Alignment) | 代码搜索未找到开源实现 | 未公开 |
| 数据处理与同步脚本 | 代码搜索未找到开源实现 | 未公开 |
4. Experimental Setup(实验设置)
4.1 Datasets and benchmark
- 训练数据集:WildWorld。
- 规模:108M frames,119 annotation columns / frame。
- 数据模态:RGB、depth、camera intrinsics/extrinsics、skeletal pose、world states、frame-wise action annotations、action-level captions、sample-level captions。
- 实体覆盖:29 monsters、4 player characters、4 weapon types、5 stages。
- 场景分布:66% combat,34% travel。
- 评测集:WildBench,从 WildWorld 中人工筛选的 200 个样本,其中 100 个是 player+NPC 协作战斗,100 个是一对一战斗。
4.2 Baselines / compared approaches
论文比较了以下方法:
- Baseline:
Wan2.2-TI2V-5B - CamCtrl:
Wan2.2-Fun-5B-Control-Camerafine-tuned on GT camera trajectories - SkelCtrl:
Wan2.2-Fun-5B-Controlfine-tuned with skeleton video control - StateCtrl:在 CamCtrl 基础上加入 discrete/continuous states + transformer state encoder + decoder/predictor
- StateCtrl-AR:只输入首帧 state,其余 state autoregressively predicted
4.3 Evaluation metrics
- Video Quality:MS、DD、AQ、IQ(来自 VBench)
- Camera Control:ATE、RPE
- Action Following:Gemini 3 Flash segment-level action consistency judgement
- State Alignment:基于 TAPNext skeleton tracking 的 coordinate accuracy
4.4 Training config
论文明确给出了统一训练设置:
- resolution: 544 × 960
- frames per sample: 81
- frame rate: 16 FPS
- batch size: 文中段落先写 1,但 Table 1 后紧接着出现“training is performed for 250,000 iterations with a batch size of 8 using the Adam optimizer”,二者存在版面/转写上的不一致;保守起见,这里记录为:论文文本存在 batch size=1 与 batch size=8 的不一致描述。该差异来自论文文本内部描述不一致,笔记仅如实记录,尚不能据此判断哪一项为最终正确配置。论文原文内部存在冲突,笔记不做裁决,仅忠实记录。
- learning rate:
- training iterations: 250,000
- optimizer: Adam
- inference sampling steps: 50
此外,Action Following 的人工一致性评测使用:
- 10 volunteers
- 每个 segment 由 3 位志愿者标注
- 标注不一致的 segment 会被丢弃,约占全体的 5%
5. Experimental Results(实验结果)
5.1 Main benchmark results
论文表 1 的主要结果如下(ATE/RPE 越低越好,其余越高越好):
| Method | MS | DD | AQ | IQ | ATE ↓ | RPE ↓ | Action Following ↑ | State Alignment ↑ |
|---|---|---|---|---|---|---|---|---|
| Baseline | 96.38 | 99.00 | 50.81 | 65.62 | 4.63 | 0.18 | 53.77 | 11.29 |
| CamCtrl | 97.85 | 97.00 | 48.29 | 62.88 | 2.02 | 0.13 | 83.46 | 15.18 |
| SkelCtrl | 97.85 | 95.00 | 47.92 | 62.43 | 2.55 | 0.10 | 92.81 | 22.03 |
| StateCtrl | 97.45 | 99.00 | 50.86 | 67.78 | 0.94 | 0.07 | 85.66 | 16.06 |
| StateCtrl-AR | 97.43 | 99.00 | 50.90 | 67.76 | 1.01 | 0.08 | 74.66 | 16.13 |
从表中可以提炼出几个关键结论:
- 所有控制方法都显著优于 baseline 的交互相关指标。例如 CamCtrl 相比 baseline,把 ATE 从 4.63 降到 2.02,RPE 从 0.18 降到 0.13,说明真实 camera pose supervision 的价值很高。
- SkelCtrl 在 interaction metrics 上最强。它的 Action Following 达到 92.81,State Alignment 达到 22.03,说明直接使用视觉 skeleton signal 作为 control input,能更强地约束动作与状态一致性。
- StateCtrl 在 video quality 与 control 之间更平衡。它的 AQ=50.86、IQ=67.78,是表中较优结果,同时 ATE=0.94、RPE=0.07 也是最佳,说明显式状态嵌入在不牺牲图像质量的前提下增强了可控性。
- StateCtrl-AR 证明 autoregressive state control 可行,但有误差积累。它的 State Alignment 从 StateCtrl 的 16.06 变为 16.13,整体基本持平甚至略有提升;但 Action Following 从 85.66 掉到 74.66,说明自回归 next-state prediction 的误差更先体现在动作一致性上,而不是明显反映在 skeleton proxy 的 State Alignment 指标退化上。
5.2 Metric validation and ablation-like findings
论文先验证了 WildBench 指标的可靠性:
- Action Following 与人工判断的一致率为 85%,说明基于 Gemini 3 Flash 的动作一致性判断总体能反映人类偏好。
- State Alignment 在 GT skeleton 上达到 43.23% coordinate accuracy,表明该指标虽然不完美,但能有效反映 state trajectory alignment。
这虽然不是严格意义上的模块 ablation,但已经是 benchmark 可信度的重要实证支撑。
5.3 Qualitative findings
定性结果显示:
- CamCtrl 更擅长复现 camera motion,但对 monster dynamics 的建模较弱;
- StateCtrl 往往生成更清晰的前景主体,因此 IQ / AQ 更高;
- SkelCtrl 更容易复现飞沙、遮挡、局部动作等强交互信号,因此在 interaction metrics 上表现更强。
这说明 visual control signal 与 latent / state embedding signal 各有偏好:前者更强约束动作,后者更利于画质与整体稳定性。
5.4 Limitations
论文明确或隐含地暴露出几项限制:
- 当前公开仓库尚未提供完整训练与评测代码,复现路径还不完整。
- WildBench 的 Action Following 使用 LLM-based judge,虽然与人类 85% 一致,但仍然不是完全客观的物理或语义判定器。
- State Alignment 仅用 skeleton pose 作为 state proxy,无法完整覆盖所有隐变量状态,如 cooldown、ammo、内部 AI state 等。
- StateCtrl-AR 存在明显误差积累,说明要做长期自回归 world model,仍需更强的 transition modeling。
- VBench 在该数据集上接近饱和,意味着通用视频质量指标不足以评估高动态交互生成,这也是该论文提出 WildBench 的动机之一。
5.5 Overall conclusion
总体来看,这篇论文最重要的贡献不是提出了一个压倒性的生成模型,而是提出了一个让 state-aware interactive world modeling 可以被规模化研究、被精确评测的数据基础设施。WildWorld 用显式状态、多流同步与长时程复杂动作空间,补上了现有数据集的关键缺口;WildBench 则证明,现有模型在传统视频质量指标之外,仍然在动作跟随与状态一致性上存在明显短板。对后续研究而言,这篇工作更像是 world model 领域的“数据与评测基建论文”,价值非常高。