CMSC 425: Lecture 23 Detecting and Preventing Cheating in Multiplayer Games

Size: px
Start display at page:

Download "CMSC 425: Lecture 23 Detecting and Preventing Cheating in Multiplayer Games"

Transcription

1 CMSC 425: Lecture 23 Detecting and Preventing Cheating in Multiplayer Games Reading: This lecture is based on the following articles: M. Pritchard, How to Hurt the Hackers: The Scoop on Internet Cheating and How You Can Combat It, Gamasutra 2000; J. Yan and B. Randell, A Systematic Classification of Cheating in Online Games, NetGames 2005, 1 9; S. D. Webb and S. Soh, Cheating in Networked Computer Games: A Review, DIMEA 2007, Cheating in Multiplayer Games: Cheating is defined to be acting dishonestly or unfairly in order to gain an advantage. In online games, players often strive to obtain an unfair advantage over others, for various reasons. One of the first analyses of cheating in online games appeared around 2000 in a Gamasutra article by Matthew Pritchard. He makes the following observations: If you build it, they will come to hack and cheat Hacking attempts increase as a game becomes more successful Cheaters actively try to control knowledge of their cheats Your game, along with everything on the cheater s computer, is not secure not memory, not files, not devices and networks Obscurity security Any communication over an open line is subject to interception, analysis and modification There is no such thing as a harmless cheat Trust in the server is everything in client-server games Honest players would like the game to tip them off to cheaters Pritchard identifies a number of common cheating attacks and discusses how to counter them. His list includes the following: Information Exposure: Clients obtain/modify information that should be hidden. Reflex Augmentation: Improve physical performance, such as the firing rate or aiming Authoritative Clients: Although the server should have full authority, some online games grant clients authority over game execution for the sake of efficiency. Cheaters then modify the client software. Compromised servers: A hacked server that biases game-play towards the group that knows of the hacks. Bugs and Design Loopholes: Bugs and design flaws in the game are exploited. Infrastructure Weaknesses: Differences or problems with the operating system or network environment are exploited. We will discuss some of these in greater detail below. Lecture 23 1 Spring 2018

2 Reflex Augmentation: Reflex augmentation systems involve the use of software that, through various methods, circumvents the user-based aiming/firing systems to a software-based system. One example is an aimbot. An aimbot is implemented by modifying the game client program or running an external program in order to generate simulated user input. Network packets are intercepted and interpreted to determine the location of enemies and obstacles. Then computer AI is used to completely control the player s avatar and automate repetitive tasks, progressing the player s avatar through the game. Another example is a reflex enhancer, which augment a user s input in reflex games to achieve better results. For example, in a shooter game, the software can automatically aim at opponents. Reflex augmentation typically involves modifying the underlying game executable or modifying one of the system s library functions that the game invokes. Techniques borrowed from the area of virus detection can be employed to be sure that the user has not tampered with the game s binary executable. Some approaches are static, using fingerprinting to scan the player s host memory in search of bit patterns of known cheating applications. A more dynamic approach is to periodically download the original game executable and compare its behavior to the user s game s behavior. If the executable has not been tampered with, then the two should behave identically. If not, the user must have tampered with the code somehow. Information Exposure: This method of cheating involves the cheater gaining access to information that they are not entitled to, such as their opponent s health, weapons, resources, troops. This cheat is possible as developers often incorrectly assume that the client software can be trusted not to reveal secrets. Secret information is revealed by either modifying the client or running another program that extracts it from memory. Key Variables As a concrete example, let s consider cheating/hacking software that enables a hacker to access and modify the memory where the program stores its data. Your game has a integer variable, say num lives, that controls the number of remaining lives the player has. A hacker wants to control this value but does not know where in memory this variable resides. The hacker can employ the following trick to find it. Suppose that the player starts with 5 lives, so num lives = 5. Search memory for all occurrences of memory locations containing the value 5. There are many of them. Next, kill yourself, thus reducing the number of lives to 4 and search among the previous hits to find those that now store the value 4. (This may sound tedious, but it is easy to design a program to help with this.) Repeat this until you can identify a unique (or generally small number of) match the above searches. Now, the hacker just modifies these memory locations to any desired value, say 9999, and now the hacker has infinite life. How do we fix/detect this? One fix is to wrap important variables like num lives within a class, say, EncryptedInt, where the actual value is stored in encrypted form. The getters/setters of the class decrypt/encrypt the value during each access. It is now much harder for the hacker to locate the memory location where this value is stored, and even if it could be found, it would be impossible (without hacking the encryption algorithm) to know what value to set it to. Lecture 23 2 Spring 2018

3 Graphics Hacks: Suppose that you have a shooter game, where enemies may hide behind walls, bushes, or may rely on atmospheric effects like smoke or fog. The cheater then modifies the parameters that control these obscuring elements, say by making walls transparent, removing the foliage on bushes, and changing the fog parameters in the graphics system so it effectively disappears. The cheating application alone now has an un-obscured view of the battlefield. Physics Hack: Unity uses physics components such as the RigidBody to keep a player from moving through obstructions like walls. One form of an attack involves inserting code that disables a player s or walls RigidBody components, thus enabling this player to move through walls. (You need to watch out for gravity, less you fall through the floor as well.) While such an attack may be hard to prevent, it may be detectable by inserting code the periodically verifies that the program s key objects satisfy their key properties. User-Preferences: In order to save data from one program execution to the next, such as user-preferences and earned assets, some operating systems (notably Microsoft Windows) save persistent data in a single database of saved data. In the case of Windows, this is called the registry. A hacker can look for an obviously named registry entry (e.g., NUM LIVES ) and then employ a registry editor program (e.g., Windows regedit) to modify these values. Using obscure names and encrypting the values are prevent this. Speed Hack: A speed hack modifies the game s perception of time to either slow-down or speed-up the game. This can be done to fast-forward through lengthy boring sequences or slow down targets so they are easier to attack. A game program s concept of time is based on calls to the clock functions offered by the operating system. Through the use of general-purpose hacking tricks, it is possible to hijack these calls, thus modifying your game s concept of time (e.g., by making the value of Time.deltaTime larger or smaller by some factor). These are sometimes called infrastructure-level cheats, since they involve accessing or modifying elements of the infrastructure in which the program runs. In a client-server setting, this can be dealt with is using a technique called on-demand-loading (ODL). Using this technique a trusted third party (the server) stores all secret information and only transmits it to the client when they are entitled to it. Therefore, the client does not have any secret information that may be exposed. As mentioned above, another approach for avoiding information exposure is to encrypt all secret information. This makes it difficult to determine where the information is and how to interpret its meaning. Protocol-level cheats: Because most multiplayer games involve communication through a network, many cheats are based on interfering with the manner in which network packets are processed. Packets may be inserted, destroyed, duplicated, or modified by an attacker. Many of these cheats are dependent on the architecture used by the game (client-server or peer-topeer). Below we describe some protocol-level cheats. Suppressed update: As we mentioned last time, the Internet is subject latency and packet loss. For this reason, most networked games use some form of dead-reckoning. In the event of a lost/delayed updates, the server will extrapolate (dead-reckon) the players movement from Lecture 23 3 Spring 2018

4 their most recent position and velocity, creating a smooth movement for all other players. Dead-reckoning usually allows clients to drop some fixed number of consecutive packets before they are disconnected. In the suppressed update cheat, a cheater purposely suppresses the transmission of some fixed number consecutive updates (but not so many to be disconnected), while still accepting opponent updates. The attacker (who is able to see the other player s movements during this time) calculates the optimal move using the updates from their opponents and transmits it to the server. Thus, the cheater knows their opponents actions before committing to their own, allowing them to choose the optimal action. Architectures with a trusted entity (e.g., the server), can prevent this cheat by making the server s dead-reckoned state authoritative (as opposed to allowing the client to do it). Players are forced to follow the dead-reckoned path in the event of lost/delayed updates. This gives a smooth and cheat-free game for all other players; however, it may disadvantage players with slow Internet connections. In a less authoritative environment (e.g., peer-to-peer) it may be possible for other players to monitor the delay in their opponents and compare it with the timestamps of updates. Late updates indicate that a player is either suffering delay, or is cheating. Fixed delay: Fixed delay cheating involves introducing a fixed amount of delay to all outgoing packets. This results in the local player receiving updates quickly, while delaying information to opponents. For fast paced games this additional delay can have a dramatic impact on the outcome. This cheat is usually used in peer-to-peer games, when one peer is elevated to act as the server. Thus, they can add delay to all other peers. One way to prevent this cheat in peer-to-peer games can use distributed event ordering and consistency protocols to avoid elevating one peer above the rest. Note, the fixed delay cheat only delays updates, in contrast to dropping them in the suppressed update cheat. Another solution is to force all players to use a protocol that divides game time into rounds and requires that every player in the game submit their move for that round before the next round is allowed to begin. (One such protocol is called lockstep.) To prevent cheating, all players commit to a move, and once all players have committed, each player reveals their move. A player commits to a move by transmitting either the hash of a move or an encrypted copy of a move, and it is revealed by sending either the move or encryption key respectively. Lockstep is provably secure against these and other protocol level cheats. Unfortunately, this approach is unacceptably slow for many fast-paced games, since it forces all players to wait on the slowest one. Another example of a protocol to prevent packet suppression/delaying is called sliding pipeline (SP). SP works by constantly monitoring the delay between players to determine the maximum allowable delay for an update without allowing times-stamp cheating (see below). SP does not lock all players into a fixed time step, and so can be applied to faster-paced games. Unfortunately, SP cannot always differentiate between players suffering delay and cheaters (false positives). More Protocol-Level Cheats: The above (suppressed update and fixed delay) are just two examples of protocol-level cheats. There are many others, which we will just summarize briefly here. Lecture 23 4 Spring 2018

5 Inconsistency: A cheater induces inconsistency amongst players by sending different game updates to different opponents. An honest player attacked by this cheat may have his game state corrupted, and hence be removed from the game, by a cheater sending a different update to him than was sent to all other players. To prevent this cheat updates sent between players must be verified by either a trusted authority, or a group of peers. Time-stamp: This cheat is enabled in games where an untrusted client is allowed to timestamp their updates for event ordering. This allows cheaters to time-stamp their updates in the past, after receiving updates from their opponents. Hence, they can perform actions with additional information honest players do not have. To prevent this, rather than using timestamps, processing should be based on the arrival order of updates to the server. Collusion: Collusion involves two or more cheaters working together (rather than in competition) to gain an unfair advantage. One common example is of players participating in an all-against-all style match, where two cheaters will team up (collude) against the other players. Colluding players may communicate over an external channel (e.g., over the phone or instant messaging). This is very hard to detect and prevent. Spoofing: Spoofing is where a cheater sends a message masquerading as a different player. For example, a cheater may send an update causing an honest player to drop all of their items. To prevent this cheat, updates should be either digitally signed or encrypted. If a cheater receives digitally signed/encrypted copies of an opponent s updates he may still be able to disadvantage an opponent by resending them at a later time. Since the updates are correctly signed or encrypted, they will be assumed valid by the receiver. To prevent updates should include a unique number, such as a round number or sequence number, which the receiver can then check to ensure the message is genuine. Detecting Cheating: Here are a few approaches to detect/prevent cheating. Signature detection - Detecting of certain patterns of bytes in memory, checked against a database Heuristic analysis - Statistical analysis of behavior User reports - Information provided by other users Signature detection: This is the primary method in which cheating software is detected. Let s consider how this works for anti-virus software. A cheating attack (hack) is developed. The hacked software is analyzed, and a signature that identifies the binary of the hacked code is saved in a database. Before installing software, its binary is checked against the known signatures to detect hacked versions. The difficulty in game programming is that, even though a cheater is caught, the hacked code resides on the cheater s machine, and hence may be difficult to obtain by the authorities who manage the game. This might be done, for example, by having a program that transmits a memory scan of the infected software, but this solution is Lecture 23 5 Spring 2018

6 quite expensive and may not scale up to large numbers of users. But, this is assuming that the user actually designed his own hacked version of the game software. Most users are not this sophisticated, and instead download the sofware from third-party providers of hacked game software. The authorities can find these same sites, download the hacked software, and create signatures that will identify them. Heuristic analysis: Lets say the you are a typical player. You have established a baseline of typical performance. Sometimes you have an excellent performance and do much better than your baseline. As your skill improves, your baseline trends upwards as well. Your performance can also become significantly worse (as when you loan your ID out to your younger cousin who is visiting for a few weeks). So, if your performance suddenly surges up and maintains a high level over a period of time, this would seem suspicious. Heuristic analysis is an application of machine learning, in which an analysis of player statistics (scores, kill rates, speed and accuracy of mouse movement) to detect behavior that sufficiently far from the norm, that it can be infered to be the result of cheating. This is particularly useful against reflex augmentation software, provided that the software does too good a job of enhacing a player s performance. Of course, a careful cheater who understands this will keep his/her performance within believable limits, slowly increasing their baseline performance to avoid detection. User reports: If a cheater s behavior is spoiling the experience for many users, some of these users will complain, and this can lead to detecting the cheater. Lecture 23 6 Spring 2018

Peer-to-Peer Architecture

Peer-to-Peer Architecture Peer-to-Peer Architecture 1 Peer-to-Peer Architecture Role of clients Notify clients Resolve conflicts Maintain states Simulate games 2 Latency Robustness Conflict/Cheating Consistency Accounting Scalability

More information

Information security as a countermeasure against cheating in video games

Information security as a countermeasure against cheating in video games Information security as a countermeasure against cheating in video games Kevin Kjelgren Mikkelsen Master in Information Security Submission date: June 2017 Supervisor: Erik Hjelmås, IIK Co-supervisor:

More information

Chapter 5: Game Analytics

Chapter 5: Game Analytics Lecture Notes for Managing and Mining Multiplayer Online Games Summer Semester 2017 Chapter 5: Game Analytics Lecture Notes 2012 Matthias Schubert http://www.dbs.ifi.lmu.de/cms/vo_managing_massive_multiplayer_online_games

More information

Taking your game online: Fundamentals of coding online games

Taking your game online: Fundamentals of coding online games Taking your game online: Fundamentals of coding online games Joost van Dongen 7th July 2005 Website: www.oogst3d.net E-mail: tsgoo@hotmail.com Abstract This article is an introduction to programming the

More information

Centralized Server Architecture

Centralized Server Architecture Centralized Server Architecture Synchronization Protocols Permissible Client/ Server Architecture Client sends command to the server. Server computes new states and updates clients with new states. Player

More information

An Overview on Game Cheating and Its Countermeasures

An Overview on Game Cheating and Its Countermeasures ISBN 978-952-5726-07-7 (Print), 978-952-5726-08-4 (CD-ROM) Proceedings of the Second Symposium International Computer Science and Computational Technology(ISCSCT 09) Huangshan, P. R. China, 26-28,Dec.

More information

Low Latency and Cheat-proof Event Ordering for Peer-to-Peer Games

Low Latency and Cheat-proof Event Ordering for Peer-to-Peer Games Low Latency and Cheat-proof Event Ordering for Peer-to-Peer Games Chris GauthierDickey, Daniel Zappala, Virginia Lo, and James Marr University of Oregon Department of Computer Science 1202 University of

More information

Match+Guardian: A Secure Peer-to-Peer Trading Card Game Protocol

Match+Guardian: A Secure Peer-to-Peer Trading Card Game Protocol Multimedia Systems DOI 10.1007/s00530-012-0291-z Match+Guardian: A Secure Peer-to-Peer Trading Card Game Protocol Daniel Pittman Chris GauthierDickey Received: 30 Nov 2011 / Accepted: 5 June 2012 Original

More information

Datakom II Seminar Lecture 2005 Erik Nordström

Datakom II Seminar Lecture 2005 Erik Nordström Online Gaming and Ad hoc Networking Datakom II Seminar Lecture 2005 1 Multiplayer Computer Games (MCG) - Background In the beginning there was MUD (Multi- User Dungeon) First adventure game to support

More information

Watchmen: Scalable Cheat-Resistant Support for Distributed Multi-Player Online Games

Watchmen: Scalable Cheat-Resistant Support for Distributed Multi-Player Online Games 213 IEEE 33rd International Conference on Distributed Computing Systems Watchmen: Scalable Cheat-Resistant Support for Distributed Multi-Player Online Games Amir Yahyavi,Kévin Huguenin, Julien Gascon-Samson,Jörg

More information

Cheat Detection Processing: A GPU versus CPU Comparison

Cheat Detection Processing: A GPU versus CPU Comparison Cheat Detection Processing: A GPU versus CPU Comparison Håkon Kvale Stensland, Martin Øinæs Myrseth, Carsten Griwodz, Pål Halvorsen Simula Research Laboratory, Norway and Department of Informatics, University

More information

BF2 Commander. Apply for Commander.

BF2 Commander. Apply for Commander. BF2 Commander Once you're in the game press "Enter" unless you're in the spawn screen and click on the "Squad" tab and you should see "Commander" with the option to apply for the commander, mutiny the

More information

Play Patterns for Path Prediction in Multiplayer Online Games

Play Patterns for Path Prediction in Multiplayer Online Games Play Patterns for Path Prediction in Multiplayer Online Games by Jacob Agar A Thesis submitted to the Faculty of Graduate Studies and Research in partial fulfilment of the requirements for the degree of

More information

Distributed Slap Jack

Distributed Slap Jack Distributed Slap Jack Jim Boyles and Mary Creel Advanced Operating Systems February 6, 2003 1 I. INTRODUCTION Slap Jack is a card game with a simple strategy. There is no strategy. The game can be played

More information

By Jeremy Brun, Farzad Safaei, and Paul Boustead NETWORKED GAMES

By Jeremy Brun, Farzad Safaei, and Paul Boustead NETWORKED GAMES By Jeremy Brun, Farzad Safaei, and Paul Boustead MANAGING LATENCY NETWORKED GAMES Fighting propagation delays in real-time interactive applications improves gameplay and fairness in networked games by

More information

ESCAPE! Player Manual and Game Specifications

ESCAPE! Player Manual and Game Specifications ESCAPE! Player Manual and Game Specifications By Chris Eng and Ken Rice CSS450 Fall 2008 Contents Player Manual... 3 Object of Escape!... 3 How to Play... 3 1. Controls... 3 2. Game Display... 3 3. Advancing

More information

Microwave Engineering Project (MEP) Update The Problem is Pointing

Microwave Engineering Project (MEP) Update The Problem is Pointing Microwave Engineering Project (MEP) Update The Problem is Pointing Most microwave stations use dish antennas. Dish antennas at the frequencies of operation of interest to MEP, which range from 3.4GHz to

More information

Bellairs Games Workshop. Massively Multiplayer Games

Bellairs Games Workshop. Massively Multiplayer Games Bellairs Games Workshop Massively Multiplayer Games Jörg Kienzle McGill Games Workshop - Bellairs, 2005, Jörg Kienzle Slide 1 Outline Intro on Massively Multiplayer Games Historical Perspective Technical

More information

6 System architecture

6 System architecture 6 System architecture is an application for interactively controlling the animation of VRML avatars. It uses the pen interaction technique described in Chapter 3 - Interaction technique. It is used in

More information

CANopen Programmer s Manual Part Number Version 1.0 October All rights reserved

CANopen Programmer s Manual Part Number Version 1.0 October All rights reserved Part Number 95-00271-000 Version 1.0 October 2002 2002 All rights reserved Table Of Contents TABLE OF CONTENTS About This Manual... iii Overview and Scope... iii Related Documentation... iii Document Validity

More information

Anti cheating guidelines for Arbiters

Anti cheating guidelines for Arbiters Annex 19B Anti cheating guidelines for Arbiters (These guidelines shall be included in the subjects and will be taught in all Workshops, FIDE Arbiters Seminars and Courses for International and FIDE Arbiters).

More information

An Agent-based Heterogeneous UAV Simulator Design

An Agent-based Heterogeneous UAV Simulator Design An Agent-based Heterogeneous UAV Simulator Design MARTIN LUNDELL 1, JINGPENG TANG 1, THADDEUS HOGAN 1, KENDALL NYGARD 2 1 Math, Science and Technology University of Minnesota Crookston Crookston, MN56716

More information

Title: Dynamic Bayesian Approach for Detecting Cheats in Multi-Player Online Games

Title: Dynamic Bayesian Approach for Detecting Cheats in Multi-Player Online Games Editorial Manager(tm) for Multimedia Systems Manuscript Draft Manuscript Number: MMSJ-D-6-7R Title: Dynamic Bayesian Approach for Detecting Cheats in Multi-Player Online Games Article Type: Original Research

More information

Pianola User Guide for Players How to analyse your results, replay hands and find partners with Pianola

Pianola User Guide for Players How to analyse your results, replay hands and find partners with Pianola Pianola User Guide for Players How to analyse your results, replay hands and find partners with Pianola Pianola is used by the American Contract Bridge League, the English Bridge Union, and clubs large

More information

Gaming Security. Aggelos Kiayias

Gaming Security. Aggelos Kiayias Gaming Security Aggelos Kiayias Online Gaming A multibillion $ industry. Computer games represent a 10 bn $ market. Single games have sold as many as 20 million copies. MMORPGs massively multiplayer online

More information

Secure Location Verification with Hidden and Mobile Base Stations

Secure Location Verification with Hidden and Mobile Base Stations Secure Location Verification with Hidden and Mobile Base Stations S. Capkun, K.B. Rasmussen - Department of Computer Science, ETH Zurich M. Cagalj FESB, University of Split M. Srivastava EE Department,

More information

Introduction to Game Design. Truong Tuan Anh CSE-HCMUT

Introduction to Game Design. Truong Tuan Anh CSE-HCMUT Introduction to Game Design Truong Tuan Anh CSE-HCMUT Games Games are actually complex applications: interactive real-time simulations of complicated worlds multiple agents and interactions game entities

More information

Meetings and Proceedings; Book Chapter. Authors Laurens, P. (Peter); Paige, R. F. (Richard); Brooke, P. J. (Phillip); Chivers, H.

Meetings and Proceedings; Book Chapter. Authors Laurens, P. (Peter); Paige, R. F. (Richard); Brooke, P. J. (Phillip); Chivers, H. TeesRep - Teesside's Research Repository A novel approach to the detection of cheating in multiplayer online games Item type Meetings and Proceedings; Book Chapter Authors Laurens, P. (Peter); Paige, R.

More information

Wireless Network Security Spring 2014

Wireless Network Security Spring 2014 Wireless Network Security 14-814 Spring 2014 Patrick Tague Class #5 Jamming 2014 Patrick Tague 1 Travel to Pgh: Announcements I'll be on the other side of the camera on Feb 4 Let me know if you'd like

More information

Chapter 23 The Bleeding Edge

Chapter 23 The Bleeding Edge Chapter 23 The Bleeding Edge Muhammad Barham June 11, 2014 Muhammad Barham Chapter 23 The Bleeding Edge June 11, 2014 1 / 18 Outline 1 Introduction 2 Computer Games 3 Web Applications 4 Privacy Technology

More information

Chapter 4: DataPersistence

Chapter 4: DataPersistence Lecture Notes Managing and Mining Multiplayer Online Games Summer Term 8 Chapter : DataPersistence Lecture Notes Matthias Schubert http://www.dbs.ifi.lmu.de/cms/vo_managing_massive_multiplayer_online_games

More information

Human + Machine How AI is Radically Transforming and Augmenting Lives and Businesses Are You Ready?

Human + Machine How AI is Radically Transforming and Augmenting Lives and Businesses Are You Ready? Human + Machine How AI is Radically Transforming and Augmenting Lives and Businesses Are You Ready? Xavier Anglada Managing Director Accenture Digital Lead in MENA and Turkey @xavianglada TM Forum 1 Meet

More information

A Study of Optimal Spatial Partition Size and Field of View in Massively Multiplayer Online Game Server

A Study of Optimal Spatial Partition Size and Field of View in Massively Multiplayer Online Game Server A Study of Optimal Spatial Partition Size and Field of View in Massively Multiplayer Online Game Server Youngsik Kim * * Department of Game and Multimedia Engineering, Korea Polytechnic University, Republic

More information

Pianola User Guide for Players How to analyse your results, replay hands and find partners with Pianola

Pianola User Guide for Players How to analyse your results, replay hands and find partners with Pianola Pianola User Guide for Players How to analyse your results, replay hands and find partners with Pianola Pianola is used by the American Contract Bridge League, the English Bridge Union, the Australian

More information

GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game

GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game I. BACKGROUND 1.Introduction: GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game We have talked about the programming languages and discussed popular programming paradigms. We discussed

More information

StarForge Alpha Manual v0.3.5

StarForge Alpha Manual v0.3.5 StarForge Alpha Manual v0.3.5 Welcome to the StarForge Alpha. We are very happy to let you have early access to our game and we hope you enjoy it while we keep developing it. This manual covers some basics

More information

INTRODUCTION TO GAME AI

INTRODUCTION TO GAME AI CS 387: GAME AI INTRODUCTION TO GAME AI 3/31/2016 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2016/cs387/intro.html Outline Game Engines Perception

More information

Volume 4, Number 2 Government and Defense September 2011

Volume 4, Number 2 Government and Defense September 2011 Volume 4, Number 2 Government and Defense September 2011 Editor-in-Chief Managing Editor Guest Editors Jeremiah Spence Yesha Sivan Paulette Robinson, National Defense University, USA Michael Pillar, National

More information

Configuring OSPF. Information About OSPF CHAPTER

Configuring OSPF. Information About OSPF CHAPTER CHAPTER 22 This chapter describes how to configure the ASASM to route data, perform authentication, and redistribute routing information using the Open Shortest Path First (OSPF) routing protocol. The

More information

Efficient Methods for Improving Scalability and Playability of Massively Multiplayer Online Game (MMOG)

Efficient Methods for Improving Scalability and Playability of Massively Multiplayer Online Game (MMOG) Efficient Methods for Improving Scalability and Playability of Massively Multiplayer Online Game (MMOG) Kusno Prasetya BIT (Sekolah Tinggi Teknik Surabaya, Indonesia), MIT (Hons) (Bond) A dissertation

More information

AP Computer Science Principles

AP Computer Science Principles 2018 AP Computer Science Principles Sample Student Responses and Scoring Commentary Inside: Performance Task Explore RR Scoring Guideline RR Scoring Commentary Student Samples provided separately College

More information

Bachelor Project Major League Wizardry: Game Engine. Phillip Morten Barth s113404

Bachelor Project Major League Wizardry: Game Engine. Phillip Morten Barth s113404 Bachelor Project Major League Wizardry: Game Engine Phillip Morten Barth s113404 February 28, 2014 Abstract The goal of this project is to design and implement a flexible game engine based on the rules

More information

IMGD 1001: Level Design

IMGD 1001: Level Design IMGD 1001: Level Design by Mark Claypool (claypool@cs.wpi.edu) Robert W. Lindeman (gogo@wpi.edu) Outline Gameplay Level Design Game Balance (done) (next) Claypool and Lindeman - WPI, CS and IMGD 2 1 Project

More information

Approaching The Royal Game of Ur with Genetic Algorithms and ExpectiMax

Approaching The Royal Game of Ur with Genetic Algorithms and ExpectiMax Approaching The Royal Game of Ur with Genetic Algorithms and ExpectiMax Tang, Marco Kwan Ho (20306981) Tse, Wai Ho (20355528) Zhao, Vincent Ruidong (20233835) Yap, Alistair Yun Hee (20306450) Introduction

More information

Pass-Words Help Doc. Note: PowerPoint macros must be enabled before playing for more see help information below

Pass-Words Help Doc. Note: PowerPoint macros must be enabled before playing for more see help information below Pass-Words Help Doc Note: PowerPoint macros must be enabled before playing for more see help information below Setting Macros in PowerPoint The Pass-Words Game uses macros to automate many different game

More information

WiMedia Interoperability and Beaconing Protocol

WiMedia Interoperability and Beaconing Protocol and Beaconing Protocol Mike Micheletti UWB & Wireless USB Product Manager LeCroy Protocol Solutions Group T he WiMedia Alliance s ultra wideband wireless architecture is designed to handle multiple protocols

More information

Digital Land Surveying and Mapping (DLS and M) Dr. Jayanta Kumar Ghosh Department of Civil Engineering Indian Institute of Technology, Roorkee

Digital Land Surveying and Mapping (DLS and M) Dr. Jayanta Kumar Ghosh Department of Civil Engineering Indian Institute of Technology, Roorkee Digital Land Surveying and Mapping (DLS and M) Dr. Jayanta Kumar Ghosh Department of Civil Engineering Indian Institute of Technology, Roorkee Lecture 11 Errors in GPS Observables Welcome students. Lesson

More information

Defend Hong Kong s Technocore

Defend Hong Kong s Technocore Defend Hong Kong s Technocore Mission completed! Fabu s free again! *sniff* foiled again Aww don t be upset! I just think that art s meant to be shared! Do you think the Cosmic Defenders would take me

More information

Terms and Conditions

Terms and Conditions 1 Terms and Conditions LEGAL NOTICE The Publisher has strived to be as accurate and complete as possible in the creation of this report, notwithstanding the fact that he does not warrant or represent at

More information

Introduction to NeuroScript MovAlyzeR Handwriting Movement Software (Draft 14 August 2015)

Introduction to NeuroScript MovAlyzeR Handwriting Movement Software (Draft 14 August 2015) Introduction to NeuroScript MovAlyzeR Page 1 of 20 Introduction to NeuroScript MovAlyzeR Handwriting Movement Software (Draft 14 August 2015) Our mission: Facilitate discoveries and applications with handwriting

More information

7:00PM 12:00AM

7:00PM 12:00AM SATURDAY APRIL 5 7:00PM 12:00AM ------------------ ------------------ BOLT ACTION COMBAT PATROL Do not lose this packet! It contains all necessary missions and results sheets required for you to participate

More information

Getting Started with Panzer Campaigns: Budapest 45

Getting Started with Panzer Campaigns: Budapest 45 Getting Started with Panzer Campaigns: Budapest 45 Welcome to Panzer Campaigns Budapest 45. In this, the seventeenth title in of the Panzer Campaigns series of operational combat in World War II, we are

More information

Chapter 3 LEAST SIGNIFICANT BIT STEGANOGRAPHY TECHNIQUE FOR HIDING COMPRESSED ENCRYPTED DATA USING VARIOUS FILE FORMATS

Chapter 3 LEAST SIGNIFICANT BIT STEGANOGRAPHY TECHNIQUE FOR HIDING COMPRESSED ENCRYPTED DATA USING VARIOUS FILE FORMATS 44 Chapter 3 LEAST SIGNIFICANT BIT STEGANOGRAPHY TECHNIQUE FOR HIDING COMPRESSED ENCRYPTED DATA USING VARIOUS FILE FORMATS 45 CHAPTER 3 Chapter 3: LEAST SIGNIFICANT BIT STEGANOGRAPHY TECHNIQUE FOR HIDING

More information

Design and Implementation of Game Based Security Model to Secure the Information Contents

Design and Implementation of Game Based Security Model to Secure the Information Contents Available online www.ejaet.com European Journal of Advances in Engineering and Technology, 2018, 5(7): 474-480 Research Article ISSN: 2394-658X Design and Implementation of Game Based Security Model to

More information

Online Games what are they? First person shooter ( first person view) (Some) Types of games

Online Games what are they? First person shooter ( first person view) (Some) Types of games Online Games what are they? Virtual worlds: Many people playing roles beyond their day to day experience Entertainment, escapism, community many reasons World of Warcraft Second Life Quake 4 Associate

More information

DreamHack HCT Grand Prix Rules

DreamHack HCT Grand Prix Rules DreamHack HCT Grand Prix Rules The DreamHack administration team holds the right to alter rules at any time, to ensure fair play and a smooth tournament. Introduction The following terms and conditions

More information

Texas Hold em Inference Bot Proposal. By: Brian Mihok & Michael Terry Date Due: Monday, April 11, 2005

Texas Hold em Inference Bot Proposal. By: Brian Mihok & Michael Terry Date Due: Monday, April 11, 2005 Texas Hold em Inference Bot Proposal By: Brian Mihok & Michael Terry Date Due: Monday, April 11, 2005 1 Introduction One of the key goals in Artificial Intelligence is to create cognitive systems that

More information

Pianola User Guide for Players How to analyse your results, replay hands and find partners with Pianola

Pianola User Guide for Players How to analyse your results, replay hands and find partners with Pianola Pianola User Guide for Players How to analyse your results, replay hands and find partners with Pianola I finished classes two years ago having retired. I love bridge just wish I had started years ago

More information

Tutorial: A scrolling shooter

Tutorial: A scrolling shooter Tutorial: A scrolling shooter Copyright 2003-2004, Mark Overmars Last changed: September 2, 2004 Uses: version 6.0, advanced mode Level: Beginner Scrolling shooters are a very popular type of arcade action

More information

Server-side Early Detection Method for Detecting Abnormal Players of StarCraft

Server-side Early Detection Method for Detecting Abnormal Players of StarCraft KSII The 3 rd International Conference on Internet (ICONI) 2011, December 2011 489 Copyright c 2011 KSII Server-side Early Detection Method for Detecting bnormal Players of StarCraft Kyung-Joong Kim 1

More information

SandBox Wars. Game Draft

SandBox Wars. Game Draft SandBox Wars Game Draft Table of Contents Table of Contents Development Tasks Brainstorming Ideas Handling Player Constructions Unlocking Blueprints Ideas Item behaviors Lag compensation 1 Development

More information

BAGHDAD Bridge hand generator for Windows

BAGHDAD Bridge hand generator for Windows BAGHDAD Bridge hand generator for Windows First why is the name Baghdad. I had to come up with some name and a catchy acronym always appeals so I came up with Bid And Generate Hands Display Analyse Deals

More information

Globulation 2. Free software RTS game with a new take on micro-management

Globulation 2. Free software RTS game with a new take on micro-management Globulation 2 Free software RTS game with a new take on micro-management http://www.globulation2.org Stéphane Magnenat with help and feedback from the community February 23, 2008 Acknowledgements Thanks

More information

Module 4. Session 3: Social Media Tools

Module 4. Session 3: Social Media Tools Twitter Module 4 Session 3: Social Media Tools Best Practices Table of Contents Best Practices / Tips & Tricks 1 Focus On Maximizing Your Efforts 1 Tools Have Limitations 1 Tools Are Important 1 Find Tools

More information

Privacy and Security in an On Demand World

Privacy and Security in an On Demand World Privacy and Security in an On Demand World Harriet Pearson, V.P. Workforce & Chief Privacy Officer IBM Corporation Almaden Institute Symposium on Privacy April 9, 2003 2002 IBM Corporation Outline Where

More information

Space Invadersesque 2D shooter

Space Invadersesque 2D shooter Space Invadersesque 2D shooter So, we re going to create another classic game here, one of space invaders, this assumes some basic 2D knowledge and is one in a beginning 2D game series of shorts. All in

More information

Distributed Virtual Environments!

Distributed Virtual Environments! Distributed Virtual Environments! Introduction! Richard M. Fujimoto! Professor!! Computational Science and Engineering Division! College of Computing! Georgia Institute of Technology! Atlanta, GA 30332-0765,

More information

Guidance of a Mobile Robot using Computer Vision over a Distributed System

Guidance of a Mobile Robot using Computer Vision over a Distributed System Guidance of a Mobile Robot using Computer Vision over a Distributed System Oliver M C Williams (JE) Abstract Previously, there have been several 4th-year projects using computer vision to follow a robot

More information

Monte Carlo based battleship agent

Monte Carlo based battleship agent Monte Carlo based battleship agent Written by: Omer Haber, 313302010; Dror Sharf, 315357319 Introduction The game of battleship is a guessing game for two players which has been around for almost a century.

More information

TACOT Project. Trusted multi Application receiver for Trucks. Bordeaux, 4 June 2014

TACOT Project. Trusted multi Application receiver for Trucks. Bordeaux, 4 June 2014 TACOT Project Trusted multi Application receiver for Trucks Bordeaux, 4 June 2014 Agenda TACOT Context & Solution Technical developments Test & Validation results Conclusions GNSS ease our lives GNSS is

More information

Legit xbox gift card generator

Legit xbox gift card generator Legit xbox gift card generator HostKarle Hosting Review: Best Web Hosting in India. People are enthralled with games in the same way as others love movies and theatre. If gaming is what induces fun in

More information

Despite the euphonic name, the words in the program title actually do describe what we're trying to do:

Despite the euphonic name, the words in the program title actually do describe what we're trying to do: I've been told that DASADA is a town in the home state of Mahatma Gandhi. This seems a fitting name for the program, since today's military missions that include both peacekeeping and war fighting. Despite

More information

Workshop 4: Digital Media By Daniel Crippa

Workshop 4: Digital Media By Daniel Crippa Topics Covered Workshop 4: Digital Media Workshop 4: Digital Media By Daniel Crippa 13/08/2018 Introduction to the Unity Engine Components (Rigidbodies, Colliders, etc.) Prefabs UI Tilemaps Game Design

More information

TRIESTE: A Trusted Radio Infrastructure for Enforcing SpecTrum Etiquettes

TRIESTE: A Trusted Radio Infrastructure for Enforcing SpecTrum Etiquettes TRIESTE: A Trusted Radio Infrastructure for Enforcing SpecTrum Etiquettes Wade Trappe Rutgers, The State University of New Jersey www.winlab.rutgers.edu 1 Talk Overview Motivation TRIESTE overview Spectrum

More information

Distributed Gaming using XML

Distributed Gaming using XML Distributed Gaming using XML A Writing Project Presented to The Faculty of the Department of Computer Science San Jose State University In Partial Fulfillment of the Requirement for the Degree Master of

More information

the gamedesigninitiative at cornell university Lecture 6 Uncertainty & Risk

the gamedesigninitiative at cornell university Lecture 6 Uncertainty & Risk Lecture 6 Uncertainty and Risk Risk: outcome of action is uncertain Perhaps action has random results May depend upon opponent s actions Need to know what opponent will do Two primary means of risk in

More information

Final Practice Problems: Dynamic Programming and Max Flow Problems (I) Dynamic Programming Practice Problems

Final Practice Problems: Dynamic Programming and Max Flow Problems (I) Dynamic Programming Practice Problems Final Practice Problems: Dynamic Programming and Max Flow Problems (I) Dynamic Programming Practice Problems To prepare for the final first of all study carefully all examples of Dynamic Programming which

More information

PlaneShift Project. Architecture Overview and Roadmap. Copyright 2005 Atomic Blue

PlaneShift Project. Architecture Overview and Roadmap. Copyright 2005 Atomic Blue PlaneShift Project Architecture Overview and Roadmap Objectives Introduce overall structure of PS Explain certain design decisions Equip you to modify and add to engine consistent with existing structure

More information

What is a Simulation? Simulation & Modeling. Why Do Simulations? Emulators versus Simulators. Why Do Simulations? Why Do Simulations?

What is a Simulation? Simulation & Modeling. Why Do Simulations? Emulators versus Simulators. Why Do Simulations? Why Do Simulations? What is a Simulation? Simulation & Modeling Introduction and Motivation A system that represents or emulates the behavior of another system over time; a computer simulation is one where the system doing

More information

Access Invaders: Developing a Universally Accessible Action Game

Access Invaders: Developing a Universally Accessible Action Game ICCHP 2006 Thursday, 13 July 2006 Access Invaders: Developing a Universally Accessible Action Game Dimitris Grammenos, Anthony Savidis, Yannis Georgalis, Constantine Stephanidis Human-Computer Interaction

More information

Stanford Center for AI Safety

Stanford Center for AI Safety Stanford Center for AI Safety Clark Barrett, David L. Dill, Mykel J. Kochenderfer, Dorsa Sadigh 1 Introduction Software-based systems play important roles in many areas of modern life, including manufacturing,

More information

Department of Computer Science and Engineering The Chinese University of Hong Kong. Year Final Year Project

Department of Computer Science and Engineering The Chinese University of Hong Kong. Year Final Year Project Digital Interactive Game Interface Table Apps for ipad Supervised by: Professor Michael R. Lyu Student: Ng Ka Hung (1009615714) Chan Hing Faat (1009618344) Year 2011 2012 Final Year Project Department

More information

Version User Guide

Version User Guide 2017 User Guide 1. Welcome to the 2017 Get It Right Football training product. This User Guide is intended to clarify the navigation features of the program as well as help guide officials on the content

More information

GUIDE TO GAME LOBBY FOR STRAT-O-MATIC COMPUTER BASEBALL By Jack Mitchell

GUIDE TO GAME LOBBY FOR STRAT-O-MATIC COMPUTER BASEBALL By Jack Mitchell GUIDE TO GAME LOBBY FOR STRAT-O-MATIC COMPUTER BASEBALL By Jack Mitchell Game Lobby (also referred to as NetPlay) is a valuable feature of Strat-O-Matic Computer Baseball that serves three purposes: 1.

More information

CISC 1600, Lab 2.2: More games in Scratch

CISC 1600, Lab 2.2: More games in Scratch CISC 1600, Lab 2.2: More games in Scratch Prof Michael Mandel Introduction Today we will be starting to make a game in Scratch, which ultimately will become your submission for Project 3. This lab contains

More information

Distributed Settlers of Catan

Distributed Settlers of Catan Distributed Settlers of Catan Hassan Alsibyani, Tim Mickel, Willy Vasquez, Xiaoyue Zhang Massachusetts Institute of Technology May 15, 2014 Abstract Settlers of Catan is a popular multiplayer board game

More information

Engineering at a Games Company: What do we do?

Engineering at a Games Company: What do we do? Engineering at a Games Company: What do we do? Dan White Technical Director Pipeworks October 17, 2018 The Role of Engineering at a Games Company Empower game designers and artists to realize their visions

More information

A Distributed Architecture for Massively Multiplayer Online Games

A Distributed Architecture for Massively Multiplayer Online Games This is a draft for updates please see: http://facultycsbyuedu/~zappala A Distributed Architecture for Massively Multiplayer Online Games Chris GauthierDickey Department of Computer Science 1202 University

More information

Black Ops 2 Manual Update List Ps3 Weapons

Black Ops 2 Manual Update List Ps3 Weapons Black Ops 2 Manual Update List Ps3 Weapons Call of Duty Black Ops 2 Introduction - Call of Duty Black Ops 2 walkthrough and guide, Game Updates To find cheats, hints, codes and more help for a game search

More information

Openlobby: an open game server for lobby and matchmaking

Openlobby: an open game server for lobby and matchmaking Journal of Physics: Conference Series PAPER OPEN ACCESS Openlobby: an open game server for lobby and matchmaking To cite this article: E M Zamzami et al 2018 J. Phys.: Conf. Ser. 978 012069 View the article

More information

AntiCheat: Cheat Detection and Prevention in P2P MOGs

AntiCheat: Cheat Detection and Prevention in P2P MOGs AntiCheat: Cheat Detection and Prevention in P2P MOGs McGill School of Computer Science Technical Report (SOCS-TR) Kévin Huguenin, Amir Yahyavi, and Bettina Kemme School of Computer Science, McGill University,

More information

A New Steganographic Method for Palette-Based Images

A New Steganographic Method for Palette-Based Images A New Steganographic Method for Palette-Based Images Jiri Fridrich Center for Intelligent Systems, SUNY Binghamton, Binghamton, NY 13902-6000 Abstract In this paper, we present a new steganographic technique

More information

BOLT ACTION COMBAT PATROL

BOLT ACTION COMBAT PATROL THURSDAY :: MARCH 23 6:00 PM 11:45 PM BOLT ACTION COMBAT PATROL Do not lose this packet! It contains all necessary missions and results sheets required for you to participate in today s tournament. It

More information

Problem 1 (15 points: Graded by Shahin) Recall the network structure of our in-class trading experiment shown in Figure 1

Problem 1 (15 points: Graded by Shahin) Recall the network structure of our in-class trading experiment shown in Figure 1 Solutions for Homework 2 Networked Life, Fall 204 Prof Michael Kearns Due as hardcopy at the start of class, Tuesday December 9 Problem (5 points: Graded by Shahin) Recall the network structure of our

More information

Game Playing for a Variant of Mancala Board Game (Pallanguzhi)

Game Playing for a Variant of Mancala Board Game (Pallanguzhi) Game Playing for a Variant of Mancala Board Game (Pallanguzhi) Varsha Sankar (SUNet ID: svarsha) 1. INTRODUCTION Game playing is a very interesting area in the field of Artificial Intelligence presently.

More information

Team 11. Flingshot. An infinite mobile climber game which uses the touch screen to control the character.

Team 11. Flingshot. An infinite mobile climber game which uses the touch screen to control the character. Team 11 Dylan Herrig James Glass Zach Bruennig Kate Ramge Ryan Kass Flingshot Project Synopsis An infinite mobile climber game which uses the touch screen to control the character. Project Description

More information

Before you play 2. Playing a game over a local network (LAN) - Stronghold 3. Hosting Screen - Stronghold 4

Before you play 2. Playing a game over a local network (LAN) - Stronghold 3. Hosting Screen - Stronghold 4 Before you play 2 Playing a game over a local network (LAN) - Stronghold 3 Hosting Screen - Stronghold 4 Playing a game over a local network (LAN) - Stronghold Crusader 7 Hosting Screen - Stronghold Crusader

More information

Lecture 3: Modulation & Clock Recovery. CSE 123: Computer Networks Stefan Savage

Lecture 3: Modulation & Clock Recovery. CSE 123: Computer Networks Stefan Savage Lecture 3: Modulation & Clock Recovery CSE 123: Computer Networks Stefan Savage Lecture 3 Overview Signaling constraints Shannon s Law Nyquist Limit Encoding schemes Clock recovery Manchester, NRZ, NRZI,

More information

Hacking for Beginners: The Complete Guide

Hacking for Beginners: The Complete Guide Hacking for Beginners: The Complete Guide Tim Barnes Copyright 2017 by Tim Barnes - All rights reserved. The following ebook is reproduced below with the goal of providing information that is as accurate

More information

Broadcast Ionospheric Model Accuracy and the Effect of Neglecting Ionospheric Effects on C/A Code Measurements on a 500 km Baseline

Broadcast Ionospheric Model Accuracy and the Effect of Neglecting Ionospheric Effects on C/A Code Measurements on a 500 km Baseline Broadcast Ionospheric Model Accuracy and the Effect of Neglecting Ionospheric Effects on C/A Code Measurements on a 500 km Baseline Intro By David MacDonald Waypoint Consulting May 2002 The ionosphere

More information