PlaneShift October, 2008
|
|
- Hope Austin
- 6 years ago
- Views:
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 Objectives Introduce overall structure of PS Explain certain design decisions Equip you to modify and add to engine consistent with existing structure
More informationBellairs 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 informationINTRODUCTION 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 informationNPC 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 informationIntroduction 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 informationIMGD 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 informationProgramming 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 informationIMGD 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 informationCOPYRIGHTED 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 informationPrinciples 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 informationthe 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 informationBuilding 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 informationArtificial 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 informationCS 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 Zoom Image WoW inspired side-scrolling action RPG game modding and development environment Built in Flash using Adobe Air
More informationPropietary 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 informationTaking 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 informationCS 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 informationGame 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 informationGlobulation 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 informationProgram 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 informationTHE 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?
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 informationLike 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 informationProduct 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 informationPeer-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 informationLocal 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 informationThe 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 informationArtificial 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 informationMake 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 informationAGENTLESS 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 Overview: A MUD, or Multi-User Dungeon/Dimension/Domain, is a multi-player text environment (The player types commands and
More informationGoogle 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 informationKillzone 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 informationAn 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 informationDistributed 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 informationVolume 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 informationMultiplayer 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 informationMobile 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 information6 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 informationBachelor 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 informationOnce 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 informationConsole 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 informationLearning 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 informationScalability 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 informationConcrete 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 informationExamples 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 informationthe 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 informationMass 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 informationChapter 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 informationThe 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 informationANT 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 informationHow 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 informationMicrowave 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 informationwelcome 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 informationUSING 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 informationMaking 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 informationWhat 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 informationTen 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 informationGAME 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 informationIMGD 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 informationScalable 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 informationGillian 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 informationProcedural 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 informationProcedural 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 informationG54GAM - 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 informationSimulation 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 information2320 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 informationVideo 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 informationCANopen 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 informationExperiment 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 informationEngineering 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 informationSpell 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 informationCSTA 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 informationArtificial 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 informationLiving 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 informationTowards 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 informationIndividual 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 informationOCEAN 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 informationKey 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 informationCOLD 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 informationInstrumentation 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 informationVACUUM 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 informationMITOCW 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 informationEVERYONE 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 informationWelcome 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 informationOpponent 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 informationVirtual 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 informationGaming 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 informationA 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 informationCentralized 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 informationHERO++ 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 informationCreating 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 informationHello, 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 informationStress 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 informationThe 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 informationApplications. > > 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 informationSensible 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 informationSaphira 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 informationFrequently 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