Server-Side Verification of Client Behavior In

Total Page:16

File Type:pdf, Size:1020Kb

Server-Side Verification of Client Behavior In Server-side Verification of Client Behavior in Online Games Darrell Bethea Robert A. Cochran Michael K. Reiter University of North Carolina at Chapel Hill {djb,rac,reiter}@cs.unc.edu Abstract operators are not the only ones for whom the stakes are high. Hoglund and McGraw [18] argue that “games are a Online gaming is a lucrative and growing industry, but harbinger of software security issues to come,” suggesting one that is slowed by cheating that compromises the gaming that defenses against game cheats and game-related security experience and hence drives away players (and revenues). problems will be important techniques for securing future In this paper we develop a technique by which game de- massive distributed systems of other types. velopers can enable game operators to validate the behav- In this paper, we develop an approach to detect a signifi- ior of game clients as being consistent with valid execu- cant class of cheats in which a player changes a game client tion of the sanctioned client software. Our technique em- to allow behaviors that a sanctioned game client would not ploys symbolic execution of the client software to extract allow; to accomplish this, the player might modify the client constraints on client-side state implied by each client-to- executable or in-memory data structures of a running client, server message, and then uses constraint solving to deter- for example. Today, the most robust defense against such mine whether the sequence of client-to-server messages can client modification is to maintain authoritative state at the be “explained” by any possible user inputs, in light of the server, beyond the reach of direct manipulation by cheaters. server-to-client messages already received. The requisite This, however, exacts a heavy price from game operators, constraints and solving components can be developed ei- owing to the increased bandwidth use that results due to ther simultaneously with the game or retroactively for ex- sending low-level client events (in the limit, every player in- isting games. We demonstrate our approach in two case put) to the server for accessing such state and conveying the studies: one of the open-source game XPilot, and one of a effects back to clients. As bandwidth is one of the largest game similar to Pac-Man of our own design. costs for large-scale game operators [29] and also a recur- ring one, this tension between bandwidth use and cheat pre- vention is problematic: 1 Introduction In the US and European markets, a good goal to shoot for is 4-6 kilobits per second (kps)/player Multi-player online games are very popular and prof- or less. ... If you can get the bit rate down to itable, and are growing more so. Since 1996 the computer 2kps, you’re “golden.” It’s hard to see how that game industry has quadrupled — in 2008 alone, worldwide can happen, however, without putting dangerous video-game software sales grew 20 percent to $32 billion amounts of data directly into the client, which is [26]. Estimates place revenue from online games at $11 bil- just asking for trouble from talented cheaters and lion, with games such as World of Warcraft, which has more hackers. [29, p. 112] than 10 million subscribers worldwide, bringing in around The movement of games to all manners of devices using $1 billion in revenue for parent company Blizzard Enter- wireless, volume-priced communication only reinforces the tainment [1, 34]. importance of keeping bandwidth utilization to a minimum. Since its inception, the online game industry has been Moreover, even with the amount of detailed client infor- plagued by cheating of numerous types, in some cases with mation collected at the server, server-side checking today financial repercussions to the game operator. Age of Em- is heuristic (and thus potentially incomplete) and manually pires and America’s Army are examples of online games programmed (and thus effort-intensive): that suffered substantial player loss due to cheating [33], and for subscription games, player loss translates directly Players love to cheat — especially in online to a reduction in revenues. And game developers and games ... be ready to add server-side support to prevent user cheating with methods that you were as guidance for game developers who are considering using not able to predict. [17] this technique for detecting cheating in their games. In this paper we demonstrate a technique to detect any type of cheating that causes the client to exhibit behavior, as 2 Related Work seen by the server, that is inconsistent with the sanctioned client software and the game state known at the server. That Detecting the misbehavior of remote clients in a client- is, our approach discerns whether there was any possible server application is an area that has received considerable sequence of user inputs to the sanctioned client software attention. One strategy, of which ours is a special case, is to that could have given rise to each message received at the construct a model of proper client behavior against which server, given what the server knew about the game client actual client behaviors are compared. Giffin et al. [14] de- based on previous messages from the client and the mes- veloped such an approachfor validating remote system calls sages the server sent to the client. In doing so, our approach back to the home server from computations outsourced to remedies the previously heuristic and manual construction (potentially untrusted) worker machines. In that work, re- of server-side checks. Moreover, our approach potentially mote system calls are compared to a control flow model enables new game designs that reduce bandwidth use by generated from the binary code of the outsourced compu- placing more authoritative state at the client, since our ap- tation, specifically either a non-deterministic finite-state au- proach verifies that the client’s behavior is consistent with tomaton or a push-down automaton that mirrors the flow of legal management of that state. While reducing the inter- control in the executable. A more recent example is work action with the client will generally increase the compu- by Guha et al. [16]: through static analysis of the client por- tational cost of our verification, the verification need not tion of Ajax web applications (HTML and JavaScript), their be done on the critical path of game play, and can be per- system constructs a control-flow graph for the client that de- formedselectively (e.g., only for suspected or winning play- scribes the sequences of URLs that the client-side program ers). Moreover, it can benefit from the dramatic growth of can invoke. Any request that does not conform to this graph inexpensive computing power (larger numbers of cores) in is then flagged as potentially malicious. game-operator server farms. The technique we develop here follows this paradigm. Our strategy exploits the fact that game clients are often We similarly use analysis (in our case, of source code) to structured as an event loop that processes user inputs, server develop a model of client behavior, against which inputs messages, or other events in the context of current game (messages from the client) are compared. The primary dif- state, and then sends an update to the server on the basis of ferentiator of our approach from previous works is sound- its processing. We symbolically execute the loop to derive ness: only sequences of client messages that could have ac- a predicate that characterizes the effects of the loop, and tually been produced through valid client execution, on the specifically the update sent to the server, as a function of inputs sent by the server, will be accepted. This precision its inputs and game state. By partially instantiating these is accomplished though our use of symbolic execution to predicates on the basis of the actual messages the server derive the complete implications of each message value to receives from a client and what the server previously sent the client-side state. While this would hardly be tractable to the client, a verifier can then use a constraint solver to for any arbitrary client-server application, the control-loop determine whether the resulting predicate is satisfiable. If structure of game clients and the frequent communication so, then this indicates that the messages are consistent with that is typically necessary for game play bounds the amount proper client execution — i.e., there were some user inputs of uncertainty that the verifier faces in checking the client’s that could have yielded these messages. messages. We demonstrate our approach with two case studies. In A different approach to protecting against client misbe- the first, we apply our technique to the open-source game havior in client-server settings is to ensure that clients man- XPilot. Because XPilot was developed as is commonplace age no authoritative state that could affect the server or the today, i.e., with low-level client events being sent to the larger application; as discussed in the introduction, this is server, this case study does not fully illustrate the strengths commonplace today for games. A recent system for imple- of our approach. However, it does demonstrate the (few) menting web applications to have this property is Swift [9], ways in which we found it necessary to adapt XPilot to for example. The extreme of this approach is for the client use our technique efficiently and to allow for the realities to simply forward all unseen inputs (e.g., user inputs) to the of modern gaming, such as message loss on the network. server, where a trusted copy of the client-side computation For the second case study, we use a game of our own de- acts on these inputs directly; e.g., this is implemented for sign that is similar to Pac-Man but that has features to bet- Web 2.0 applications in the Ripley system [35].
Recommended publications
  • What's an Agent, Anyway? a Sociological Case Study Leonard N
    What's An Agent, Anyway? A Sociological Case Study Leonard N. Foner Abstract. The term "agent" has been picked up, widely appropriated, and in many cases misappropriated, by technical publications, lay publi- cations, and many researchers in computer science. I examine some of the appropriations and misappropriations, talk about their reasons and implications, and delve into a case study of an agent that is used to il- lustratively define what I consider an agent to be, and why many of the current uses of the term are misleading. The agent I consider is Julia, a TinyMUD robot of the Maas-Neotek family, all of whom have been in almost constant use at several sites on the Internet for the last two or three years. I also speak at length about the sociology of such agents, what we might expect to find in the future, and why sociology is such an important aspect to consider when investigating agent-oriented pro- 1 gramming. Agents and appropriation There has been a flurry of references to "agents" in both the lay and technical press in recent months. While the idea of computational agents that do one’s bid- 2 ding goes back decades, the explosion of recent press has been astonishing. Pattie 3 Maes and her group’s work on learning interface agents has been cited in at least two dozen publications in the last year or so, many of them lay press (e.g., The Los Angeles Times, Mass High Tech or semi-technical press (e.g., MacWeek, Mac- World, etc). A symposium at MIT on agents and their programming, held in Octo- ber of 1992, drew at least a thousand participants.
    [Show full text]
  • Security in Online Gaming Bachelor Thesis Information Science
    RADBOUD UNIVERSITY NIJMEGEN Security in online gaming Bachelor Thesis Information Science Rens van Summeren January 26, 2011 Online gaming has gone through an explosive growth in popularity during the last decade, and continues to grow at a great speed. With this growth in popularity and thus in the amount of players, the need for security also becomes increasingly clear. This thesis aims to provide a definition of security in online gaming, as well as security analysis for the various threats with examples and countermeasures. The goal is to help players and game developers assess online gaming security, and inform security experts about existing issues. CONTENTS 1 Introduction ................................................................................................................................... 1 Definition ............................................................................................................................... 1 Preface .................................................................................................................................. 1 2 Online Gaming ............................................................................................................................... 2 2.1 Why Look at the Security of Online Games? ................................................................... 2 2.2 Types of Online Games and Business Models ................................................................. 2 2.3 Massive Multiplayer Online Games ................................................................................
    [Show full text]
  • System Tools Reference Manual for Filenet Image Services
    IBM FileNet Image Services Version 4.2 System Tools Reference Manual SC19-3326-00 IBM FileNet Image Services Version 4.2 System Tools Reference Manual SC19-3326-00 Note Before using this information and the product it supports, read the information in “Notices” on page 1439. This edition applies to version 4.2 of IBM FileNet Image Services (product number 5724-R95) and to all subsequent releases and modifications until otherwise indicated in new editions. © Copyright IBM Corporation 1984, 2019. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this manual 17 Manual Organization 18 Document revision history 18 What to Read First 19 Related Documents 19 Accessing IBM FileNet Documentation 20 IBM FileNet Education 20 Feedback 20 Documentation feedback 20 Product consumability feedback 21 Introduction 22 Tools Overview 22 Subsection Descriptions 35 Description 35 Use 35 Syntax 35 Flags and Options 35 Commands 35 Examples or Sample Output 36 Checklist 36 Procedure 36 May 2011 FileNet Image Services System Tools Reference Manual, Version 4.2 5 Contents Related Topics 36 Running Image Services Tools Remotely 37 How an Image Services Server can hang 37 Best Practices 37 Why an intermediate server works 38 Cross Reference 39 Backup Preparation and Analysis 39 Batches 39 Cache 40 Configuration 41 Core Files 41 Databases 42 Data Dictionary 43 Document Committal 43 Document Deletion 43 Document Services 44 Document Retrieval 44 Enterprise Backup/Restore (EBR)
    [Show full text]
  • Comparative Study of Anti-Cheat Methods in Video Games
    Comparative Study of Anti-cheat Methods in Video Games Samuli Lehtonen Master’s thesis UNIVERSITY OF HELSINKI Department of Computer Science Helsinki, March 7, 2020 HELSINGIN YLIOPISTO — HELSINGFORS UNIVERSITET — UNIVERSITY OF HELSINKI Tiedekunta — Fakultet — Faculty Laitos — Institution — Department Faculty of Science Department of Computer Science Tekijä — Författare — Author Samuli Lehtonen Työn nimi — Arbetets titel — Title Comparative Study of Anti-cheat Methods in Video Games Oppiaine — Läroämne — Subject Computer Science Työn laji — Arbetets art — Level Aika — Datum — Month and year Sivumäärä — Sidoantal — Number of pages Master’s thesis March 7, 2020 71 + 48 as appendices Tiivistelmä — Referat — Abstract Online gaming is more popular than ever and many video game companies are reliant on the cash flow generated by online games. If a video game company wants its game to be successful, the game has to be resilient against cheating, the presence of which can ruin an otherwise successful game. Cheating in a video game can bankrupt an entire company as the non-cheating players leave the game because of unscrupulous individuals using cheats to gain an unfair advantage. Cheating can also involve criminal activity where maliciously acquired in-game items are traded against real money online. Commercial cheat programs are sold on online black markets and are available even to players who have no deep technical knowledge. The widespread availability and easy accessibility of cheats compounds the issue. This thesis will categorize different anti-cheat techniques and give a brief history of anti-cheat starting from the early 1980s. The history section describes how the fight against online cheating began and how it has evolved over the years.
    [Show full text]
  • Adaptive Shooting for Bots in First Person Shooter Games Using Reinforcement Learning Frank G
    180 IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. 7, NO. 2, JUNE 2015 Adaptive Shooting for Bots in First Person Shooter Games Using Reinforcement Learning Frank G. Glavin and Michael G. Madden Abstract—In current state-of-the-art commercial first person late the most kills. Objective based games also exist where the shooter games, computer controlled bots, also known as non- emphasis is no longer on kills and deaths but on specific tasks player characters, can often be easily distinguishable from those in the game which, when successfully completed, result in ac- controlled by humans. Tell-tale signs such as failed navigation, “sixth sense” knowledge of human players' whereabouts and quiring points for your team. Two examples of such games are deterministic, scripted behaviors are some of the causes of this. We ‘Capture the Flag’ and ‘Domination’. The former involves re- propose, however, that one of the biggest indicators of nonhuman- trieving a flag from the enemies' base and returning it to your like behavior in these games can be found in the weapon shooting base without dying. The latter involves keeping control of pre- capability of the bot. Consistently perfect accuracy and “locking defined areas on the map for as long as possible. All of these on” to opponents in their visual field from any distance are in- dicative capabilities of bots that are not found in human players. game types require, first and foremost, that the player is profi- Traditionally, the bot is handicapped in some way with either a cient when it comes to combat.
    [Show full text]
  • KARELIA University of Applied Sciences Degree Programme in Business Information Technology
    KARELIA University of Applied Sciences Degree Programme In Business Information Technology Elmeri Telimaa Hacking Detection in Unreal Engine 4 Thesis May 2021 THESIS February 2021 Business Information Technology Tikkarinne 9 80200 JOENSUU FINLAND + 358 13 260 600 (switchboard) Author (s) Elmeri Telimaa Title Hacking Detection in Unreal Engine 4 Commissioned by - Abstract The goal of the thesis is to find an integrated tool within Unreal Engine 4 for detecting and combating cheating, that is quick to implement in a project. To achieve this goal, a prototype game was created and speedhacked. A counter for this hack was then implemented. Cheating in online games results in worse experience for the other players playing against the cheater, who then take their business elsewhere. This has a negative impact on both the game developer’s reputation and revenue. The speedhack used manipulates time on a client, making the user move more than intended. The detection method included within Unreal Engine 4 compares the time sent by the client to the time of the server to determine if there is discrepancy in the values. Using these values, we can determine if the client is speedhacking. The used detection method detected the hack and kicked the offending client out of the server. The method is easy to implement in a new project. Language Pages 32 English Appendices 1 Pages of Appendices 1 Keywords Unreal Engine, cheating, online games, speedhack, anti-cheat OPINNÄYTETYÖ Helmikuu 2021 Tietojenkäsittelyn koulutusohjelma Tikkarinne 9 80200 JOENSUU +358 13 260 600 (vaihde) Tekijä(t) Elmeri Telimaa Nimeke Hacking Detection in Unreal Engine 4 Toimeksiantaja - Tiivistelmä Tämän opinnäytetön tavoitteena on löytää Unreal Engine 4-pelimoottoriin integroitu työkalu, jonka avulla voidaan havaita ja estää huijaamista.
    [Show full text]
  • Learning Human Behavior from Observation for Gaming Applications
    University of Central Florida STARS Electronic Theses and Dissertations, 2004-2019 2007 Learning Human Behavior From Observation For Gaming Applications Christopher Moriarty University of Central Florida Part of the Computer Engineering Commons Find similar works at: https://stars.library.ucf.edu/etd University of Central Florida Libraries http://library.ucf.edu This Masters Thesis (Open Access) is brought to you for free and open access by STARS. It has been accepted for inclusion in Electronic Theses and Dissertations, 2004-2019 by an authorized administrator of STARS. For more information, please contact [email protected]. STARS Citation Moriarty, Christopher, "Learning Human Behavior From Observation For Gaming Applications" (2007). Electronic Theses and Dissertations, 2004-2019. 3269. https://stars.library.ucf.edu/etd/3269 LEARNING HUMAN BEHAVIOR FROM OBSERVATION FOR GAMING APPLICATIONS by CHRIS MORIARTY B.S. University of Central Florida, 2005 A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in the School of Electrical Engineering and Computer Science in the College of Engineering and Computer Science at the University of Central Florida Orlando, Florida Summer Term 2007 © 2007 Christopher Moriarty ii ABSTRACT The gaming industry has reached a point where improving graphics has only a small effect on how much a player will enjoy a game. One focus has turned to adding more humanlike characteristics into computer game agents. Machine learning techniques are being used scarcely in games, although they do offer powerful means for creating humanlike behaviors in agents. The first person shooter (FPS), Quake 2, is an open source game that offers a multi-agent environment to create game agents (bots) in.
    [Show full text]
  • Cheating by Video Game Participants
    Cheating by Video Game Participants J.R. Parker University of Calgary [email protected] Abstract In this paper, I explore the concept of cheating in the medium of the video game. Why do people do it? How does online cheating differ from offline? The existence of cheat codes seems to imply that cheating is rampant and even encouraged - or perhaps it’s just that the codes are poorly named. I also look at criminal activity in games, and at some ways to reduce cheating activities in online games. Introduction The word ‘cheat’ carries with it ancient societal passions. There is deception associated with the word, a lie, but more than that. There is a deliberation about cheating that makes it a worse lie than most, and there is an implication of doing someone harm in order to benefit oneself. Biblical cheats have died for their sin, and card cheats in the old West suffered a similar fate. Technology has changed the manner in which people can cheat, and has created many new ways to do it. So-called computer crime, identity theft, phishing, and other modern ways of cheating are enabled by the prevalent use of digital technology in many areas of society. Of course, the activities listed above are actually crimes; yet non-criminal cheating takes place too. Plagiarism is now very easy because of search engines and the Internet (easier to detect, too!). People misrepresent their identity on the Web with greater frequency, sometimes in self-defense. Cheating at games has traditionally been held in low regard because people that you play with are often friends.
    [Show full text]
  • Tesi G. De Maio.Pdf
    UNIVERSITA` DEGLI STUDI DI SALERNO DIPARTIMENTO DI INFORMATICA \RENATO M. CAPOCELLI" CORSO DI DOTTORATO IN INFORMATICA XII CICLO { NUOVA SERIE anno accademico 2012-2013 Tesi di Dottorato in Informatica On The Evolution of Digital Evidence: Novel Approaches for Cyber Investigation Tutor Candidato prof. Giuseppe Cattaneo Giancarlo De Maio Coordinatore prof. Giuseppe Persiano Ai miei genitori. 1 2 Abstract Nowadays Internet is the fulcrum of our world, and the World Wide Web is the key to access it. We develop relationships on social networks and entrust sensitive documents to online services. Desktop applications are being replaced by fully-fledged web-applications that can be accessed from any devices. This is possible thanks to new web technologies that are being introduced at a very fast pace. However, these advances come at a price. Today, the web is the principal means used by cyber-criminals to perform attacks against people and organizations. In a context where information is extremely dynamic and volatile, the fight against cyber-crime is becoming more and more difficult. This work is divided in two main parts, both aimed at fueling research against cyber- crimes. The first part is more focused on a forensic perspective and exposes serious limi- tations of current investigation approaches when dealing with modern digital information. In particular, it shows how it is possible to leverage common Internet services in order to forge digital evidence, which can be exploited by a cyber-criminal to claim an alibi. Here- inafter, a novel technique to track cyber-criminal activities on the Internet is proposed, aimed at the acquisition and analysis of information from highly dynamic services such as online social networks.
    [Show full text]
  • Artificial and Computational Intelligence in Games
    Artificial and Computational Intelligence in Games A Follow-up to Dagstuhl Seminar 12191 Edited by Simon M. Lucas Michael Mateas Mike Preuss Pieter Spronck Julian Togelius DagstuhlFollow-Ups – Vol.6 www.dagstuhl.de/dfu Editors Simon M. Lucas Michael Mateas School of Computer Science and Center for Games and Playable Media Electronic Engineering University of California, Santa Cruz University of Essex [email protected] [email protected] Mike Preuss Pieter Spronck European Research Center for Tilburg Center for Cognition and Communication Information Systems Tilburg University University of Münster [email protected] [email protected] Julian Togelius Center for Computer Games Research IT University of Copenhagen [email protected] ACM Classification 1998 I.2.1 Applications and Expert Systems: Games ISBN 978-3-939897-62-0 Published online and open access by Schloss Dagstuhl – Leibniz-Zentrum für Informatik GmbH, Dagstuhl Publishing, Saarbrücken/Wadern, Germany. Online available at http://www.dagstuhl.de/dagpub/978-3-939897-62-0. Publication date November, 2013 Bibliographic information published by the Deutsche Nationalbibliothek The Deutsche Nationalbibliothek lists this publication in the Deutsche Nationalbibliografie; detailed bibliographic data are available in the Internet at http://dnb.d-nb.de. License This work is licensed under a Creative Commons Attribution 3.0 Unported license: http://creativecommons.org/licenses/by/3.0/legalcode. In brief, this license authorizes each and everybody to share (to copy, distribute and transmit) the work under the following conditions, without impairing or restricting the authors’ moral rights: Attribution: The work must be attributed to its authors. The copyright is retained by the corresponding authors.
    [Show full text]
  • Security Design in Online Games
    Security Design in Online Games Jeff Yan Department of Computer Science and Engineering The Chinese University of Hong Kong Shatin, N.T., Hong Kong Email: [email protected] Abstract and they charge a user when he logs in to play on their servers. Thus, the traditional headache of copy protection The emergence of online games has fundamentally changed can now be forgotten. Other problems have replaced it, such security requirements for computer games, which previ- as password security, payment security and the availability ously were largely concerned with copy protection. In this of systems that host online games. But these are relatively paper, we examine how new security requirements impact well understood as they are shared by other networked e- the design of online games by using online Bridge, a sim- commerce applications. ple client-server game, as our case study. We argue that se- A new security concern in games is online cheating [17, curity is emerging as an inherent design issue for online 22]. Cheating was very popular in single player console or games, after graphics and artificial intelligence, which have PC games. For example, it has been common for a player become important issues of the design of most games for to make game missions easier by using cheating tools. For decades. The most important new security concern in on- single-player games, cheaters were cheating the computer line game design is fairness enforcement, and most secu- and nobody else would care. For online games, however, rity mechanisms all contribute to a single objective, namely, cheaters are now cheating human players sitting elsewhere making the play fair for each user.
    [Show full text]
  • Gamebots: a 3D Virtual World Test-Bed for Multi-Agent Research Rogelio Adobbati, Andrew N
    Gamebots: A 3D Virtual World Test-Bed For Multi-Agent Research Rogelio Adobbati, Andrew N. Marshall, Gal Kaminka, Steven Schaffer, Chris Sollitto Andrew Scholer, Sheila Tejada Computer Science Department Information Sciences Institute Carnegie Mellon University University of Southern California Pittsburgh, PA 15213 4676 Admiralty Way [email protected] Marina del Rey, CA 90292 {srs3, cs3} @andrew.cmu.edu {rogelio, amarshal, ascholer, tejada} @isi.edu ABSTRACT To address these difficulties, we have been developing a new type This paper describes Gamebots, a multi-agent system of research infrastructure. Gamebots is a project started at the infrastructure derived from an Internet-based multi-player video University of Southern California’s Information Sciences game called Unreal Tournament. The game allows characters to Institute, and jointly developed by Carnegie Mellon University. be controlled over client-server network connections by feeding The project seeks to turn a fast-paced multi-agent interactive sensory information to client players (humans and agents). Unlike computer game into a domain for research in artificial intelligence other standard test-beds, the Gamebots domain allows both human (AI) and multi-agent systems (MAS). It consists of a players and agents, or bots, to play simultaneously; thus providing commercially developed, complex, and dynamic game engine, the opportunity to study human team behavior and to construct which is extended and enhanced to provide the important agents that play collaboratively with humans. The Gamebots capabilities required for research. system provides a built-in scripting language giving interested Gamebots provides several unique opportunities for multi-agent researchers the ability to create their own multi-agent tasks and and artificial intelligence research previously unavailable with environments for the simulation.
    [Show full text]