PlaneShift October, 2008

Size: px
Start display at page:

Download "PlaneShift October, 2008"

Transcription

1 PlaneShift October, 2008

2 What is PlaneShift MMORPG Like EverQuest or World of Warcraft Extremely ambitious project Free to Play All code under GPL All content under PlaneShift license

3 Made by Amateurs Project started in 2000, by Luca Pancallo in Italy Volunteer project with many contributors 62 coders have directly committed code in the project (22 have over 100 commits) Dozens have submitted patches without direct write access as well. Dozens more have worked on other subteams Relatively large project About 400K lines of C++ in the core applications, in about 1200 classes Uses Crystal Space opengl library, which is >1 million lines of code itself Uses mysql database. >70 tables and >5GB of data 560,000 registered players have tried it, with essentially zero PR. But average concurrently online is only x7.

4 MMO s are complex Normal open source team structure Coding team QA team if you re really organized

5 MMO s are complex PS team structure 2d (concept art, textures) 3d (world/terrain, items, monsters, characters, animation) Sound (effects, background music) Rules (item stats, item definitions, player stats, balancing, progression) Settings (names, npc definitions, quests, histories, books, spells) Web development (game content management) Engine (coding) + QA team Key learning point for me on the project: The content is much more difficult, time-consuming and costly than the engine.

6 Server Unique Design Constraints No money = donated hardware Everything runs on 1 box right now If we move to multiple boxes, they will almost certainly not be colocated = High latency No money = volunteer development team High turnover on a large project Learning curve is a major issue Modularity of design is critical

7 So let s see it

8 Server Design

9 Overview Core of server is an event dispatcher Events can be: Network messages Time triggered messages Intra-server messages No distinction is made internally between these other than queue priority Basic Producer/Consumer threading model for networking vs worker threads. Publish/Subscribe Architecture allows for managers to act like plugins, each specializing in a certain class of events.

10 Benefits of Manager model Classes defined along functional game lines Combat, Spells, Chat, Login all in distinct sources Easy to find code that handles a feature of interest Lower learning curve Get comfortable with a single source file before moving on to others Some never move on, but become the deep maintainers of a certain manager Easy to bolt in new functionality One more manager has no effect on performance or on other managers

11 Manager model in PS

12 Networking / Entity Management

13 Base networking UDP based TCP can result in higher latency due to guarantees on ordering of packets Two priority levels of messages Guaranteed delivery (High) Non-guaranteed delivery (Low) We need a third priority Guaranteed order (Highest) On the to-do list but not done yet Everything is packed pretty tightly byte by byte, and endian correct #1 limiting factor on server capacity is bandwidth consumption Not CPU Not Memory

14 Entity Management Server maintains all entities in-game An entity is any object added after the fact to the maps Characters, monsters, npcs, items dropped by players Each client gets a small subset of these entities As a result, entities are constantly being created and destroyed on each client The server maintains a Proximity List for each client, which holds all relevant entities for that client Prox Lists determine what is visible to each client, which means it determines what updates are relevant to each client also

15 Proximity Lists Diagram A B C D E F G H I J K L M N O P Player F can see himself and 5 other characters Player H can see himself and 6 other characters

16 Proximity Lists Relevance is determined by: Within a threshold distance to the player visible to the player (complex) Within the same instance (or compatible instance) to the player Benefits Better for security (see future slides) Minimizes bandwidth to relevant bandwidth Very easy construct for Managers to use with broadcasting (multicasting) Costs Server spends a lot of time maintaining and updating prox lists

17 Proximity Lists Diagram A B C D E F G H I J K L M N O P

18 Scripting in the Server The game server uses several types of home-made scripting to implement gameplay rather than C++ code. Benefits Possible for non-programmers to produce (Rules, Settings, 2d) Proprietary content not subject to GPL (i.e. secret) Engine team concentrates on extending the scripting languages rather than coding new features directly Meta programming is much more efficient in developer time Costs Complexity of meta code increases learning curve for programmers

19 Math Scripts "Calculate Repair Time" Difficulty = Object:SalePrice/100; Factor = Worker:getSkillValue(Object:RequiredRepairSkill) / (Object:SalePrice/20); Result = Difficulty / Factor; "Calculate Repair Result" Factor = Worker:getSkillValue(Object:RequiredRepairSkill) / (Object:SalePrice/20); Result = ((Object:SalePrice/25) * Factor) * (rnd(1)+0.5); Highlights Precompiled to p-code on server startup Dynamic binding to objects like Object and Worker above Any C++ class can be bound if it implements iscriptable

20 Progression Scripts "DamageHP" <evt> <hp aim="target" value="-param0" /> <msg aim="target" text="you lost $Param0 hitpoints."/> <msg aim="actor" text="you hit $Target for $Param0 hitpoints."/> </evt> Highlights Loaded and compiled to virtual function calls (each operation is a mini-class) Scriptable by Rules team Value attribute can be any single line mathscript.

21 Quest Scripts Quest: "Male Enki Alina Quest" P: Greetings Marth: Hail! Would you like to earn a little money? P: No P: Yes M: Well ok then. Have a good day. M: My daughter Alina ran off with the smith and I fear they are up to no good. If you can find out if he really loves her, I'll pay you. Can you do this for me? P: No P: Yes M: Fair enough. I guess I'll just try to find someone else. M: Last time I caught them upstairs above the blacksmith shop. Please hurry up and ask her! Assign Quest. <snip> P: Greetings Marth: Oh I'm so glad you are back. Did you find him? Does he love her?{him:smith,her:alina} P: * P: Smith says Smith does. Smith love Alina. M: That isn't what Thalia told me 5 minutes ago. You're just faking to get the money! Go away! M: Ah! Thank heavens. Perhaps now they will get married! Thanks for your help! Give 25 tria.

22 NPC Management

23 NPC AI is hard to scale We have a monolithic server today 100 concurrent players takes <5% CPU We can scale up with players fairly far before machine capacity of the core server is an issue. AI is computationally expensive The smarter the monsters, the more expensive AI techniques evolve constantly (and get more expensive) Deep experts exist who may contribute to the game someday AI doesn t belong in the same process, or on the same machine as the server

24 Superclient Architecture psserver NpcManager psclient psclient psclient psclient psclient psclient npcclient npcclient npcclient

25 Superclient Concepts Separate process Connects to server over the network Uses same protocols as client for some things Uses additional special messaging for bulk information transfer NpcManager class on server Handles these special messages, and unrolls them for the rest of the server, republishing them.

26 Superclient Benefits Simplicity in server/client NpcManager emulation layer means there is no distinction between human and automated players in almost the entire server. There is no distinction on a client machine between an NPC and a remote player. Scalability Net connected separate process means the process could be on its own machine. Connecting as a client means that multiple superclients can be connected concurrently. Future expansion No limitations on AI techniques used as long as net protocol is followed by each superclient.

27 How we do NPC AI Artificial Stupidity Monsters don t need much intelligence to be challenging to players (Pac-Man) Emphasis on CPU efficiency and flexibility 1 Superclient controls approximately 300 mobile npcs with <10% cpu today

28 AI Scripting Model - NPCTypes NPCs divided into types or classes All scripting is done at the type level Types consist of Set of Behaviors Set of Reactions to Perceptions Perceptions sent by the game server Perceptions generated internally by the npcclient Inheritance structure for npc types Behavior/Reaction overloading Loose structure enables very flexible scripting and potentially emergent behavior Very hard to debug and maintain

29 AI Scripting Model NPC s Each NPC in the game maintains Priority queue of behaviors in its NPCType, prioritized by need to perform the behavior Hate list of known players who have hurt or helped the NPC NPC runs the script for the behavior with highest need Reactions to perceptions only affect needs and hate. If the need gets high enough, the current behavior is interrupted and replaced with a new behavior. Hate affects targeting in attacks, mostly.

30 AI Scripting Example <npctype name="fighter"> <behavior name="do nothing"> <wait duration="1" anim="stand" /> </behavior> <behavior name="turn" completion_decay="-1"> <rotate type="random" min="90" max="270" anim="walk" ang_vel="30" /> <move vel="2" anim="walk" duration="1.0"/> </behavior> <behavior name="fight"> <locate obj="target" range="50"/> <rotate type="locatedest" anim="walk" ang_vel="120" /> <melee seek_range="50" melee_range="3" /> </behavior> <behavior name="chase" completion_decay="100"> <chase type="target" anim="run" vel="5" /> </behavior> <react event="collision" behavior="turn" /> <react event="out of bounds" behavior="turn" /> <react event="attack" behavior="fight" /> <react event="damage" behavior="fight" delta="20" weight="1" /> <react event="target out of range" behavior="chase" /> <react event="death" behavior="fight" delta="0" /> </npctype>

31 Game Security in Open Source

32 Security Problems with Open Source Hacked clients are trivial Speed/Teleport/Anti-gravity mods Visibility mods Bots and Macroing Collision detection hacks Map hacks Item art hacks Texture mods

33 How to combat these? No defense, low impact Texture mods: They are fun to look at but only visible to the player with the mods Item art hacks: Tight prox list radius on critical small items minimizes impact High impact, Easy defense Visibility mods: Use of prox lists gives us tight control over what is available for the cheater to see Speed/Teleport mods: Server can compare before and after positions and kick out cheaters

34 High impact, Hard defense Bots and Macroing Extremely hard to detect automatically PS is focusing on making repetitive activities less valuable to the player, so diminishing returns makes automation less valuable Collision detection & Map hacks Very expensive in CPU and RAM to monitor on the server centrally. Roadmap is to use a superclient type approach and have a separate process connect to the server to watch for cheaters, focusing on individuals at random intervals.

35 Follow up Main game website Project Director is Luca Pancallo Keith Fulton Come help the team if you like free games and you have a lot of free time!

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

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

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

NPC Dialog, NPC Scripting and Progression Script Syntax

NPC Dialog, NPC Scripting and Progression Script Syntax NPC Dialog, NPC Scripting and Progression Script Syntax Document version: 0.9.1 Status: Draft Last Modification: 2004.12.10 Created by: Anders Reggestad Other authors: Andrew Craig, Keith Fulton Table

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

IMGD 1001: Programming Practices; Artificial Intelligence

IMGD 1001: Programming Practices; Artificial Intelligence IMGD 1001: Programming Practices; Artificial Intelligence Robert W. Lindeman Associate Professor Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu Outline Common Practices Artificial

More information

Programming with network Sockets Computer Science Department, University of Crete. Manolis Surligas October 16, 2017

Programming with network Sockets Computer Science Department, University of Crete. Manolis Surligas October 16, 2017 Programming with network Sockets Computer Science Department, University of Crete Manolis Surligas surligas@csd.uoc.gr October 16, 2017 Manolis Surligas (CSD, UoC) Programming with network Sockets October

More information

IMGD 1001: Programming Practices; Artificial Intelligence

IMGD 1001: Programming Practices; Artificial Intelligence IMGD 1001: Programming Practices; Artificial Intelligence by Mark Claypool (claypool@cs.wpi.edu) Robert W. Lindeman (gogo@wpi.edu) Outline Common Practices Artificial Intelligence Claypool and Lindeman,

More information

COPYRIGHTED MATERIAL. Learning to Program. Part. In This Part

COPYRIGHTED MATERIAL. Learning to Program. Part. In This Part Part In This Part I Learning to Program Chapter 1: Programming for World of Warcraft Chapter 2: Exploring Lua Basics Chapter 3: Basic Functions and Control Structures Chapter 4: Working with Tables Chapter

More information

Principles of Computer Game Design and Implementation. Lecture 29

Principles of Computer Game Design and Implementation. Lecture 29 Principles of Computer Game Design and Implementation Lecture 29 Putting It All Together Games are unimaginable without AI (Except for puzzles, casual games, ) No AI no computer adversary/companion Good

More information

the gamedesigninitiative at cornell university Lecture 10 Game Architecture

the gamedesigninitiative at cornell university Lecture 10 Game Architecture Lecture 10 2110-Level Apps are Event Driven Generates event e and n calls method(e) on listener Registers itself as a listener @105dc method(event) Listener JFrame Listener Application 2 Limitations of

More information

Building the Server Software for Eliminate

Building the Server Software for Eliminate Building the Server Software for Eliminate Introduction Stephen Detwiler Director of Engineering, ngmoco:) James Marr Lead Engineer R&D, ngmoco:) Introduction Build the definitive FPS for iphone in only

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Lecture 01 - Introduction Edirlei Soares de Lima What is Artificial Intelligence? Artificial intelligence is about making computers able to perform the

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology http://www.cs.utexas.edu/~theshark/courses/cs354r/ Fall 2017 Instructor and TAs Instructor: Sarah Abraham theshark@cs.utexas.edu GDC 5.420 Office Hours: MW4:00-6:00pm

More information

"!" - Game Modding and Development Kit (A Work Nearly Done) '08-'10. Asset Browser

! - Game Modding and Development Kit (A Work Nearly Done) '08-'10. Asset Browser "!" - Game Modding and Development Kit (A Work Nearly Done) '08-'10 Asset Browser Zoom Image WoW inspired side-scrolling action RPG game modding and development environment Built in Flash using Adobe Air

More information

Propietary Engine VS Commercial engine. by Zalo

Propietary Engine VS Commercial engine. by Zalo Propietary Engine VS Commercial engine by Zalo zalosan@gmail.com About me B.S. Computer Engineering 9 years of experience, 5 different companies 3 propietary engines, 2 commercial engines I have my own

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

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology Introduction to Game AI Fall 2018 What does the A stand for? 2 What is AI? AI is the control of every non-human entity in a game The other cars in a car game The opponents

More information

Game Architecture. Rabin is a good overview of everything to do with Games A lot of these slides come from the 1 st edition CS

Game Architecture. Rabin is a good overview of everything to do with Games A lot of these slides come from the 1 st edition CS Game Architecture Rabin is a good overview of everything to do with Games A lot of these slides come from the 1 st edition CS 4455 1 Game Architecture The code for modern games is highly complex Code bases

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

Program a Game Engine from Scratch. Chapter 1 - Introduction

Program a Game Engine from Scratch. Chapter 1 - Introduction Program a Game Engine from Scratch Mark Claypool Chapter 1 - Introduction This document is part of the book Dragonfly Program a Game Engine from Scratch, (Version 5.0). Information online at: http://dragonfly.wpi.edu/book/

More information

THE SECRET IN THE BASEMENT BY NICK SMITH

THE SECRET IN THE BASEMENT BY NICK SMITH THE SECRET IN THE BASEMENT BY NICK SMITH DOWNLOAD EBOOK : Click link bellow and free register to download ebook: THE SECRET IN THE BASEMENT BY NICK SMITH DOWNLOAD FROM OUR ONLINE LIBRARY Checking out the

More information

[8/16/2015 5:48:32 PM] Matas: So man, is it possible with good money have lots of players in usa?

[8/16/2015 5:48:32 PM] Matas: So man, is it possible with good money have lots of players in usa? Downloaded from: justpaste.it/n498 PM] *** Hi Matas, I'd like to add you as a contact. *** [8/16/2015 5:47:57 PM] *** Matas has shared contact details with David Eagan. *** [8/16/2015 5:48:23 PM] Matas:

More information

Like Mobile Games* Currently a Distinguished i Engineer at Zynga, and CTO of FarmVille 2: Country Escape (for ios/android/kindle)

Like Mobile Games* Currently a Distinguished i Engineer at Zynga, and CTO of FarmVille 2: Country Escape (for ios/android/kindle) Console Games Are Just Like Mobile Games* (* well, not really. But they are more alike than you think ) Hi, I m Brian Currently a Distinguished i Engineer at Zynga, and CTO of FarmVille 2: Country Escape

More information

Product Overview. Dream Report. OCEAN DATA SYSTEMS The Art of Industrial Intelligence. User Friendly & Programming Free Reporting.

Product Overview. Dream Report. OCEAN DATA SYSTEMS The Art of Industrial Intelligence. User Friendly & Programming Free Reporting. Dream Report OCEAN DATA SYSTEMS The Art of Industrial Intelligence User Friendly & Programming Free Reporting. Dream Report for DGH Modules Dream Report Product Overview Applications Compliance Performance

More information

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

Local Perception Filter

Local Perception Filter Local Perception Filter 1 A S B With Time Sync 2 A S B Without Time Sync 3 Maintaining tightly synchronized states 4 States can go out of date. A player sees a state that happened t seconds ago. 5 Hybrid

More information

The purpose of this document is to outline the structure and tools that come with FPS Control.

The purpose of this document is to outline the structure and tools that come with FPS Control. FPS Control beta 4.1 Reference Manual Purpose The purpose of this document is to outline the structure and tools that come with FPS Control. Required Software FPS Control Beta4 uses Unity 4. You can download

More information

Artificial Intelligence for Games. Santa Clara University, 2012

Artificial Intelligence for Games. Santa Clara University, 2012 Artificial Intelligence for Games Santa Clara University, 2012 Introduction Class 1 Artificial Intelligence for Games What is different Gaming stresses computing resources Graphics Engine Physics Engine

More information

Make Your Own Game Tutorial VII: Creating Encounters Part 2

Make Your Own Game Tutorial VII: Creating Encounters Part 2 Aspects of Encounter Balance Despite what you might think, Encounter Balance is not all about difficulty. Difficulty is a portion, but there are many moving parts that you want to take into account when

More information

AGENTLESS ARCHITECTURE

AGENTLESS ARCHITECTURE ansible.com +1 919.667.9958 WHITEPAPER THE BENEFITS OF AGENTLESS ARCHITECTURE A management tool should not impose additional demands on one s environment in fact, one should have to think about it as little

More information

..\/...\.\../... \/... \ / / C Sc 335 Fall 2010 Final Project

..\/...\.\../... \/... \ / / C Sc 335 Fall 2010 Final Project ..\/.......\.\../...... \/........... _ _ \ / / C Sc 335 Fall 2010 Final Project Overview: A MUD, or Multi-User Dungeon/Dimension/Domain, is a multi-player text environment (The player types commands and

More information

Google SEO Optimization

Google SEO Optimization Google SEO Optimization Think about how you find information when you need it. Do you break out the yellow pages? Ask a friend? Wait for a news broadcast when you want to know the latest details of a breaking

More information

Killzone Shadow Fall: Threading the Entity Update on PS4. Jorrit Rouwé Lead Game Tech, Guerrilla Games

Killzone Shadow Fall: Threading the Entity Update on PS4. Jorrit Rouwé Lead Game Tech, Guerrilla Games Killzone Shadow Fall: Threading the Entity Update on PS4 Jorrit Rouwé Lead Game Tech, Guerrilla Games Introduction Killzone Shadow Fall is a First Person Shooter PlayStation 4 launch title In SP up to

More information

An Overview of the Mimesis Architecture: Integrating Intelligent Narrative Control into an Existing Gaming Environment

An Overview of the Mimesis Architecture: Integrating Intelligent Narrative Control into an Existing Gaming Environment An Overview of the Mimesis Architecture: Integrating Intelligent Narrative Control into an Existing Gaming Environment R. Michael Young Liquid Narrative Research Group Department of Computer Science NC

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

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

Multiplayer Game Design and Development CSC 631/831. Lecture 1 Spring 2016

Multiplayer Game Design and Development CSC 631/831. Lecture 1 Spring 2016 Multiplayer Game Design and Development CSC 631/831 Lecture 1 Spring 2016 Course bjective 2 The whole class works together to build a working Multiplayer nline game, from design through development to

More information

Mobile Multiplayer Real-time Games over Wireless Networks

Mobile Multiplayer Real-time Games over Wireless Networks Mobile Multiplayer Real-time Games over Wireless Networks Alf Inge Wang, Martin Jarret, and Eivind Sorteberg Dept. of Computer and Information Science Norwegian University of Science and Technology alfw/jarret/sorteberg@idi.ntnu.no

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

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

Once this function is called, it repeatedly does several things over and over, several times per second:

Once this function is called, it repeatedly does several things over and over, several times per second: Alien Invasion Oh no! Alien pixel spaceships are descending on the Minecraft world! You'll have to pilot a pixel spaceship of your own and fire pixel bullets to stop them! In this project, you will recreate

More information

Console Games Are Just Like Mobile Games* (* well, not really. But they are more alike than you

Console Games Are Just Like Mobile Games* (* well, not really. But they are more alike than you Console Games Are Just Like Mobile Games* (* well, not really. But they are more alike than you think ) Hi, I m Brian Currently a Software Architect at Zynga, and CTO of CastleVille Legends (for ios/android)

More information

Learning Artificial Intelligence in Large-Scale Video Games

Learning Artificial Intelligence in Large-Scale Video Games Learning Artificial Intelligence in Large-Scale Video Games A First Case Study with Hearthstone: Heroes of WarCraft Master Thesis Submitted for the Degree of MSc in Computer Science & Engineering Author

More information

Scalability and Consistency in Peer-to-Peer Based Network Gaming

Scalability and Consistency in Peer-to-Peer Based Network Gaming 1 Scalability and Consistency in Peer-to-Peer Based Network Gaming Author, Wei Li, Student of MSc Computer Games Engineering, Newcastle University Abstract This article presents two key features, scalability

More information

Concrete Architecture of SuperTuxKart

Concrete Architecture of SuperTuxKart Concrete Architecture of SuperTuxKart Team Neo-Tux Latifa Azzam - 10100517 Zainab Bello - 10147946 Yuen Ting Lai (Phoebe) - 10145704 Jia Yue Sun (Selena) - 10152968 Shirley (Xue) Xiao - 10145624 Wanyu

More information

Examples of Referrals Requests

Examples of Referrals Requests 1) A Dating Coach Examples of Referrals Requests Background: Laura is a personal life coach specializing in helping women date and find a spouse. Laura is like an ultimate big sister" - a senior female

More information

the gamedesigninitiative at cornell university Lecture 4 Game Components

the gamedesigninitiative at cornell university Lecture 4 Game Components Lecture 4 Game Components Lecture 4 Game Components So You Want to Make a Game? Will assume you have a design document Focus of next week and a half Building off ideas of previous lecture But now you want

More information

Mass Effect 3 Multiplayer Guide Xbox 360 Controller Patch

Mass Effect 3 Multiplayer Guide Xbox 360 Controller Patch Mass Effect 3 Multiplayer Guide Xbox 360 Controller Patch For Mass Effect 3 on the Xbox 360, a GameFAQs message board topic titled "Mass Effect Trilogy PS3 vs 360 vs PC?". I played Mass Effect 3 (multiplayer

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

The relationship between Gold Raid Team and World of Warcraft s Economy On Chinese. Servers. Han Li. WRIT 1133 class. University of Denver

The relationship between Gold Raid Team and World of Warcraft s Economy On Chinese. Servers. Han Li. WRIT 1133 class. University of Denver 1 The relationship between Gold Raid Team and World of Warcraft s Economy On Chinese Servers Han Li WRIT 1133 class University of Denver 1 2 Background Introduction NCTY was the operator of WoW in China,

More information

ANT Channel Search ABSTRACT

ANT Channel Search ABSTRACT ANT Channel Search ABSTRACT ANT channel search allows a device configured as a slave to find, and synchronize with, a specific master. This application note provides an overview of ANT channel establishment,

More information

How to use messages on hold to grow your small business.

How to use messages on hold to grow your small business. How to use messages on hold to grow your small business. Transcribed from the September, 2016 Tom Borg Business Builders Tele-seminar. http://tomborgconsulting.com Hello everyone, and welcome to our Business

More information

Microwave Engineering Project Use Cases

Microwave Engineering Project Use Cases Microwave Engineering Project Use Cases Version 1 By KB5MU, W5NYV 18 March 2008 Version 2 By KB5MU, W5NYV 27 July 2008 Comments to W5NYV@yahoo.com Voice and Text Applications Under Study 2m repeater operation

More information

welcome to the world of atys! this is the first screen you will load onto after logging.this is the character-generating screen.

welcome to the world of atys! this is the first screen you will load onto after logging.this is the character-generating screen. welcome to the world of atys! this is the first screen you will load onto after logging.this is the character-generating screen. Choose an empty slot. This is where your character will be placed after

More information

USING A FUZZY LOGIC CONTROL SYSTEM FOR AN XPILOT COMBAT AGENT ANDREW HUBLEY AND GARY PARKER

USING A FUZZY LOGIC CONTROL SYSTEM FOR AN XPILOT COMBAT AGENT ANDREW HUBLEY AND GARY PARKER World Automation Congress 21 TSI Press. USING A FUZZY LOGIC CONTROL SYSTEM FOR AN XPILOT COMBAT AGENT ANDREW HUBLEY AND GARY PARKER Department of Computer Science Connecticut College New London, CT {ahubley,

More information

Making Simple Decisions CS3523 AI for Computer Games The University of Aberdeen

Making Simple Decisions CS3523 AI for Computer Games The University of Aberdeen Making Simple Decisions CS3523 AI for Computer Games The University of Aberdeen Contents Decision making Search and Optimization Decision Trees State Machines Motivating Question How can we program rules

More information

What is Dual Boxing? Why Should I Dual Box? Table of Contents

What is Dual Boxing? Why Should I Dual Box? Table of Contents Table of Contents What is Dual Boxing?...1 Why Should I Dual Box?...1 What Do I Need To Dual Box?...2 Windowed Mode...3 Optimal Setups for Dual Boxing...5 This is the best configuration for dual or multi-boxing....5

More information

Ten Years As A Five Figure A Month Writer And Habitual Idea Scribbler In The Internet Marketing Niche

Ten Years As A Five Figure A Month Writer And Habitual Idea Scribbler In The Internet Marketing Niche Ten Years As A Five Figure A Month Writer And Habitual Idea Scribbler In The Internet Marketing Niche By Tony Shepherd Copyright Tony Shepherd All Rights Reserved (Feel free to share or give this report

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

IMGD 1001: Fun and Games

IMGD 1001: Fun and Games IMGD 1001: Fun and Games by Mark Claypool (claypool@cs.wpi.edu) Robert W. Lindeman (gogo@wpi.edu) Outline What is a Game? Genres What Makes a Good Game? Claypool and Lindeman, WPI, CS and IMGD 2 1 What

More information

Scalable and Lightweight CTF Infrastructures Using Application Containers

Scalable and Lightweight CTF Infrastructures Using Application Containers Scalable and Lightweight CTF Infrastructures Using Application Containers Arvind S Raj, Bithin Alangot, Seshagiri Prabhu and Krishnashree Achuthan Amrita Center for Cybersecurity Systems and Networks Amrita

More information

Gillian Smith.

Gillian Smith. Gillian Smith gillian@ccs.neu.edu CIG 2012 Keynote September 13, 2012 Graphics-Driven Game Design Graphics-Driven Game Design Graphics-Driven Game Design Graphics-Driven Game Design Graphics-Driven Game

More information

Procedural Content Generation

Procedural Content Generation Lecture 14 Generation In Beginning, There Was Rogue 2 In Beginning, There Was Rogue Roguelike Genre Classic RPG style Procedural dungeons Permadeath 3 A Brief History of Roguelikes Precursors (1978) Beneath

More information

Procedural Content Generation

Procedural Content Generation Lecture 13 Generation In Beginning, There Was Rogue 2 In Beginning, There Was Rogue Roguelike Genre Classic RPG style Procedural dungeons Permadeath 3 A Brief History of Roguelikes Precursors (1978) Beneath

More information

G54GAM - Games. So.ware architecture of a game

G54GAM - Games. So.ware architecture of a game G54GAM - Games So.ware architecture of a game Coursework Coursework 2 and 3 due 18 th May Design and implement prototype game Write a game design document Make a working prototype of a game Make use of

More information

Simulation Case study

Simulation Case study CSA2181 (Simulation Part ) Simulation A simple distributed architecture for emergency response exercises A simple distributed simulation for support of emergency response exercises. Immersive Synthetic

More information

2320 cousteau court

2320 cousteau court Technical Brief AN139 Rev C22 2320 cousteau court 1-760-444-5995 sales@raveon.com www.raveon.com RV-M7 GX with TDMA Data By John Sonnenberg Raveon Technologies Corporation Overview The RV-M7 GX radio modem

More information

Video Transcript. Hi, this is Don Crowther with a video about Adding Closed Captioning to Your YouTube Videos.

Video Transcript. Hi, this is Don Crowther with a video about Adding Closed Captioning to Your YouTube Videos. Video Transcript Hi, this is Don Crowther with a video about Adding Closed Captioning to Your YouTube Videos. Closed captioning has been around for a number of years. It is a great way for those who are

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

Experiment 02 Interaction Objects

Experiment 02 Interaction Objects Experiment 02 Interaction Objects Table of Contents Introduction...1 Prerequisites...1 Setup...1 Player Stats...2 Enemy Entities...4 Enemy Generators...9 Object Tags...14 Projectile Collision...16 Enemy

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

Spell Casting Motion Pack 8/23/2017

Spell Casting Motion Pack 8/23/2017 The Spell Casting Motion pack requires the following: Motion Controller v2.50 or higher Mixamo s free Pro Magic Pack (using Y Bot) Importing and running without these assets will generate errors! Why can

More information

CSTA K- 12 Computer Science Standards: Mapped to STEM, Common Core, and Partnership for the 21 st Century Standards

CSTA K- 12 Computer Science Standards: Mapped to STEM, Common Core, and Partnership for the 21 st Century Standards CSTA K- 12 Computer Science s: Mapped to STEM, Common Core, and Partnership for the 21 st Century s STEM Cluster Topics Common Core State s CT.L2-01 CT: Computational Use the basic steps in algorithmic

More information

Artificial Intelligence Paper Presentation

Artificial Intelligence Paper Presentation Artificial Intelligence Paper Presentation Human-Level AI s Killer Application Interactive Computer Games By John E.Lairdand Michael van Lent ( 2001 ) Fion Ching Fung Li ( 2010-81329) Content Introduction

More information

Living city in Mafia Ma II Jan Kratochvíl 2K Czech Cz

Living city in Mafia Ma II Jan Kratochvíl 2K Czech Cz Living city in Mafia II Jan Kratochvíl 2K Czech Content What are our goals? Filling the city with elements Create some action Car driver Bringing order to the city (Police) What went wrong Goals Full of

More information

Towards a Reference Architecture for 3D First Person Shooter Games

Towards a Reference Architecture for 3D First Person Shooter Games Towards a Reference Architecture for 3D First Person Shooter Games Philip Liew-pliew@swen.uwaterloo.ca Ali Razavi-arazavi@swen.uwaterloo.ca Atousa Pahlevan-apahlevan@cs.uwaterloo.ca April 6, 2004 Abstract

More information

Individual Test Item Specifications

Individual Test Item Specifications Individual Test Item Specifications 8208110 Game and Simulation Foundations 2015 The contents of this document were developed under a grant from the United States Department of Education. However, the

More information

OCEAN DATA SYSTEMS The Art of Industrial Intelligence. User Friendly & Programming Free Reporting. Product Overview. Dream Report

OCEAN DATA SYSTEMS The Art of Industrial Intelligence. User Friendly & Programming Free Reporting. Product Overview. Dream Report Dream Report OCEAN DATA SYSTEMS The Art of Industrial Intelligence User Friendly & Programming Free Reporting. Dream Report Product Overview Applications Compliance Performance Quality Corporate Dashboards

More information

Key Abstractions in Game Maker

Key Abstractions in Game Maker Key Abstractions in Game Maker Foundations of Interactive Game Design Prof. Jim Whitehead January 19, 2007 Creative Commons Attribution 2.5 creativecommons.org/licenses/by/2.5/ Upcoming Assignments Today:

More information

COLD CALLING SCRIPTS

COLD CALLING SCRIPTS COLD CALLING SCRIPTS Portlandrocks Hello and welcome to this portion of the WSO where we look at a few cold calling scripts to use. If you want to learn more about the entire process of cold calling then

More information

Instrumentation and Control

Instrumentation and Control Program Description Instrumentation and Control Program Overview Instrumentation and control (I&C) and information systems impact nuclear power plant reliability, efficiency, and operations and maintenance

More information

VACUUM MARAUDERS V1.0

VACUUM MARAUDERS V1.0 VACUUM MARAUDERS V1.0 2008 PAUL KNICKERBOCKER FOR LANE COMMUNITY COLLEGE In this game we will learn the basics of the Game Maker Interface and implement a very basic action game similar to Space Invaders.

More information

MITOCW Project: Backgammon tutor MIT Multicore Programming Primer, IAP 2007

MITOCW Project: Backgammon tutor MIT Multicore Programming Primer, IAP 2007 MITOCW Project: Backgammon tutor MIT 6.189 Multicore Programming Primer, IAP 2007 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue

More information

EVERYONE IS SOMEONE LYRICS

EVERYONE IS SOMEONE LYRICS 1)The Whole World s Watching I got this, bring it I ll dance it, I ll sing it I ll chance it, it s my choice Got my feet, got my voice Ignite the fire inside me Got my own light to guide me EVERYONE IS

More information

Welcome to the fun and exciting business of growing small plants for profit! Enjoy, learn, and prosper.

Welcome to the fun and exciting business of growing small plants for profit! Enjoy, learn, and prosper. This report is being sold as information only. There is no guarantee of success, either written or implied. Much more study and research is needed before any person should venture into a business. The

More information

Opponent Modelling In World Of Warcraft

Opponent Modelling In World Of Warcraft Opponent Modelling In World Of Warcraft A.J.J. Valkenberg 19th June 2007 Abstract In tactical commercial games, knowledge of an opponent s location is advantageous when designing a tactic. This paper proposes

More information

Virtual Reality RPG Spoken Dialog System

Virtual Reality RPG Spoken Dialog System Virtual Reality RPG Spoken Dialog System Project report Einir Einisson Gísli Böðvar Guðmundsson Steingrímur Arnar Jónsson Instructor Hannes Högni Vilhjálmsson Moderator David James Thue Abstract 1 In computer

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

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

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

HERO++ DESIGN DOCUMENT. By Team CreditNoCredit VERSION 6. June 6, Del Davis Evan Harris Peter Luangrath Craig Nishina

HERO++ DESIGN DOCUMENT. By Team CreditNoCredit VERSION 6. June 6, Del Davis Evan Harris Peter Luangrath Craig Nishina HERO++ DESIGN DOCUMENT By Team CreditNoCredit Del Davis Evan Harris Peter Luangrath Craig Nishina VERSION 6 June 6, 2011 INDEX VERSION HISTORY 4 Version 0.1 April 9, 2009 4 GAME OVERVIEW 5 Game logline

More information

Creating Dynamic Soundscapes Using an Artificial Sound Designer

Creating Dynamic Soundscapes Using an Artificial Sound Designer 46 Creating Dynamic Soundscapes Using an Artificial Sound Designer Simon Franco 46.1 Introduction 46.2 The Artificial Sound Designer 46.3 Generating Events 46.4 Creating and Maintaining the Database 46.5

More information

Hello, and welcome to this presentation of the STM32 Digital Filter for Sigma-Delta modulators interface. The features of this interface, which

Hello, and welcome to this presentation of the STM32 Digital Filter for Sigma-Delta modulators interface. The features of this interface, which Hello, and welcome to this presentation of the STM32 Digital Filter for Sigma-Delta modulators interface. The features of this interface, which behaves like ADC with external analog part and configurable

More information

Stress Testing the OpenSimulator Virtual World Server

Stress Testing the OpenSimulator Virtual World Server Stress Testing the OpenSimulator Virtual World Server Introduction OpenSimulator (http://opensimulator.org) is an open source project building a general purpose virtual world simulator. As part of a larger

More information

The 2 Key Skills to Success. Mastering the Invite. Mastering the Follow-Up

The 2 Key Skills to Success. Mastering the Invite. Mastering the Follow-Up The 2 Key Skills to Success Mastering the Invite Mastering the Follow-Up Learn to invite and follow-up and you WILL be successful! Objective of the Invite? Objective of the Invite? to get your contact

More information

Applications. > > Oil & Gas. > > RoVs and auvs. > > Oceanography. > > Monitoring stations. > > Seismic. > > Networks and relay chains

Applications. > > Oil & Gas. > > RoVs and auvs. > > Oceanography. > > Monitoring stations. > > Seismic. > > Networks and relay chains Underwater acoustic Modems EvoLogics S2CR - series underwater acoustic modems provide full-duplex digital communication delivering an excellent performance, resistant to the challenges of the dynamic subsea

More information

Sensible Chuckle SuperTuxKart Concrete Architecture Report

Sensible Chuckle SuperTuxKart Concrete Architecture Report Sensible Chuckle SuperTuxKart Concrete Architecture Report Sam Strike - 10152402 Ben Mitchell - 10151495 Alex Mersereau - 10152885 Will Gervais - 10056247 David Cho - 10056519 Michael Spiering Table of

More information

Saphira Robot Control Architecture

Saphira Robot Control Architecture Saphira Robot Control Architecture Saphira Version 8.1.0 Kurt Konolige SRI International April, 2002 Copyright 2002 Kurt Konolige SRI International, Menlo Park, California 1 Saphira and Aria System Overview

More information

Frequently Asked Questions ConnexRF Products

Frequently Asked Questions ConnexRF Products ConnexRF Products Version 1.1 PKLR2400S-200A PKLR2400S-10 LX2400S-3A LX2400S-10 13256 W. 98 TH STREET LENEXA, KS 66215 (800) 492-2320 www.aerocomm.com wireless@aerocomm.com DOCUMENT INFORMATION Copyright

More information