--- title: Multics Multiplayer Video emoji: ๐ŸŽฎ colorFrom: gray colorTo: green sdk: gradio sdk_version: 6.30.0 app_file: app.py short_description: 4-player interactive video world model python_version: "3.12" startup_duration_timeout: 1h --- # Multics ยท Generative Multi-Player Video World Model Demo Space for **[TencentARC/Multics](https://huggingface.co/TencentARC/Multics)** โ€” a hierarchical multi-player video world model (Wan2.2-TI2V-5B backbone) that renders one synchronous 4-player Counter-Strike-style clip from per-player first frames, captions, and real in-game action/camera tick logs. Project page / code: [github.com/TencentARC/Multics](https://github.com/TencentARC/Multics). ## What the demo does - **Bundled scenes** โ€” the authors' five 4-player example scenes ship with the Space (`examples/4players/4_01` โ€ฆ `4_05`), each containing per-player first frames, the original 64 Hz tick logs (keyboard/mouse actions + camera poses), and the grouping state. Picking a scene replays it: the tick logs drive each player's actions and camera, and pose-based grouping decides which players share a local hub. Non-empty captions override the scene's own captions. - **Custom mode** โ€” upload four first frames and per-player captions. There are no tick logs for custom content, so the demo uses zero actions, identity cameras (static view), and a fixed 2+2 grouping (players 1+2 and 3+4 share a local hub), which stays well inside the model's communication budget for 4 players. - Output is a 165-frame (~8 s at 20 fps) 352ร—640-per-player 4-up grid video. ## Heavy job โ€” PRO needed One generation runs ~1.4k forward passes of the ~5B DiT (50 steps ร— 14 latent blocks ร— 2 CFG passes + context recaches) and takes several minutes of GPU time. It exceeds the free ZeroGPU daily quota; a PRO account is needed to run it. Reduce *Inference steps* in Advanced options for faster (lower-quality) runs. ## Implementation notes / deviations from the reference config The Space vendors the model's inference package (`multics/`) and follows the authors' `inference.py` load path (pipeline โ†’ `enable_stage2` โ†’ `build_dit` โ†’ strict checkpoint load). Two attention settings differ from `configs/inference.yaml` to stay ZeroGPU-compatible: - `attn_impl: sdpa` instead of `flex` (flex requires `torch.compile`, unsupported on ZeroGPU; the flex block-mask is bypassed during cached inference anyway). - `WAN_HIER_INFER_KERNEL: packed_varlen` instead of `paged_kv` (paged_kv needs flashinfer; packed_varlen implements the same hierarchical packing on the native torch varlen flash-attention op). ## Example-content credit The bundled example frames and tick logs are from the [Multics repository](https://github.com/TencentARC/Multics) (ยฉ Multics authors). The demo content derives from the OpenCS2 dataset. See that repo for license and attribution details.