PUBG Ally: A Conversational Embodied Agent as an AI Teammate
Beomsoo Kim, Byeongju Kim, Dohyun Kim, Dongwon Kim, Eunchong Kim, Hongmin Kim, Hyeojung Im, Hyeonbin Hwang, Hyeonghwan Kim, Hyoseok Seol, Insub Im, Irene Chen, Jaeseung Jeon, Jimin Hong, Kiyoon Yoo, Minkyoung Park, Seohyeon Jung, Seungjun Chung, Sue Hyun Park, Sungwoo Kim, Youngin Cho, Yujeong Son, Kangwook Lee, Hyunseung Kim
cs.AI, cs.CL, cs.HC
2026-09-24
PUBG Ally pairs an event-driven LM with a behavior tree as an on-device duo teammate. A 2B student trained on ~39k sessions posts +25.1 pp net recommend; combat skill is 2.58/5.
Most game agents are built to win alone. PUBG Ally has to sit in the duo seat: hear the partner, shoot, loot, smoke a revive, and keep speech aligned with what it is actually doing. A late reply throws the fight. A cloud model adds round trips. A tiny on-device model usually cannot play teammate.
The setting is Sanhok duos, English / Korean / Chinese, push-to-talk. Two layers. System 2 is a language model woken by events such as player speech, knockdowns, and the closing circle. It uses 16 tools to inspect state, look up knowledge, speak, and dispatch high-level actions, with a context budget of about 5,000 tokens. A compact call carries unfinished work into the next loop. System 1 is a behavior tree evaluated every tick for movement, combat, and recovery, so motor control continues while the LM thinks.
Data came from 28 days in a Korean PC bang: 1,046 players, 38,956 matches, 14.1 minutes and 59 trajectories per match on average. Gemma 4 31B collected the first rollouts after GEPA prompt optimization. Once students played, the teacher rewrote full trajectories from student-visited prefixes, in the spirit of DAgger. The corpus starts at 464K teacher examples and adds 313K corrections. Training is three stages: hard-label SFT of an 8B intermediate teacher, distillation into a 2B student, then on-policy distillation on student-generated tool traces. Locales: Mistral-NeMo-Minitron 8B→2B (English), Kanana 1.5 (Korean), Qwen3-8B→1.7B (Chinese).
Safety treats in-game combat slang as playable by default and intercepts hate aimed at real people. A runtime filter sits on the speak tool. The model can flag sensitive input so it never enters memory.
On the capability suite, the distilled 2B student's confidence intervals overlap the 31B teacher: Fact 0.932 vs 0.944, Event 0.954 vs 0.952, Intent 0.953 vs 0.960, Cmd 0.876 vs 0.889, Traject 0.902 vs 0.910. The untuned 2B backbone scores 0.431 on Traject.
On harmful inputs, final models reach 98.3–99.4% harmless on public sets and 84.1–99.0% on production-like dialogues; over-refusal is 2.2–6.1%. Histories where the safety boundary is already broken remain the weak spot at 63.6% harmless. On RTX 4060-class GPUs a spoken exchange is about 1.6s on-device versus 3.4s in the cloud; LM medians 0.80s vs 2.54s. Prefix KV reuse is 90.7%. Locale footprints are about 1.6–2.1 GB.
A two-week live beta reached 141 countries. Among respondents with a logged Ally match, recommenders beat detractors by 25.1 percentage points. Combat skill is 2.58/5, the weakest gameplay item. 50% framed Ally as a tool, 18.5% as a teammate, 31.5% as a companion. In PC-bang A/B, on-device v1 beat the cloud model 69.5% to 18.8%; the authors attribute that to cloud slowdowns. A latency-matched retest favored the cloud model 52.4% to 31.1%.
This is a rare full report of a conversational embodied teammate shipped in a commercial battle royale, with on-device inference. The reusable pieces are event wakeups, a bounded tool surface, a behavior-tree motor layer, and an eval suite retuned from player A/B. Combat skill is still weak. The product sells responsiveness and company, not a replacement IGL.
One map, one duo mode. Capability scores come from LLM judges. Production-dialogue safety intervals are ±5.4 pp. The live survey is opt-in. Cross-match memory and revives were praised and also called inconsistent in free text. Knockdown rescue still hesitates.