{"slug": "how-krafton-built-pubg-ally-a-co-playable-character-powered-by-nvidia-ace", "title": "How KRAFTON Built PUBG Ally, a Co-Playable Character Powered by NVIDIA ACE", "summary": "KRAFTON built PUBG Ally, a co-playable character powered by NVIDIA ACE, for PUBG: BATTLEGROUNDS. The AI teammate uses automatic speech recognition, a 2B-parameter small language model, and text-to-speech to understand player voice, reason through game context, and respond in real time. PUBG Ally entered public beta on June 17 and will be available in Arcade Mode until June 30.", "body_md": "AI companions in games have long been constrained by scripted behavior trees and fixed dialogue. *PUBG* Ally is a different kind of system. Built by KRAFTON for *PUBG: BATTLEGROUNDS*, this AI teammate is powered by NVIDIA ACE and its suite of efficient models and tooling.\n\nPUBG Ally uses automatic speech recognition, a 2B-parameter small language model, and text-to-speech to understand player voice, reason through game context and dynamic events, and respond in real time.\n\nKRAFTON is calling the result a co-playable character (CPC): a new category distinct from non-playable characters (NPCs), designed to cooperate, adapt, and remember across sessions.\n\n[ PUBG Ally entered public beta on June 17](https://www.nvidia.com/en-us/geforce/news/pubg-ally-ai-teammate-beta-available-now) and will be available in\n\n*PUBG: BATTLEGROUNDS*Arcade Mode for gamers until June 30th. We sat down with the\n\n*PUBG*Ally team to go deep on the architecture, the latency challenges, the multilingual support, and what they learned building and tuning an AI system whose outputs aren’t deterministic.\n\n**What is your professional background and current job role at KRAFTON?**\n\nOur names are Hyunseung Kim, research lead, and Yujeong Son, project manager, at KRAFTON. We are part of the *PUBG* Ally team, focused on researching and developing AI-driven technologies that enhance the *PUBG* player experience.\n\n**KRAFTON has framed *** PUBG* Ally as a co-playable character, distinct from a traditional NPC. What does that distinction mean in practice, and why was *PUBG: BATTLEGROUNDS* the right title to introduce it?\n\n*PUBG*Ally as a co-playable character, distinct from a traditional NPC. What does that distinction mean in practice, and why was\n\n*PUBG: BATTLEGROUNDS*the right title to introduce it?\n\n*PUBG* Ally is more than a traditional NPC. Conventional NPCs typically operate through scripted behaviors and predefined dialogue trees, which limits how naturally they can respond to players or adapt to unexpected situations. In contrast, we see *PUBG* Ally as a CPC—a new type of AI teammate designed to participate in gameplay alongside the player.\n\nPowered by [NVIDIA ACE](https://developer.nvidia.com/ace-for-games) and an on-device small language model specialized for games, Ally understands player intent through natural voice interaction, interprets the current gameplay situation, and responds dynamically in real time. Ally can cooperate with players, adapt its behavior based on combat or looting situations, and communicate naturally during gameplay.\n\nThe goal was to create an AI companion that feels closer to a real squadmate than a conventional bot.\n\nWe believed *PUBG: BATTLEGROUNDS* was the ideal title to introduce this concept because *PUBG*’s gameplay is heavily driven by teamwork, communication, and unpredictable emergent situations. In a battle royale environment, players constantly make tactical decisions under pressure; sharing items, coordinating movement, reviving teammates, rotating vehicles, or reacting to sudden combat encounters. These kinds of dynamic interactions create a strong environment for a CPC to explore meaningful cooperation and contextual understanding in ways that traditional NPC systems can’t.\n\n**Walk us through the technical architecture of *** PUBG* Ally. The interactive pipeline combines automatic speech recognition, a small language model, and text-to-speech through NVIDIA ACE. How is that pipeline structured, and how do those components work together in a live match?\n\n*PUBG*Ally. The interactive pipeline combines automatic speech recognition, a small language model, and text-to-speech through NVIDIA ACE. How is that pipeline structured, and how do those components work together in a live match?\n\nAt a high level, the pipeline turns two inputs—the player’s voice and the live game state —into two outputs: Ally’s speech and its in-game actions. NVIDIA ACE and custom AI models run on-device: NVIDIA automatic speech recognition (ASR), NVIDIA small language model (SLM), and a custom in-house text-to-speech (TTS) model. Around them sit our own agent harness and the game-side integration.\n\nEverything reaching the model is text. When the player speaks, ASR transcribes the utterance. In parallel, the game engine exposes the live match state, which the agent reads through observation tools as plain-text descriptions. So on each turn the SLM works from a transcribed request together with a textual view of what is happening in the match.\n\nThe SLM is the decision core. It runs an event-driven loop, triggered either by the player speaking or by a game event, observes what it needs, and produces two kinds of output. Speech is passed to TTS and played back as Ally’s voice; game actions are handed to the game side, where a behavior tree executes them and handles the fast, reactive gameplay that shouldn’t wait on language reasoning. All of this runs locally and continuously through the match, so the player can talk to Ally naturally while Ally also speaks and acts on its own when the situation calls for it.\n\n**Why a small language model rather than a larger cloud-hosted LLM? What did running the Mistral-NeMo-Minitron-2B on-device give you in terms of latency, hardware reach, and player experience?**\n\nFor *PUBG* Ally, our priority was to create an AI teammate that could respond at the speed of gameplay. In a real-time game like *PUBG: BATTLEGROUNDS*, even a small delay can change how natural or useful an interaction feels. When we tested cloud-hosted LLM approaches, the combination of network latency and model inference latency often made responses feel too slow for live squad communication.\n\nThat was one of the key reasons we chose an on-device small language model. Running Mistral-NeMo-Minitron-2B locally removed the network round-trip and gave us far more predictable response times during gameplay. This mattered in user testing: players consistently valued the SLM’s responsiveness and sense of presence. *PUBG* Ally felt immediately available in the moment, which in this context matters more than broad general-purpose reasoning alone.\n\nOn-device deployment also came with a hard constraint. *PUBG* is a graphically rich title that already consumes a significant share of GPU memory, so the VRAM available to an AI companion is limited. At 2B parameters, Mistral-NeMo-Minitron-2B was already a compact starting point with strong instruction-following quality, and we further quantized it for client-side deployment. The quantized model fits within the VRAM headroom that remains after *PUBG*, allowing *PUBG* Ally to run on GPUs with as little as 8GB of total VRAM. This keeps the experience, in its initial English service, accessible to players with supported NVIDIA hardware rather than gated behind enthusiast-tier GPUs.\n\n**Latency is everything in a battle royale. What specific techniques did your team apply to keep the round trip from voice input to spoken response fast enough for real-time combat, and where did you spend the most engineering effort?**\n\nLatency was one of the biggest design constraints for *PUBG* Ally: both conversation and in-game actions have to happen in real time. Since the experience runs on-device, we optimized the small language model’s inference cost and the separation between fast actions and language reasoning.\n\nOn the model side, we designed the prompt structure to make the best use of the KV cache. Stable instructions and gameplay context are kept as consistent as possible across turns, while only the most relevant real-time information is updated each turn. This reduces redundant computation and makes on-device response times more predictable.\n\nOn the architecture side, we didn’t want every in-game reaction to wait on language reasoning. We treat this as a System 1 / System 2 problem, analogous to the fast, instinctive responses and the slower, deliberate reasoning in human decision-making. A System 1 layer, implemented as a behavior tree, handles fast, reactive gameplay such as movement, aiming, and immediate combat responses at game tick rate. A System 2 layer, the language model, handles the deliberate work: interpreting player intent, coordinating with the player, and generating natural speech. Reflex-level actions never have to wait for the model.\n\nA significant amount of engineering effort went into defining the boundary between those two layers, deciding what should be handled immediately by the System 1 gameplay layer and what should be routed through the System 2 language model. Getting that division right was essential to making *PUBG* Ally feel responsive enough for combat while preserving the flexibility and naturalness of an AI teammate.\n\n*PUBG* Ally understands *PUBG*-specific terminology, maps, items, and weapon attributes. How did your team approach that domain adaptation, and how do you keep Ally’s responses grounded in actual game state rather than freely generated text?\n\n*PUBG*Ally understands\n\n*PUBG*-specific terminology, maps, items, and weapon attributes. How did your team approach that domain adaptation, and how do you keep Ally’s responses grounded in actual game state rather than freely generated text?\n\nWe approached this in two steps. The first was simply deciding what not to handle. Rather than asking the model to cope with every possible *PUBG* scenario, we constrained the world: a single map, Sanhok, and a single mode, AI Duo, with a fixed item taxonomy that defines what Ally can use, what it can recognize but not use, and what doesn’t exist in this context. Working within a closed world made everything downstream far more tractable.\n\nFrom there, we built a deterministic *PUBG* specification— and placed it in a larger teacher model’s system prompt: Sanhok landmarks, item and weapon knowledge, and a clear account of what Ally can actually do. The teacher used it to produce grounded responses, demonstrating both the right *PUBG* terminology and style and its own limits, including when to reach for an external source by calling a knowledge-lookup tool backed by a curated dictionary of weapons, attachments, items, and rules. We distilled all of that into the on-device student model, so those behaviors became the student’s own rather than a set of instructions.\n\nKeeping Ally grounded in live game state is a separate problem, and we handle it agentically. Rather than dumping the entire match state into the model’s context every turn, Ally decides what it needs to know and fetches only that through tool calls. The agent has a set of observation tools: its own status, the teammate, nearby items, the combat situation. Each returns a plain-text view of its slice of authoritative engine data, such as: “You are armed with M416, 24/30 bullets in the magazine. HP 78%, inside the safe zone.” The system prompt establishes that these tool results are the only ground truth for the current match, and during distillation the teacher reinforced the habit of re-observing through tools rather than recalling from earlier turns, a discipline the student model absorbed as its own. So even as the game changes fast, Ally’s factual claims trace back to a value it deliberately pulled from the engine moments earlier, not to something the model guessed.\n\n*PUBG* Ally supports English, Korean, and Chinese. What did multilingual support add to the engineering challenge, and how did you balance quality across languages?\n\n*PUBG*Ally supports English, Korean, and Chinese. What did multilingual support add to the engineering challenge, and how did you balance quality across languages?\n\nMultilingual support adds complexity because *PUBG* communication isn’tjust standard language. Players use short commands, slang, abbreviations, item names, map callouts, and culturally specific expressions, especially in fast combat situations.\n\nTo address this, we built language-specific data by researching how *PUBG* players actually communicate in English, Korean, and Chinese communities. We also worked with language experts to review quality, naturalness, and gameplay appropriateness across each language.\n\nBeyond linguistic review, we validated the experience through playtests and user surveys. We compared whether players in each language felt a similar level of responsiveness, usefulness, and teammate-like behavior. Our goal was to make *PUBG* Ally feel equally natural and consistent for players in each supported language.\n\n**At CES 2026, KRAFTON showed *** PUBG* Ally with long-term memory, letting Ally recall prior matches and reference past events in conversation. What did adding memory unlock for the gameplay experience, and how is it implemented?\n\n*PUBG*Ally with long-term memory, letting Ally recall prior matches and reference past events in conversation. What did adding memory unlock for the gameplay experience, and how is it implemented?\n\nAlly’s memory is structured, and it operates on two timescales. Long-term memory carries across matches. It holds a profile of who the player is — their name, preferred weapons, favorite drop locations, and personal details they have shared with Ally — alongside a record of prior matches with that player, including final placements and notable moments. Short-term memory is the within-match context: the player’s recent speech and what has just happened in the current game.\n\nThe clearest signal came from player comments after playtests. One player asked Ally to look out for a Beryl in the first match, and from the next match onward Ally started finding it without being asked. Another told Ally their name once, and Ally was already using it in the next match. Several players described Ally remembering their preferred weapons and favorite drop locations across matches and bringing them up on its own. These were the moments that turned Ally from a per-match assistant into a teammate players treated as ongoing.\n\n**Ally can request items, assist with revives and make autonomous decisions during looting and combat. How does the SLM connect to the game’s action system, and how do you keep Ally’s decisions feeling like a teammate rather than a scripted bot or an unpredictable agent?**\n\nAlly decides what to do through an agentic loop. On each event, the agent observes the parts of the environment it needs, checks which actions are actually available in the current game state, and chooses an action based on its communication with the player. The action Ally takes follows from what the player is asking for and what the situation allows. We found this observe → check availability → decide loop to be central to making Ally feel like a teammate rather than a scripted bot.\n\nMaking those decisions feel natural came down to data. We collected a large and diverse set of real user requests and in-game conversations, and trained the SLM to generate the appropriate behavior for each. Just as importantly, we used feedback from real player sessions to iteratively remove the moments that felt awkward or uncomfortable. So Ally’s sense of timing and judgment is learned from how players actually played with it, not from abstract preference data, which is what helps its behavior feel less rigid or unpredictable.\n\n**What did the iteration loop look like? How do you test and tune an AI teammate whose outputs aren’t deterministic, especially in a competitive multiplayer game where consistency matters?**\n\nTesting an AI teammate is very different from testing a chatbot or a standalone model. Ultimately, our goal is to build a good AI teammate, but defining “good” is not simple. For us, a good teammate is one that players feel is useful, timely, and reliable during a real match. In that sense, User Experience is the most important signal, but it is also the hardest thing to evaluate directly.\n\nThat is why our tuning process combined multiple evaluation layers. We used automated evaluations to check whether Ally followed the expected interaction protocol, used available tools properly, and kept its speech and actions consistent. We then compared candidate models through live playtests and A/B tests, using surveys and free-form feedback to understand what players actually noticed and cared about. Finally, we validated selected models through large-scale playtests, refining Ally with play feedback from over a thousand real players.\n\nThe most important part was feeding player signals back into the evaluation loop as User Experience signals. Player feedback helped us understand where Ally failed, as well as what players liked, disliked, and valued in an AI teammate. We used those preferences to refine our evaluation criteria and guide further tuning. Thanks to *PUBG* QA and large-scale playtests, we could combine expert gameplay stress tests with broader feedback from real players.\n\n*PUBG* Ally launches as a limited playtest in *PUBG: BATTLEGROUNDS* Arcade. What are you most hoping to learn from players in that first window, and how can the community get involved?\n\n*PUBG*Ally launches as a limited playtest in\n\n*PUBG: BATTLEGROUNDS*Arcade. What are you most hoping to learn from players in that first window, and how can the community get involved?\n\nAs *PUBG* Ally’s first beta release, we know there will be areas that need improvement. However, we also believe Ally will bring a fresh layer of gameplay to *PUBG*.\n\nWhat we’re most excited to learn is how players choose to use Ally in real matches, whether they discover creative strategies, develop new ways to cooperate with teammates, or simply find unexpected moments of fun. We see this playtest as an opportunity to better understand how Ally fits into the existing *PUBG* experience and what kinds of new gameplay possibilities it can unlock.\n\nThe playtest is now available in Arcade Mode for two weeks starting with the June 17 update and ending on June 30. Players can participate in the playtest through Ally Duo menu in Arcade Mode. We encourage everyone to jump in, experiment with Ally, and share their feedback with us. Your experiences and insights will play a key role in helping us shape the future of the feature.\n\n**What advice would you give to other studios looking to build their first AI-powered companion or teammate using NVIDIA ACE?**\n\nFor a CPC, what you are really building toward is the player’s experience: whether the companion feels like a good teammate. That is hard to judge from offline metrics or a small internal team alone. So the loop that mattered most was simple: develop a fast prototype, put it in front of a large number of real players, and improve the model from their feedback, then repeat. Each turn through that cycle taught us more about what “a good teammate” actually means than any amount of upfront design could. If we could give just one piece of advice, it would be to get that loop running early, and to keep it cheap enough to run often.\n\n**Looking ahead, where do you see CPCs going next? More autonomy, multi-agent cooperation between Allies, richer sensory inputs?**\n\nFor us, the most important next step is discovery. Through the arcade mode, we want to learn how players actually want to enjoy the game when they have an AI feature like Ally playing alongside them, and use what we find to prepare genuinely new kinds of fun for the game.\n\nA CPC can understand a player and adapt to them in ways a scripted system never could, so the space of what might be possible is broad. The arcade playtest is our first real chance to see which of those possibilities players gravitate toward, and to let that shape what we build next.\n\n**Get started with NVIDIA ACE**\n\nWe’re excited to collaborate with KRAFTON on *PUBG* Ally and see the CPC concept enter public beta. If you’re building AI-driven game characters, get started with [NVIDIA ACE](https://developer.nvidia.com/ace), a suite of on-device and cloud AI models for speech, intelligence, and animation.\n\n**Resources for game developers**\n\nSee our full list of game developer resources [here](https://developer.nvidia.com/game-development) and follow us to stay up to date with the latest NVIDIA game development news:\n\n- Follow us on social:\n[X](https://x.com/NVIDIAGameDev),[LinkedIn](https://www.linkedin.com/showcase/nvidia-game-developer/),[Facebook](https://www.facebook.com/NVIDIAGameDev/), and[YouTube](https://www.youtube.com/@NVIDIAGameDeveloper/) - Join our\n[Discord community](https://discord.com/invite/nvidiadeveloper)", "url": "https://wpnews.pro/news/how-krafton-built-pubg-ally-a-co-playable-character-powered-by-nvidia-ace", "canonical_source": "https://developer.nvidia.com/blog/how-krafton-built-pubg-ally-a-co-playable-character-powered-by-nvidia-ace/", "published_at": "2026-06-25 16:38:18+00:00", "updated_at": "2026-06-25 16:59:57.106076+00:00", "lang": "en", "topics": ["large-language-models", "ai-agents", "natural-language-processing", "ai-products", "ai-infrastructure"], "entities": ["KRAFTON", "PUBG: BATTLEGROUNDS", "NVIDIA ACE", "PUBG Ally", "Hyunseung Kim", "Yujeong Son"], "alternates": {"html": "https://wpnews.pro/news/how-krafton-built-pubg-ally-a-co-playable-character-powered-by-nvidia-ace", "markdown": "https://wpnews.pro/news/how-krafton-built-pubg-ally-a-co-playable-character-powered-by-nvidia-ace.md", "text": "https://wpnews.pro/news/how-krafton-built-pubg-ally-a-co-playable-character-powered-by-nvidia-ace.txt", "jsonld": "https://wpnews.pro/news/how-krafton-built-pubg-ally-a-co-playable-character-powered-by-nvidia-ace.jsonld"}}