MLMove
Learning to Move Like Professional Counter-Strike Players
David Durst,
Feng Xie,
Vishnu Sarukkai,
Brennan Shacklett,
Iuri Frosio,
Chen Tessler,
Joohwan Kim,
Carly Taylor,
Symposium on Computer Animation (SCA), 2024
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.
MLMove Examples
We introduce MLMove, a bot for playing CS:GO Retakes that features a movement controller
trained on logs from 123 hours of professional human play. The controller generates movement
actions for both teams of players in 0.5 ms (amortized per-step cost) on a single CPU core.
Below are examples of MLMove's human-like movement.
Human-Like Movement 1: Flanking
Human-Like Movement 2: Reacting To Enemies
Human-Like Movement 3: Using Cover
Helping Teammates by Combining Flanking, Reacting To Enemies, and Using Cover
Overall Movement Distribution
MLMove and Human Gameplay Example
Download the supplemental material for videos comparing the behavior of humans,
MLMove, RuleMove, and GameBot in the same scenarios.
Full Dataset Download Instructions
We recommend starting with the sample dataset, which is 4% of the full dataset.
The full dataset is large (30GB compressed, 230GB uncompressed).
The requestor pays for downloading the full dataset. To download it:
- Create an AWS account.
- Install the AWS CLI.
- Download the dataset: aws s3api get-object --bucket csknow-full --key full_csknow.tar.gz full_csknow.tar.gz
Offense vs Defense
MLMove vs CSKnow
MLMove is our CS:GO agent with a learned movement model. CSKnow is our dataset curation system.