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.
                    
                
