[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80073":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":15,"starSnapshotCount":15,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},80073,"ReactiveGWM","INV-WZQ\u002FReactiveGWM","INV-WZQ","[Arxiv 2026] ReactiveGWM: Steering NPC in Reactive Game World Models","https:\u002F\u002Finv-wzq.github.io\u002FReactiveGWM\u002F",null,"Python",72,8,3,0,1,4,11,5,44.96,false,"main",true,[25,26],"diffusion-models","world-models","2026-06-12 04:01:26","# ReactiveGWM: Steering NPC in Reactive Game World Models\n\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"assets\u002FSF3.gif\" width=\"70%\" >\u003C\u002Fimg>\n  \u003Cbr>\n  \u003Cem>\n      A reactive demo on the SF3 game.\n  \u003C\u002Fem>\n\u003C\u002Fdiv>\n\u003Cbr>\n\n\u003Ca href=\"https:\u002F\u002Finv-wzq.github.io\u002FReactiveGWM\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWeb-Project Page-1d72b8.svg\" alt=\"Project Page\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2605.15256\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-ReactiveGWM-A42C25.svg\" alt=\"arXiv\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002FINV-WZQ\u002FReactiveGWM-Models\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🤗_HuggingFace-Model-ffbd45.svg\" alt=\"HuggingFace Model\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FINV-WZQ\u002FReactiveGWM-Datasets\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🤗_HuggingFace-Dataset-ffbd45.svg\" alt=\"HuggingFace Dataset\">\u003C\u002Fa>\n\n\n> **ReactiveGWM: Steering NPC in Reactive Game World Models**    \n> [Zeqing Wang](https:\u002F\u002Finv-wzq.github.io\u002F)\u003Csup>12\u003C\u002Fsup>, Danze Chen\u003Csup>12\u003C\u002Fsup>, [Zhaohu Xing](https:\u002F\u002Fge-xing.github.io\u002F)\u003Csup>4\u003C\u002Fsup> , Zizhao Tong\u003Csup>15\u003C\u002Fsup> , Yinhan Zhang\u003Csup>16\u003C\u002Fsup> , [Xingyi Yang](https:\u002F\u002Fadamdad.github.io\u002F)\u003Csup>3\u003C\u002Fsup> , [Yeying Jin](https:\u002F\u002Fjinyeying.github.io\u002F)\u003Csup>12\u003C\u002Fsup>  \n> \u003Csup>1\u003C\u002Fsup> Tencent, \u003Csup>2\u003C\u002Fsup> National University of Singapore, \u003Csup>3\u003C\u002Fsup> The Hong Kong Polytechnic University  \n> \u003Csup>4\u003C\u002Fsup> The Hong Kong University of Science and Technology (Guangzhou), \u003Csup>5\u003C\u002Fsup> University of Chinese Academy of Sciences, \u003Csup>6\u003C\u002Fsup> The Hong Kong University of Science and Technology\n\n## ⭐ Updates\n- **[May 18, 2026]**: Arxiv paper is released.\n- **[May 14, 2026]**: Inference Code, model and dataset are released.\n\n## 📚 Introduction\n**ReactiveGWM** is a novel game world model that synthesizes dynamic interactions between the player and **NPC**. Unlike current player-centric game world models, ReactiveGWM explicitly decouples player control from NPC autonomy: player actions are injected into the diffusion backbone via a lightweight additive bias, while high-level NPC strategies (Offense, Control, Defense) are grounded through cross-attention modules. These modules learn a *game-agnostic* representation of interactive logic, enabling zero-shot strategy transfer to vanilla world models of different games without retraining. Experiments on Street Fighter 2 and Street Fighter Alpha 3 show ReactiveGWM delivers fine-grained player controllability alongside autonomous, prompt-aligned NPC behavior.\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"assets\u002FSF2.gif\" width=\"70%\" >\u003C\u002Fimg>\n  \u003Cbr>\n  \u003Cem>\n      A reactive demo on the SF2 game.\n  \u003C\u002Fem>\n\u003C\u002Fdiv>\n\u003Cbr>\n\n## 🛠️ Setup\n```bash\nconda create -n ReactiveGWM python=3.10\nconda activate ReactiveGWM\npip install -r requirements.txt\n```\n\nDownload the base model, the ReactiveGWM checkpoints, and (optionally) the strategy-aligned datasets:\n\n| Resource | 🤗 Repo |\n|---|---|\n| Wan2.2 base (VAE + T5) | [`Wan-AI\u002FWan2.2-TI2V-5B`](https:\u002F\u002Fhuggingface.co\u002FWan-AI\u002FWan2.2-TI2V-5B) |\n| UMT5 tokenizer | [`Wan-AI\u002FWan2.1-T2V-1.3B`](https:\u002F\u002Fhuggingface.co\u002FWan-AI\u002FWan2.1-T2V-1.3B) (`google\u002Fumt5-xxl\u002F` subfolder) |\n| ReactiveGWM checkpoints (SF2 \u002F SF3) | [`INV-WZQ\u002FReactiveGWM-Models`](https:\u002F\u002Fhuggingface.co\u002FINV-WZQ\u002FReactiveGWM-Models) |\n| Strategy-aligned datasets | [`INV-WZQ\u002FReactiveGWM-Datasets`](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FINV-WZQ\u002FReactiveGWM-Datasets) |\n\nArrange the base assets under a single `\u003Cbase_model_dir>`:\n\n```\n\u003Cbase_model_dir>\u002F\n└── Wan-AI\u002F\n    ├── Wan2.2-TI2V-5B\u002F\n    │   ├── Wan2.2_VAE.pth\n    │   └── models_t5_umt5-xxl-enc-bf16.pth\n    └── Wan2.1-T2V-1.3B\u002F\n        └── google\u002Fumt5-xxl\u002F        # HF tokenizer files\n```\n\n## 🚀 Quick start\n\nThe repo ships **12 pre-built example samples** under\n[`inference\u002Fexamples\u002F`](inference\u002Fexamples) (3 strategies × 2 samples × 2\nvariants). Pick any one and run:\n\n```bash\nSAMPLE=inference\u002Fexamples\u002FSF2\u002Foffense\u002F01\n\npython inference\u002Finference.py \\\n    --variant sf2 --ckpt \u003Cpath-to-sf2.safetensors> \\\n    --image     inference\u002Fexamples\u002FSF2\u002FSF2.png \\\n    --actions   $SAMPLE\u002Factions.parquet \\\n    --prompt    \"$(cat $SAMPLE\u002Fprompt.txt)\" \\\n    --base_model \u003Cbase_model_dir> \\\n    --out out.mp4\n```\n\nThe first frame is shared per variant (`inference\u002Fexamples\u002F\u003Cvariant>\u002F\u003Cvariant>.png`);\nswap the `--image` along with `--variant` \u002F `--ckpt` when moving from SF2 to\nSF3. Swap `offense` \u002F `control` \u002F `defense` to redirect NPC behavior with the\nsame first frame and button stream.\n\nFor the full CLI argument table, the public Python API, module layout, and\nthe per-strategy example inventory, see [**`inference\u002FREADME.md`**](inference\u002FREADME.md).\n\n## 🤓 Acknowledgments\nReactiveGWM is built on top of [Wan2.2-TI2V-5B](https:\u002F\u002Fgithub.com\u002FWan-Video\u002FWan2.2) and adapts modeling \u002F scheduler components from [DiffSynth-Studio](https:\u002F\u002Fgithub.com\u002Fmodelscope\u002FDiffSynth-Studio). Gameplay recording uses the [stable-retro](https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002Fstable-retro) framework, and NPC strategy annotations are produced by [Gemini](https:\u002F\u002Fdeepmind.google\u002Ftechnologies\u002Fgemini\u002F). We extend our gratitude to the open-source community for their valuable contributions!\n\n## 🔗 Citation\n```\n@misc{wang2026reactivegwmsteeringnpcreactive,\n      title={ReactiveGWM: Steering NPC in Reactive Game World Models}, \n      author={Zeqing Wang and Danze Chen and Zhaohu Xing and Zizhao Tong and Yinhan Zhang and Xingyi Yang and Yeying Jin},\n      year={2026},\n      eprint={2605.15256},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2605.15256}, \n}\n```\n","ReactiveGWM是一个用于在游戏中生成玩家与NPC之间动态交互的游戏世界模型。该项目通过将玩家操作以轻量级加性偏差的形式注入扩散模型骨架中，并利用跨注意力模块来实现NPC的高级策略（如进攻、控制和防御），从而实现了玩家控制与NPC自主性的解耦。这种设计使得ReactiveGWM能够学习到一种与游戏无关的互动逻辑表示，支持零样本策略迁移至不同游戏的基本世界模型而无需重新训练。适合于需要增强非玩家角色反应性和策略多样性的游戏开发场景，特别是在格斗类游戏中表现尤为突出，例如项目示例中的《街头霸王2》和《街头霸王Alpha 3》。",2,"2026-06-11 03:59:09","CREATED_QUERY"]