Table of Contents
Fetching ...

Learning to Move Like Professional Counter-Strike Players

David Durst, Feng Xie, Vishnu Sarukkai, Brennan Shacklett, Iuri Frosio, Chen Tessler, Joohwan Kim, Carly Taylor, Gilbert Bernstein, Sanjiban Choudhury, Pat Hanrahan, Kayvon Fatahalian

TL;DR

The paper tackles the challenge of producing human-like, team-based movement for FPS bots under real-time server budgets. It introduces MLMove, a transformer-based movement controller trained on the CSKnow dataset of professional CS:GO play, achieving sub-millisecond per-step inference on CPUs and outperforming rule-based and commercial bots in human-likeness. The study provides quantitative metrics, including Earth Mover's Distance and flanking/spreading configurations, showing MLMove closely matches human play in both positioning and teamwork, validated by a human user study with TrueSkill improvements. The work suggests a practical, generalizable approach for realistic bot behavior in commercial FPS games and outlines avenues for extending to more maps and actions.

Abstract

In multiplayer, first-person shooter games like Counter-Strike: Global Offensive (CS:GO), coordinated movement is a critical component of high-level strategic play. However, the complexity of team coordination and the variety of conditions present in popular game maps make it impractical to author hand-crafted movement policies for every scenario. We show that it is possible to take a data-driven approach to creating human-like movement controllers for CS:GO. We curate a team movement dataset comprising 123 hours of professional game play traces, and use this dataset to train a transformer-based movement model that generates human-like team movement for all players in a "Retakes" round of the game. Importantly, the movement prediction model is efficient. Performing inference for all players takes less than 0.5 ms per game step (amortized cost) on a single CPU core, making it plausible for use in commercial games today. Human evaluators assess that our model behaves more like humans than both commercially-available bots and procedural movement controllers scripted by experts (16% to 59% higher by TrueSkill rating of "human-like"). Using experiments involving in-game bot vs. bot self-play, we demonstrate that our model performs simple forms of teamwork, makes fewer common movement mistakes, and yields movement distributions, player lifetimes, and kill locations similar to those observed in professional CS:GO match play.

Learning to Move Like Professional Counter-Strike Players

TL;DR

The paper tackles the challenge of producing human-like, team-based movement for FPS bots under real-time server budgets. It introduces MLMove, a transformer-based movement controller trained on the CSKnow dataset of professional CS:GO play, achieving sub-millisecond per-step inference on CPUs and outperforming rule-based and commercial bots in human-likeness. The study provides quantitative metrics, including Earth Mover's Distance and flanking/spreading configurations, showing MLMove closely matches human play in both positioning and teamwork, validated by a human user study with TrueSkill improvements. The work suggests a practical, generalizable approach for realistic bot behavior in commercial FPS games and outlines avenues for extending to more maps and actions.

Abstract

In multiplayer, first-person shooter games like Counter-Strike: Global Offensive (CS:GO), coordinated movement is a critical component of high-level strategic play. However, the complexity of team coordination and the variety of conditions present in popular game maps make it impractical to author hand-crafted movement policies for every scenario. We show that it is possible to take a data-driven approach to creating human-like movement controllers for CS:GO. We curate a team movement dataset comprising 123 hours of professional game play traces, and use this dataset to train a transformer-based movement model that generates human-like team movement for all players in a "Retakes" round of the game. Importantly, the movement prediction model is efficient. Performing inference for all players takes less than 0.5 ms per game step (amortized cost) on a single CPU core, making it plausible for use in commercial games today. Human evaluators assess that our model behaves more like humans than both commercially-available bots and procedural movement controllers scripted by experts (16% to 59% higher by TrueSkill rating of "human-like"). Using experiments involving in-game bot vs. bot self-play, we demonstrate that our model performs simple forms of teamwork, makes fewer common movement mistakes, and yields movement distributions, player lifetimes, and kill locations similar to those observed in professional CS:GO match play.
Paper Structure (18 sections, 8 figures, 3 tables)

This paper contains 18 sections, 8 figures, 3 tables.

Figures (8)

  • Figure 1: The learned movement model. (a) shows an overview of the two stages: (1) the per-player embedding stage converts the input tokens into embedded tokens, and (2) the transformer encoder uses the embedded tokens to predict the movement commands. (b) shows the per-player embedding stage that converts each player input token to three embedded tokens using a three layer MLP. (c) shows the transformer encoder that uses the embedded tokens and the associated masks to predict each player's movement command probabilities.
  • Figure 2: MLMove Architecture:MLMove uses the learned movement model to generate movement commands, then it uses a rule-based execution module to convert these commands into keyboard actions and also to generate aiming and firing commands. CS:GO server executes all player commands and sends the updated game state back to the bot.
  • Figure 3: CSKnow is a diverse dataset of 123 hours of professional CS:GO play. (a) Density of player positions at the start of each round. Players start in a wide range of positions. (b) Density of player positions throughout the entire round. Players visit all areas of the map. (c)-(d) Rounds start with different numbers of offense and defense players, and can end almost immediately or last until the explosion (e). Note: (a)-(b) graphs are log scale, (c)-(e) graphs are linear scale.
  • Figure 4: Human evaluators consistently rated MLMove's behavior as more human than RuleMove and GameBot.
  • Figure 5: Median and IQR counts of rounds where at least one defensive player makes one of two common positioning mistakes (leaving high ground and leaving an established defensive position). MLMove makes these mistakes far less often than GameBot and RuleMove.
  • ...and 3 more figures