Towards a Reference Architecture for 3D First Person Shooter Games

Size: px
Start display at page:

Download "Towards a Reference Architecture for 3D First Person Shooter Games"

Transcription

1 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

2 Abstract First person perspective video games are an important part of the many genres that make up the multi-billion dollar gaming industry. The concept is to immerse the player within the environment by providing a controllable view from the players perspective. This 3-dimensional environment allows for greater realism and interactivity. In this report, we present a reference conceptual architecture derived from the comparison of existing open-source first person perspective video games. It is intended as a starting point for people interested in learning about, or developing games as well as development teams. Keywords Reference Architecture, Conceptual Architecture, Video Game, First Person Shooter Game, Quake, Cube

3 Contents 1 Introduction Background Architecture Extraction and Analysis Process Quake Quake Concrete Architecture Overview Quake Server Subsystem Quake Client Subsystem Cube Cube Top Level Concrete Architecture Cube Server Subsystem Cube Client Subsystem Quake II Top-level Concrete Architecture of Quake II Server Architecture of Quake II Client Architecture of Quake II Proposed Reference Architecture Top Level Architecture Client Subsystem Architecture Server Subsystem Comparison of Reference and Concrete Architectures Conclusion

4 List of Figures 1 Extraction Process of Concrete Architecture Concrete Architecture of Quake Concrete Architecture of the Quake Server Subsystem Concrete Architecture of Quake Client Top lever Architecture of Cube Concrete Architecture of Cube Server Concrete Architecture of Cube Client Top-Level Architecture of Quake II Concrete Architecture of Quake II Server Concrete Architecture of Quake II Client General components for video games Client Server Architecture Client Subsystem of the Reference Architecture Server Subsystem of the Reference Architecture Game Engine Internals

5 1 Introduction Current thinking for the video game industry is that it is five or so years behind the rest of the industry [1]. Where it is common practice to move directly from the design phase to the programming phase. Video game programmers suffer the mind-set of not built here syndrome, where anything not developed in-house is not used. And this tends to lead to reinvention of the wheel, increased development time, and poor quality software. As well, due to market pressures, documentation, and technical design documents become an after thought. This phenomenon can be seen by the lack of any technical papers on entertainment-oriented software. This mind-set against reuse is slowly being changed as consumers expectation for software quality increases, and the time to market decreases. One company that seems to have changed the mind-set of video game developers is id-software. Known for its state of the art first perspective shooter games, it has created an aftermarket for other development companies to build their games on top of id s gaming engine. With the increased attitudes towards using other game engines, it can be seen that most on the market share a defined set of functionalities, and most likely share design patterns. The goal of this paper is to derive a reference architecture, specifically for 3-dimensional first person perspective style games. A reference architecture is useful for development of new and existing game engines to maintain consistency between the design phase and implementation phase. The reference architecture is based upon the comparison of the concrete architecture of Quake [2], and Quake II [3] and Cube [4]. The reasoning for basing it on Quake is two-fold: The source code is freely available under the open source GPL license Many popular games are based upon this genre (Half-Life, Alice, etc.) Section two of this paper introduces the background concepts of a first person shooter, game engines, and what features are typically found in a gaming engine. Section three discusses the software architecture extraction process, while sections four, five, and six present the architecture of Quake, Cube, and Quake II respectively. Section seven presents our reference architecture and compares them to the previously discussed architectures, and then gives a brief conclusion of the paper. 3

6 2 Background Games have provided the first market for advanced graphics techniques. The cost of developing ever more realistic simulation has grown so large that game developers can no longer rely on recovering their entire investment from a single game.this has led to the emergence of game engines that were not written for specific game but were general enough to be used for a family of similar games. In fact, the game engine is like an engine of an automobile. You can take it out of the car and build another shell for it. The game engine is a collection of simulation code that does not directly specify the game s behavior or environment. The engine includes modules such as Input/Output, 2D or 3D graphics, physics, collision detection, AI, sound, and database. Different games will have all or some of the mentioned modules. The 3D First Person Shooter(FPS) games use 3D engines to create games that are as realistic as possible. A typical FPS is a shooting game with a first person perspective that can be extremely immersive. Wolfenstein 3D, the first true FPS game, was originally released by id-software for DOS in In Wofenstein 3D the items and enemies are sprites. Sprites are a collection of static images that are moved around,resized, and even animated. For example, an enemy s feet moving would be an animation only a few images in length,the enemy s traveling left and right would be movement of the sprite, and the enemy coming closer would be an enlarging of the sprite. The levels are single-layered; this means that even though the game is a 3D first-person shooter, you can only move in 2 dimensions: left/right and forward/back. In Wolfenstein 3D, you can not jump,crouch, climb stairs,etc. Since Wolfenstein 3D, games have steadily improved. Doom added the ability to walk up stairs thus creating differing heights. Descent and Duke Nukem 3D made the levels even more 3D by allowing rooms to actually be on top of each other; there is also jumping/crouching in Duke Nukem 3D. Quake added high-quality 3D items and enemies by using polygon models rather than sprites. Light-maps, Mirrors and Mesh Interpolation were new technologies introduced in Quake II. Since then, game makers have been constantly improving on graphics and gameplay.the engine of Quake II has been used by other games, like Half Life and Soldier of Fortune. Basically a game is a real-time database with a pretty front end [1]. It mainly consists of an infinite loop that processes all the objects in the game and then draws the next frame of animation with a deterministic frame-rate. In first stage of a typical game loop the game starts up and initializes all its variables and the program s setup data structures, allocates memory and 4

7 loads graphics and sound files. Then the game enters the main menu loop in which the player can select game options and control the overall game experience. After the player starts the game, the program activates the main game loop, highest level loop in the game code where game s logic is reset for the next frame. At this point, the program retrieves the player s input. In response to the player s actions the program executes the internal game logic and moves all the objects, processes all the AI, performs collision detection, and so on. At this stage the current animation frame is ready to be rendered, so the program draws all objects to an invisible part of memory and then renders the off-screen video image representing the next frame to the visible display. The synchronization step is the final stage of the game loop pipeline. 3 Architecture Extraction and Analysis Process The process followed for extracting the architecture of the case studies for this work is heavily based on extraction tool-kit provided by SWAG [6]. This tool-kit consists of a couple of fact extractors, Ldx and Bfx. LDX which is based on GNU ld linker collects static dependencies during the linkage phase and generates the output in TA format. Bfx looks inside compiled objects and extracts library calls and puts them in another TA file. In later stages of architecture extraction, these two files would be processed using several scripts written in QL scripting language, a language designed specifically for analyzing tuples and sets. Clustering of files is the most critical section of architecture extraction and requires a general conceptual knowledge of the software. And finally a graphical view of concrete software architecture would be generated. Figure 1 shows the complete flow of extracting concrete software architecture. 5

8 Compile and Link with LDX Extract Lib. dependencies with BFX Cluster files into subsystems (manually based on conceptual documents and source review) raw TA files Process TA files with Prep, Lower and ALV scripts Contain file (rsf format) Refined TA files Use Addcon script to filter connections and add subsystem s dependencies based on Contain file. Generate graphical view using ASVIEW unshaped Concrete Architecture View Concrete Architecture with LSEDIT Final Concrete Architecture Figure 1: Extraction Process of Concrete Architecture. Although static architecture extraction works quite well for many software systems, it is proved to be inefficient for programs that take advantage of dynamic linked libraries or implicit invocation. Since those libraries object files are not linked with the rest of the program, LDX is not able to collect function calls and variable access to those libraries. The method used in this work for extracting implicit dependencies is very similar to one introduced in [7] except that automatic logging of call stack was not used. We observed the execution path for a predefined scenarios and added observed implicit dependencies to the extracted concrete architecture. 6

9 4 Quake Quake is a first person shooter (FPS) game that was published by id-software in Upon release it was revolutionary due to it s utilization of three dimensional polygons for both scenery and players. A popular feature of Quake is the network multi-player mode which allows fellow players to play against each other over a network. In order to achieve the necessary synchronization between multiple players, the system is based on a client-server architecture. By having clients responsible for sending user input to the server, it is possible to coordinate events between all clients on a single server. Once all information is processed, all visual rendering information is sent back to the clients for display on their monitor. 4.1 Quake Concrete Architecture Overview Figure 2 shows the concrete top-level architecture that was extracted from the source code. Legend: Weakly Dependent Normally Dependent Strongly Dependent Game Common Client Server NETWORK Game Engine Figure 2: Concrete Architecture of Quake 7

10 4.2 Quake Server Subsystem Quake server maintains the games time-base and states, performs object movements and physics, and runs the AI for all computer controlled characters. Analysis of the concrete architecture reveailed the following subsystems: Progs Subsystem - implements the Quake scripting language. This language is used by artists and level designers to describe game entities such as monsters, weapons and etc. for the game engine. World Subsystem - responsible for storing information regards to maps, entities, and levels. Physics Subsystem - governs the physics of the whole world. Rules like speed, friction and gravity inside the virtual environment of the game are all set by this subsystem Command Subsystem - implements script command processing in Quake. It is basically responsible for managing input command buffers, handling combined commands, realizing command name aliasing, and auto completion of commands. Figure 3 illustrates the concrete diagram of Quake Server. 4.3 Quake Client Subsystem Quake utilizes the client subsystem as the main component for user interaction. It is responsible for immersing the player through a plethora of audio and visual stimulation. Figure 4 shows the extracted architecture for Quake Client. Each client polls for user input (e.g. keyboard, and mouse) every frame and sends them to the Server. The Client subsystem consists of following subsystems: Input Subsystem - responsible for gathering keyboard, mouse, and joystick events for each frame. Audio Subsystem - generates music or sound effects. Video Subsystem - responsible for visualizing each frame on the screen with and acceptable frame rate. Model Subsystem - responsible for loading and parsing entities data structures. 8

11 SERVER Main World Physics Command Progs Figure 3: Concrete Architecture of the Quake Server Subsystem Miscellaneous Audio Input System Models Video Renderer Client Subsystem 5 Cube Figure 4: Concrete Architecture of Quake Client Cube is an open source gaming engine that is freely available under the terms of the GNU Public License (GPL). It is a first perspective shooter that is based upon the same concepts as Quake. 9

12 5.1 Cube Top Level Concrete Architecture Figure 5 shows the concrete architecture that was extracted from the source code. Similar to Quake, it is based off client-server architecture, and most communication is done through a Network subsystem. The Common subsystem contains all utility functions that are used by both Client and Server subsystems. The Network subsystem encapsulates the message passing routines to communicate between the client and the server. Legend: Dynamic Interactions Highly Dependent Normally Dependent Weakly Dependent Common Client Server NETWORK Figure 5: Top lever Architecture of Cube 5.2 Cube Server Subsystem An overview of the Cube Server subsystem is shown in Figure 6. The Cube architecture runs off of a fat client, thin server architecture, in that the server is merely used for synchronization purposes during multiplayer gaming. Each subsystem is described below: Server Subsystem - responsible for processing information received and keeping track of individual players Server Messaging Subsystem - responsible for sending out the information 10

13 Server Standalone Server Server Messaging Utilities SERVER SubSystem Figure 6: Concrete Architecture of Cube Server Utilities Subsystem - are commonly used libraries Stand-alone Subsystem - are the components for running pure server 5.3 Cube Client Subsystem Figure 7 shows the internals of Client Subsystem. The Cube architecture places all game specific and non-game specific components together in the Client subsystem. This allows for less modularity, and is most likely due to a design focus on graphics rather than network play. Despite the large client subsystem, it is still possible to isolate game engine components and game specific code components are noted with dashed line boxes within Figure 7. 11

14 Game Code Physics Monster Editing Weapon Game Engine Console Rendered Clien Common Code World Sound Command 6 Quake II Figure 7: Concrete Architecture of Cube Client Quake II is the second game in Quake series developed and published by id-software in 1998[3]. The main technology improvement from Quake was mesh interpolation and surface shading in Graphics subsystem. However in terms of software engineering process, Quake II showed to have a more well-designed architecture than Quake after its source code was revealed in Top-level Concrete Architecture of Quake II Quake II uses Client-Server architecture. Client, Server, Network and Common Utilities are the main subsystems identified at top level of Quake II engine. Game specific code is also part of the server code but can be easily abstracted as a separate subsystem in top-level architecture. Top-level clustering is mostly based on the directory structure that original developers released the code with. Figure 8 shows the concrete diagram of top-level Quake II structure extracted with SWAG extraction tools. 12

15 Legend: Dynamic Interactions Highly Dependent Normally Dependent Weakly Dependent Game Common Client Server NETWORK Game Engine Figure 8: Top-Level Architecture of Quake II Concrete architecture of Quake II is very similar to the conceptual expectation. There is a weak unexpected dependency between client and server which proved to have the same reason as Quake. It is just used for some initialization code to determine if the client and server are running on the same machine. On most of other execution scenarios, Network subsystem is the only way of communication between Client and Server which is compatible with the concept of client-server architecture. 6.2 Server Architecture of Quake II Quake II Server can be divided into engine part and game (in this case Quake II itself) specific part. In contrast to Quake, in Quake II Physics and AI subsystems are considered as Game Specific materials and are put in Game code. This abstraction allows developers to use Quake II game engine to develop games with different AI and Physics rules which makes the game-engine more flexible and reusable. Game specific code also compiles and links into a separate DLL 1 named 1 Dynamic Linked Library 13

16 game.dll. Any interaction between this part of server and engine part is done via the standard interface of this DLL. This resembles employment of Facade design pattern [8] for this subsystem. A global structure of function pointers which are initialized at the beginning of the program to proper functions is the standard way for the Engine and Game part to interact with each other which conceals explicit library calls. Extraction of these calls for the concrete architecture was done using the debugging method described in previous sections. Figure 9 shows concrete architecture of Quake II Server subsystem. AI Physics Monsters Playing Save Game Combat Game Interface to the Game Engine Interface to the Game DLL Operator Commands User Management World Packet Encoder Server Send Game Engine Figure 9: Concrete Architecture of Quake II Server 6.3 Client Architecture of Quake II Concrete architecture of Quake II client is shown in Figure 10. Coupling of Renderer inside the Video subsystem is somehow different from previous case studies. In Quake II Renderer is compiled and linked as a separate DLL and all calls to this subsystem is passed through the standard DLL interface 14

17 as described in previous sections. This allows on the fly substitution of the Renderer module, User can switch from OpenGL rendering system to software rendering system during the game. Audio Menu System Input Misc. Video Renderer Client Subsystem Figure 10: Concrete Architecture of Quake II Client 7 Proposed Reference Architecture Through analysis of the concrete architecture of Quake, Quake II and Cube, it is quite inherent that there are similar common design elements of each game. Despite the common mind-set that each genre of video games requires its own specific design, according to [1] the architecture of a game can be abstracted as shown in Figure 11 The subsystems are each described below: Event Handler - is responsible for managing events that trigger a new state (i.e. player input, game objectives, etc.) Physics Engine - dictates the simulated physics that governs each player within the game Logic Engine - is responsible for the artificial intelligence of every computer character within the game Game Data - corresponds to all domain specific information for the game such as graphics, levels, maps, etc. 15

18 Event Handler Physics Engine Logic Engine Game Data Graphics Level Misc. User Interface Graphics Engine Sound Engine Input Engine Graphics Audio Hardware Legend Dependency Figure 11: General components for video games Input Engine - is responsible for keeping track of user input and sending them to the Event Handler Graphics Engine - renders all information to the screen using capabilities of available computer hardware Audio Engine - is responsible for playing audio through the hardware Analysis of all the components of a video game show that we can organize all subsystems into two domains consisting of game specific content, and nongame specific content. The Event Handler, Physics Engine, Logic Engine, Input Engine, Graphics Engine, and Audio Engine are reusable components that are applicable across all genres of video games. Domain specific subsystems like Audio, Graphics, User Interface and Game Data are unique to each game. It is important to keep in mind the abstraction between game specific components and non-game components to ensure maximum re-usability. 7.1 Top Level Architecture From analysis of the concrete architectures of previous games, we noticed that another architecture was present in all games; this was the Client-Server architecture as shown below in Figure

19 Client Communications Layer Server Figure 12: Client Server Architecture All communications between Client and Server are performed through the Communications Layer. This layer of abstraction is a convenient way to allow extensibility for future protocols. This abstraction is relevant for both networked multi-player games, and non-networked single player games. In the case of Quake, when in single player mode, the communications layer was merely passing a pointer between the client and server. During multi-player mode, all communication was done through a network protocol. This allows for component-oriented design that allows for easy future modifications. 7.2 Client Subsystem Architecture Figure 13 below introduces the client subsystem of the reference architecture Audio Menu System Input System Legend Dependency Video Subsystem Renderer Game Dependent Subsystem Client Subsystem Figure 13: Client Subsystem of the Reference Architecture The client subsystem captures all non-game specific components. These components are usually hardware dependent, so abstraction onto the client is a logical step. Each subsystem is described below. Audio subsystem - responsible for outputting audio through the computer hardware 17

20 Input System - keeps track of all user received input Video subsystem - displays graphics to the users, and abstracts the underlying hardware for rendering purposes Menu System - is specific to each game, and is responsible for the User Interface (UI) accessible by players. By making the client responsible for hardware specific systems, it allows for greater reuse due to the fact that the only game-specific component is the Menu system, which drives the UI for the game. Hardware specific optimizations are always executed in the Client-side to increase performance of the game. 7.3 Server Subsystem Figure 14 below introduces the server subsystem for the reference architecture. Game Data Artificial Intelligence Event Handler Legend Dependency Physics Server Subsystem World Subsystem Game Dependent Subsystem Figure 14: Server Subsystem of the Reference Architecture This subsystem contains all of the game specific components. Each subsystem is described below. Event Handler - responsible for parsing input and determining how to process the event Artificial Intelligence (AI) - determines how characters defined in the game act 18

21 Physics - governs how each player and character interacts within the defined world Game Data - specific information such as characters, weapons, entities, etc. World - defines the world that the player interacts in All components within the server subsystem are game specific. In terms of a Game Engine, typically, the AI, Physics, and World subsystems are included as well as the hardware specific components found in the client like the Input, Audio, and Video subsystems. Games based on a certain engine usually have the same look and feel. Figure 15 shows the components of a game engine. Physics A.I. World Audio Video Input Game Engine Figure 15: Game Engine Internals 7.4 Comparison of Reference and Concrete Architectures In this section we compare the previously discussed software architectures with our presented reference architecture and analyze how they fit comparatively. Quake Upon comparison, it can be seen that the Quake architecture conforms to the client-server model. Some of the notable differences is the inclusion of a Common subsystem which includes all functions and routines used by both the Client, and Server. The inclusion of the Game subsystem is the point of 19

22 modularity that allows Quake to be increasingly customizable and attractive to other software development houses. With most game specific software components in the Game subsystem, the underlying components comprise the Game Engine that is licensed out. The server subsystem corresponds to the reference architecture in that they both share a World, and Physics subsystem. The AI subsystem within Quake is abstracted through the Progs subsystem, which is a parser. The Progs subsystem allows developers to develop their own AI logic through the use of a custom scripting language. This feature improved the extensibility of the system, and created a large development community in which fans provided their own bots with custom AI. The client subsystem was also similar in that it presented all the audio and visual interfaces to the user. Cube Cube is based off of a fat client - thin server concept, in that most of the features found in the reference architecture was implemented within the client side, rather than balanced on both sides. The server subsystem is primarily used for synchronization and discovery of other clients for multiplayer gaming. This design decision was most likely due to the fact that the emphasis for Cube is towards graphics rather than network gameplay. Despite the monolithic client, all game specific code could be isolated into specific subsystems, which compared well with the reference architecture. The design of cube with respect to balancing of components of client and server subsystems shows how the architecture can be modified to focus on specific requirements. Quake II The Quake II architecture adheres to the client-server model, much like Quake I did, but goes one step further by extracting all game specific elements into an external dynamically linked libary. By abstracting these components into an external library, both game developers, and hobbyists are able to add modifications without having to view the underlying code within the game engine. 20

23 8 Conclusion In this report we presented a reference architecture for FPS games, and compared the architecture with the concrete architecture of various popular commercial games such as Quake, Quake II, and Cube. We noted that despite the common opinion that there is no architecture for video games, there were clear and similar exchanges of ideas across all three examples. From this we were able to ascertain a common reference architecture which most multiplayer FPS games are based upon. By analyzing the drift between the reference architecture and the various concrete architectures, we were able to show the various design factors and decisions that must be made when any organization is implementing a game, or gaming engine. 21

24 Bibliography [1] Rollings, Andrew, and Morris, Dave, Game Architecture and Design, 1st ed. New Riders Publishing, Indianapolis, Indiana (2004). [2] id-software Quake web page, [3] id-software Quake II web page, [4] Cube official web site, [5] Garlan D. and Shaw M., An Introduction to Software Architecture. Advances in Software Engineering and Knowledge Engineering. Vol. 1, [6] SoftWare Architecture Group, Department of Computer Science, University of Waterloo, [7] C. Pal., A Technique for Illustrating Dynamic Component Level Interactions Within a Software Architecture. In Proc. of CASCON 98, pp , Toronto, Canada, November [8] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of reusable Object-Oriented Software, Addison Wesley

Pangolin: A Look at the Conceptual Architecture of SuperTuxKart. Caleb Aikens Russell Dawes Mohammed Gasmallah Leonard Ha Vincent Hung Joseph Landy

Pangolin: A Look at the Conceptual Architecture of SuperTuxKart. Caleb Aikens Russell Dawes Mohammed Gasmallah Leonard Ha Vincent Hung Joseph Landy Pangolin: A Look at the Conceptual Architecture of SuperTuxKart Caleb Aikens Russell Dawes Mohammed Gasmallah Leonard Ha Vincent Hung Joseph Landy Abstract This report will be taking a look at the conceptual

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

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

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

SIMGRAPH - A FLIGHT SIMULATION DATA VISUALIZATION WORKSTATION. Joseph A. Kaplan NASA Langley Research Center Hampton, Virginia

SIMGRAPH - A FLIGHT SIMULATION DATA VISUALIZATION WORKSTATION. Joseph A. Kaplan NASA Langley Research Center Hampton, Virginia SIMGRAPH - A FLIGHT SIMULATION DATA VISUALIZATION WORKSTATION Joseph A. Kaplan NASA Langley Research Center Hampton, Virginia Patrick S. Kenney UNISYS Corporation Hampton, Virginia Abstract Today's modern

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

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

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

Request for Permission to Remake Monolith Production's Shogo: Mobile Armor Division. On behalf of the

Request for Permission to Remake Monolith Production's Shogo: Mobile Armor Division. On behalf of the Request for Permission to Remake Monolith Production's Shogo: Mobile Armor Division On behalf of the http://shogomad.com community: Introduction The game Shogo: Mobile Armor Division by Monolith Productions,

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

Pangolin: A look at the conceptual Architecture of Super Tux Kart. A CISC 326 Project by:

Pangolin: A look at the conceptual Architecture of Super Tux Kart. A CISC 326 Project by: Pangolin: A look at the conceptual Architecture of Super Tux Kart A CISC 326 Project by: Mohammed Gasmallah Russell Dawes Caleb Aikens Leonard Ha Vincent Hung Joseph Landy Overview Architectural Style

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

IMGD Technical Game Development I: Introduction

IMGD Technical Game Development I: Introduction IMGD 3000 - Technical Game Development I: Introduction by Robert W. Lindeman gogo@wpi.edu What to Expect This course is mainly about the nuts and bolts of creating game code Game architecture, algorithms,

More information

Pangolin: Concrete Architecture of SuperTuxKart. Caleb Aikens Russell Dawes Mohammed Gasmallah Leonard Ha Vincent Hung Joseph Landy

Pangolin: Concrete Architecture of SuperTuxKart. Caleb Aikens Russell Dawes Mohammed Gasmallah Leonard Ha Vincent Hung Joseph Landy Pangolin: Concrete Architecture of SuperTuxKart Caleb Aikens Russell Dawes Mohammed Gasmallah Leonard Ha Vincent Hung Joseph Landy Abstract For this report we will be looking at the concrete architecture

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

publi l c i c c l c a l s a s s s Ga G m a e1 e1 : M i M c i r c os o o s f o t. t Xn X a. a Fram a ew o k.ga G m a e m { G ap a hic i s c D s ev

publi l c i c c l c a l s a s s s Ga G m a e1 e1 : M i M c i r c os o o s f o t. t Xn X a. a Fram a ew o k.ga G m a e m { G ap a hic i s c D s ev Game Engine Architecture Spring 2017 0. Introduction and overview Juha Vihavainen University of Helsinki [Gregory, Chapter 1. Introduction, pp. 3-62 ] [McShaffry, Chapter 2. What's in a Game ] On classroom

More information

IMGD Technical Game Development I: Introduction. by Robert W. Lindeman

IMGD Technical Game Development I: Introduction. by Robert W. Lindeman IMGD 3000 - Technical Game Development I: Introduction by Robert W. Lindeman gogo@wpi.edu What to Expect This course is mainly about the nuts and bolts of creating game-engine code Game architecture, algorithms,

More information

Game Programming Paradigms. Michael Chung

Game Programming Paradigms. Michael Chung Game Programming Paradigms Michael Chung CS248, 10 years ago... Goals Goals 1. High level tips for your project s game architecture Goals 1. High level tips for your project s game architecture 2.

More information

IMGD Technical Game Development I: Introduction. by Robert W. Lindeman

IMGD Technical Game Development I: Introduction. by Robert W. Lindeman IMGD 3000 - Technical Game Development I: Introduction by Robert W. Lindeman gogo@wpi.edu What to Expect This course is mainly about the nuts and bolts of creating game-engine code Game architecture, algorithms,

More information

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti Basic Information Project Name Supervisor Kung-fu Plants Jakub Gemrot Annotation Kung-fu plants is a game where you can create your characters, train them and fight against the other chemical plants which

More information

Arcade Game Maker Product Line Production Plan

Arcade Game Maker Product Line Production Plan Arcade Game Maker Product Line Production Plan ArcadeGame Team July 2003 Table of Contents 1 Overview 1 1.1 Identification 1 1.2 Document Map 1 1.3 Concepts 2 1.4 Readership 2 2 Strategic view of product

More information

Concrete Architecture Report

Concrete Architecture Report Concrete Architecture Report CISC 235, winter 2015 For Ahmed E. Hassan Due 13 November 2015 By GROUP OMG http://cisc326groupomg.wordpress.com/ Joshua Lee 10112488 13jl45@queensu.ca Nelson Yi 10105387 13ny@queensu.ca

More information

MAPWAD - A 3D Modeling Language

MAPWAD - A 3D Modeling Language MAPWAD - A 3D Modeling Language Group Leader: Avrum Tilman amt77@columbia.edu Ben Smith bhs16@columbia.edu Josh Weinberg jmw211@columbia.edu Ron Weiss ronw@cs.columbia.edu September 23, 2003 Abstract Traditionally,

More information

BMOSLFGEMW: A Spectrum of Game Engine Architectures

BMOSLFGEMW: A Spectrum of Game Engine Architectures BMOSLFGEMW: A Spectrum of Game Engine Architectures Adam M. Smith amsmith@soe.ucsc.edu CMPS 164 Game Engines March 30, 2010 What I m about to show you cannot be found in any textbook, on any website, on

More information

Have you ever been playing a video game and thought, I would have

Have you ever been playing a video game and thought, I would have In This Chapter Chapter 1 Modifying the Game Looking at the game through a modder s eyes Finding modding tools that you had all along Walking through the making of a mod Going public with your creations

More information

Prof Manjula R 1, Chakradhar Raju M 2, Sai Chand M 3 Computer Science Department, VIT University

Prof Manjula R 1, Chakradhar Raju M 2, Sai Chand M 3 Computer Science Department, VIT University Software Engineering Challenges in Game Development Prof Manjula R 1, Chakradhar Raju M 2, Sai Chand M 3 Computer Science Department, VIT University Abstract Game development is the software process that

More information

Development of a Dual-Extraction Industrial Turbine Simulator Using General Purpose Simulation Tools

Development of a Dual-Extraction Industrial Turbine Simulator Using General Purpose Simulation Tools Development of a Dual-Extraction Industrial Turbine Simulator Using General Purpose Simulation Tools Philip S. Bartells Christine K Kovach Director, Application Engineering Sr. Engineer, Application Engineering

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

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

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

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

STRATEGO EXPERT SYSTEM SHELL

STRATEGO EXPERT SYSTEM SHELL STRATEGO EXPERT SYSTEM SHELL Casper Treijtel and Leon Rothkrantz Faculty of Information Technology and Systems Delft University of Technology Mekelweg 4 2628 CD Delft University of Technology E-mail: L.J.M.Rothkrantz@cs.tudelft.nl

More information

Human Computer Interaction Unity 3D Labs

Human Computer Interaction Unity 3D Labs Human Computer Interaction Unity 3D Labs Part 1 Getting Started Overview The Video Game Industry The computer and video game industry has grown from focused markets to mainstream. They took in about US$9.5

More information

Arcade Game Maker Product Line Requirements Model

Arcade Game Maker Product Line Requirements Model Arcade Game Maker Product Line Requirements Model ArcadeGame Team July 2003 Table of Contents Overview 2 1.1 Identification 2 1.2 Document Map 2 1.3 Concepts 3 1.4 Reusable Components 3 1.5 Readership

More information

Quake III Fortress Game Review CIS 487

Quake III Fortress Game Review CIS 487 Quake III Fortress Game Review CIS 487 Jeff Lundberg September 23, 2002 jlundber@umich.edu Quake III Fortress : Game Review Basic Information Quake III Fortress is a remake of the original Team Fortress

More information

How to develop and localize Xbox 360 Titles. 강상진 XBOX Program Manager 한국마이크로소프트소프트웨어연구소

How to develop and localize Xbox 360 Titles. 강상진 XBOX Program Manager 한국마이크로소프트소프트웨어연구소 How to develop and localize Xbox 360 Titles 강상진 (sjkang@microsoft.com) XBOX Program Manager 한국마이크로소프트소프트웨어연구소 Agenda Xbox Title DEV Team Xbox Software Architecture Overview XTL(Xbox Title Library) XDK(Xbox

More information

VIRTUAL REALITY FOR NONDESTRUCTIVE EVALUATION APPLICATIONS

VIRTUAL REALITY FOR NONDESTRUCTIVE EVALUATION APPLICATIONS VIRTUAL REALITY FOR NONDESTRUCTIVE EVALUATION APPLICATIONS Jaejoon Kim, S. Mandayam, S. Udpa, W. Lord, and L. Udpa Department of Electrical and Computer Engineering Iowa State University Ames, Iowa 500

More information

Tac Due: Sep. 26, 2012

Tac Due: Sep. 26, 2012 CS 195N 2D Game Engines Andy van Dam Tac Due: Sep. 26, 2012 Introduction This assignment involves a much more complex game than Tic-Tac-Toe, and in order to create it you ll need to add several features

More information

Mage Arena will be aimed at casual gamers within the demographic.

Mage Arena will be aimed at casual gamers within the demographic. Contents Introduction... 2 Game Overview... 2 Genre... 2 Audience... 2 USP s... 2 Platform... 2 Core Gameplay... 2 Visual Style... 2 The Game... 3 Game mechanics... 3 Core Gameplay... 3 Characters/NPC

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

User Interfaces. What is the User Interface? Player-Centric Interface Design

User Interfaces. What is the User Interface? Player-Centric Interface Design User Interfaces What is the User Interface? What works is better than what looks good. The looks good can change, but what works, works UI lies between the player and the internals of the game. It translates

More information

BooH pre-production. 4. Technical Design documentation a. Main assumptions b. Class diagram(s) & dependencies... 13

BooH pre-production. 4. Technical Design documentation a. Main assumptions b. Class diagram(s) & dependencies... 13 BooH pre-production Game Design Document Updated: 2015-05-17, v1.0 (Final) Contents 1. Game definition mission statement... 2 2. Core gameplay... 2 a. Main game view... 2 b. Core player activity... 2 c.

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

Advanced Tools for Graphical Authoring of Dynamic Virtual Environments at the NADS

Advanced Tools for Graphical Authoring of Dynamic Virtual Environments at the NADS Advanced Tools for Graphical Authoring of Dynamic Virtual Environments at the NADS Matt Schikore Yiannis E. Papelis Ginger Watson National Advanced Driving Simulator & Simulation Center The University

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

3D Game Engine Design Using DirectX 9 and C#

3D Game Engine Design Using DirectX 9 and C# Introduction to 3D Game Engine Design Using DirectX 9 and C# LYNN T. HARRISON APress Media, LLC Introduction to 3D Game Engine Design Using DirectX 9 and C# Copyright 2003 by Lynn T. Harrison Originally

More information

A three-component representation to capture and exchange architects design processes

A three-component representation to capture and exchange architects design processes CHUNKS, LINES AND STRATEGIES A three-component representation to capture and exchange architects design processes JONAS LINDEKENS Vrije Universiteit Brussel, Belgium and ANN HEYLIGHEN Katholieke Universiteit

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

Gaming Development Fundamentals

Gaming Development Fundamentals Gaming Development Fundamentals EXAM INFORMATION Items 27 Points 43 Prerequisites RECOMMENDED COMPUTER PROGRAMMING I DIGITAL MEDIA I Grade Level 9-12 Course Length DESCRIPTION This course is designed to

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

Modeling and Simulation: Linking Entertainment & Defense

Modeling and Simulation: Linking Entertainment & Defense Calhoun: The NPS Institutional Archive Faculty and Researcher Publications Faculty and Researcher Publications 1998 Modeling and Simulation: Linking Entertainment & Defense Zyda, Michael 1 April 98: "Modeling

More information

Designing 3D Virtual Worlds as a Society of Agents

Designing 3D Virtual Worlds as a Society of Agents Designing 3D Virtual Worlds as a Society of s MAHER Mary Lou, SMITH Greg and GERO John S. Key Centre of Design Computing and Cognition, University of Sydney Keywords: Abstract: s, 3D virtual world, agent

More information

Surfing on a Sine Wave

Surfing on a Sine Wave Surfing on a Sine Wave 6.111 Final Project Proposal Sam Jacobs and Valerie Sarge 1. Overview This project aims to produce a single player game, titled Surfing on a Sine Wave, in which the player uses a

More information

The Guerrilla Guide to Game Code

The Guerrilla Guide to Game Code The Guerrilla Guide to Game Code Jorrit Rouwé Lead Programmer Shellshock Nam 67 Guerrilla Games Published: 14 April 2005 on Gamasutra Introduction There are a lot of articles about games. Most of these

More information

Components for virtual environments Michael Haller, Roland Holm, Markus Priglinger, Jens Volkert, and Roland Wagner Johannes Kepler University of Linz

Components for virtual environments Michael Haller, Roland Holm, Markus Priglinger, Jens Volkert, and Roland Wagner Johannes Kepler University of Linz Components for virtual environments Michael Haller, Roland Holm, Markus Priglinger, Jens Volkert, and Roland Wagner Johannes Kepler University of Linz Altenbergerstr 69 A-4040 Linz (AUSTRIA) [mhallerjrwagner]@f

More information

Project Documentation for Zombie Trail

Project Documentation for Zombie Trail Project Documentation for Zombie Trail Requirements Basic Requirements of the Program o The program is designed to be a fully playable (the game will not crash, and the end goal of the game is reachable)

More information

SE320: Introduction to Computer Games

SE320: Introduction to Computer Games SE320: Introduction to Computer Games Week 2 Gazihan Alankus 10/4/2011 1 Outline Introduction Project Today s class: video game concepts 10/4/2011 2 1 Outline Introduction Project Today s class: video

More information

A Step Forward in Virtual Reality. Department of Electrical and Computer Engineering

A Step Forward in Virtual Reality. Department of Electrical and Computer Engineering A Step Forward in Virtual Reality Team Step Ryan Daly Electrical Engineer Jared Ricci Electrical Engineer Joseph Roberts Electrical Engineer Steven So Electrical Engineer 2 Motivation Current Virtual Reality

More information

Gaming Development. Resources

Gaming Development. Resources Gaming Development Resources Beginning Game Programming Fourth Edition Jonathan S. Harbour 9781305258952 Beginning Game Programming will introduce students to the fascinating world of game programming

More information

CS Game Programming, Fall 2014

CS Game Programming, Fall 2014 CS 38101 Game Programming, Fall 2014 Recommended Text Learn Unity 4 for ios Game Development, Philip Chu, 2013, Apress, ISBN-13 (pbk): 978-1-4302-4875-0 ISBN-13 (electronic): 978-1-4302-4876-7, www.apress.com.

More information

An Overview of the STEAMiE Educational Game Engine

An Overview of the STEAMiE Educational Game Engine An Overview of the STEAMiE Educational Game Engine Scott Nykl, Chad Mourning, Mitchell Leitch, David Chelberg, Teresa Franklin, and Chang Liu Ohio University, sn361906@ohio.edu, cm492997@ohio.edu, ml951702@ohio.edu,

More information

vstasker 6 A COMPLETE MULTI-PURPOSE SOFTWARE TO SPEED UP YOUR SIMULATION PROJECT, FROM DESIGN TIME TO DEPLOYMENT REAL-TIME SIMULATION TOOLKIT FEATURES

vstasker 6 A COMPLETE MULTI-PURPOSE SOFTWARE TO SPEED UP YOUR SIMULATION PROJECT, FROM DESIGN TIME TO DEPLOYMENT REAL-TIME SIMULATION TOOLKIT FEATURES REAL-TIME SIMULATION TOOLKIT A COMPLETE MULTI-PURPOSE SOFTWARE TO SPEED UP YOUR SIMULATION PROJECT, FROM DESIGN TIME TO DEPLOYMENT Diagram based Draw your logic using sequential function charts and let

More information

A New Simulator for Botball Robots

A New Simulator for Botball Robots A New Simulator for Botball Robots Stephen Carlson Montgomery Blair High School (Lockheed Martin Exploring Post 10-0162) 1 Introduction A New Simulator for Botball Robots Simulation is important when designing

More information

Design Document for: Name of Game. One Liner, i.e. The Ultimate Racing Game. Something funny here! All work Copyright 1999 by Your Company Name

Design Document for: Name of Game. One Liner, i.e. The Ultimate Racing Game. Something funny here! All work Copyright 1999 by Your Company Name Design Document for: Name of Game One Liner, i.e. The Ultimate Racing Game Something funny here! All work Copyright 1999 by Your Company Name Written by Chris Taylor Version # 1.00 Thursday, September

More information

G54GAM Coursework 2 & 3

G54GAM Coursework 2 & 3 G54GAM Coursework 2 & 3 Summary You are required to design and prototype a computer game. This coursework consists of two parts describing and documenting the design of your game (coursework 2) and developing

More information

Level 3 Extended Diploma Unit 22 Developing Computer Games

Level 3 Extended Diploma Unit 22 Developing Computer Games Level 3 Extended Diploma Unit 22 Developing Computer Games Outcomes Understand the impact of the gaming revolution on society Know the different types of computer game Be able to design and develop computer

More information

A RESEARCH PAPER ON ENDLESS FUN

A RESEARCH PAPER ON ENDLESS FUN A RESEARCH PAPER ON ENDLESS FUN Nizamuddin, Shreshth Kumar, Rishab Kumar Department of Information Technology, SRM University, Chennai, Tamil Nadu ABSTRACT The main objective of the thesis is to observe

More information

Introduction. Modding Kit Feature List

Introduction. Modding Kit Feature List Introduction Welcome to the Modding Guide of Might and Magic X - Legacy. This document provides you with an overview of several content creation tools and data formats. With this information and the resources

More information

Game Tools MARY BETH KERY - ADVANCED USER INTERFACES SPRING 2017

Game Tools MARY BETH KERY - ADVANCED USER INTERFACES SPRING 2017 Game Tools MARY BETH KERY - ADVANCED USER INTERFACES SPRING 2017 2 person team 3 years 300 person team 10 years Final Fantasy 15 ART GAME DESIGN ENGINEERING PRODUCTION/BUSINESS TECHNICAL CHALLENGES OF

More information

Basic AI Techniques for o N P N C P C Be B h e a h v a i v ou o r u s: s FS F T S N

Basic AI Techniques for o N P N C P C Be B h e a h v a i v ou o r u s: s FS F T S N Basic AI Techniques for NPC Behaviours: FSTN Finite-State Transition Networks A 1 a 3 2 B d 3 b D Action State 1 C Percept Transition Team Buddies (SCEE) Introduction Behaviours characterise the possible

More information

Level 3 Extended Diploma Unit 22 Developing Computer Games

Level 3 Extended Diploma Unit 22 Developing Computer Games Level 3 Extended Diploma Unit 22 Developing Computer Games Outcomes Understand the impact of the gaming revolution on society Know the different types of computer game Be able to design and develop computer

More information

The 8 th International Scientific Conference elearning and software for Education Bucharest, April 26-27, / X

The 8 th International Scientific Conference elearning and software for Education Bucharest, April 26-27, / X The 8 th International Scientific Conference elearning and software for Education Bucharest, April 26-27, 2012 10.5682/2066-026X-12-153 SOLUTIONS FOR DEVELOPING SCORM CONFORMANT SERIOUS GAMES Dragoş BĂRBIERU

More information

Intelligent Radio Search

Intelligent Radio Search Technical Disclosure Commons Defensive Publications Series July 10, 2017 Intelligent Radio Search Victor Carbune Follow this and additional works at: http://www.tdcommons.org/dpubs_series Recommended Citation

More information

Installation Instructions

Installation Instructions Installation Instructions Important Notes: The latest version of Stencyl can be downloaded from: http://www.stencyl.com/download/ Available versions for Windows, Linux and Mac This guide is for Windows

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

Artificial Intelligence (AI) Artificial Intelligence Part I. Intelligence (wikipedia) AI (wikipedia) ! What is intelligence?

Artificial Intelligence (AI) Artificial Intelligence Part I. Intelligence (wikipedia) AI (wikipedia) ! What is intelligence? (AI) Part I! What is intelligence?! What is artificial intelligence? Nathan Sturtevant UofA CMPUT 299 Winter 2007 February 15, 2006 Intelligence (wikipedia)! Intelligence is usually said to involve mental

More information

Immersive Visualization and Collaboration with LS-PrePost-VR and LS-PrePost-Remote

Immersive Visualization and Collaboration with LS-PrePost-VR and LS-PrePost-Remote 8 th International LS-DYNA Users Conference Visualization Immersive Visualization and Collaboration with LS-PrePost-VR and LS-PrePost-Remote Todd J. Furlong Principal Engineer - Graphics and Visualization

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

Lecture Overview. Artificial Intelligence Part I. Lab Exam Results. Evaluations

Lecture Overview. Artificial Intelligence Part I. Lab Exam Results. Evaluations Lecture Overview Part I CMPUT 299 Winter 2006 February 28, 2006! Lab Exam! Course Evals! Design Issue Presentations!! Definition! Related concepts! Algorithm! Time/Memory Cost! Finite State Machines Lab

More information

Evaluating Performance of Point and Shoot in Bow and Arrow Shoot Mobile Game: Touch, Swipe, Rotate, Artificial Intelligence

Evaluating Performance of Point and Shoot in Bow and Arrow Shoot Mobile Game: Touch, Swipe, Rotate, Artificial Intelligence Evaluating Performance of Point and Shoot in Bow and Arrow Shoot Mobile Game: Touch, Swipe, Rotate, Artificial Intelligence 1 Aishwarya S. Pagare, 2 Karishma K. Khairnar, 3 Suruchi R. Kharat, 4 Pooja S.

More information

University of Toronto. Companion Robot Security. ECE1778 Winter Wei Hao Chang Apper Alexander Hong Programmer

University of Toronto. Companion Robot Security. ECE1778 Winter Wei Hao Chang Apper Alexander Hong Programmer University of Toronto Companion ECE1778 Winter 2015 Creative Applications for Mobile Devices Wei Hao Chang Apper Alexander Hong Programmer April 9, 2015 Contents 1 Introduction 3 1.1 Problem......................................

More information

ŞahinSim: A Flight Simulator for End-Game Simulations

ŞahinSim: A Flight Simulator for End-Game Simulations ŞahinSim: A Flight Simulator for End-Game Simulations Özer Özaydın, D. Turgay Altılar Department of Computer Science ITU Informatics Institute Maslak, Istanbul, 34457, Turkey ozaydinoz@itu.edu.tr altilar@cs.itu.edu.tr

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

Integrating PhysX and OpenHaptics: Efficient Force Feedback Generation Using Physics Engine and Haptic Devices

Integrating PhysX and OpenHaptics: Efficient Force Feedback Generation Using Physics Engine and Haptic Devices This is the Pre-Published Version. Integrating PhysX and Opens: Efficient Force Feedback Generation Using Physics Engine and Devices 1 Leon Sze-Ho Chan 1, Kup-Sze Choi 1 School of Nursing, Hong Kong Polytechnic

More information

EDUCATING AND ENGAGING CHILDREN AND GUARDIANS ON THE BENEFITS OF GOOD POSTURE

EDUCATING AND ENGAGING CHILDREN AND GUARDIANS ON THE BENEFITS OF GOOD POSTURE EDUCATING AND ENGAGING CHILDREN AND GUARDIANS ON THE BENEFITS OF GOOD POSTURE CSE: Introduction to HCI Rui Wu Siyu Pan Nathan Lee 11/26/2018 Table of Contents Table of Contents 2 The Team 4 Problem and

More information

A Hybrid Immersive / Non-Immersive

A Hybrid Immersive / Non-Immersive A Hybrid Immersive / Non-Immersive Virtual Environment Workstation N96-057 Department of the Navy Report Number 97268 Awz~POved *om prwihc?e1oaa Submitted by: Fakespace, Inc. 241 Polaris Ave. Mountain

More information

- applications on same or different network node of the workstation - portability of application software - multiple displays - open architecture

- applications on same or different network node of the workstation - portability of application software - multiple displays - open architecture 12 Window Systems - A window system manages a computer screen. - Divides the screen into overlapping regions. - Each region displays output from a particular application. X window system is widely used

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

SGD Simulation & Game Development Course Information

SGD Simulation & Game Development Course Information SGD Simulation & Game Development Course Information SGD-111_2006SP Introduction to SGD SGD-111 CIS Course ID S21240 This course provides students with an introduction to simulation and game development.

More information

CompuScholar, Inc. Alignment to Utah Game Development Fundamentals Standards

CompuScholar, Inc. Alignment to Utah Game Development Fundamentals Standards CompuScholar, Inc. Alignment to Utah Game Development Fundamentals Standards Utah Course Details: Course Title: Primary Career Cluster: Course Code(s): Standards Link: Game Development Fundamentals CTE

More information

The Application of Human-Computer Interaction Idea in Computer Aided Industrial Design

The Application of Human-Computer Interaction Idea in Computer Aided Industrial Design The Application of Human-Computer Interaction Idea in Computer Aided Industrial Design Zhang Liang e-mail: 76201691@qq.com Zhao Jian e-mail: 84310626@qq.com Zheng Li-nan e-mail: 1021090387@qq.com Li Nan

More information

UNIT-III LIFE-CYCLE PHASES

UNIT-III LIFE-CYCLE PHASES INTRODUCTION: UNIT-III LIFE-CYCLE PHASES - If there is a well defined separation between research and development activities and production activities then the software is said to be in successful development

More information

Software Requirements Specification Document. CENG 490 VANA Project

Software Requirements Specification Document. CENG 490 VANA Project Software Requirements Specification Document CENG 490 VANA Project Barış Çavuş - 1819754 Erenay Dayanık - 1819192 Memduh Çağrı Demir - 1819218 Mesut Balcı 1819093 Date: 30.11.2014 Table of Contents 1 Introduction...

More information

Level 3 Extended Diploma Unit 22 Developing Computer Games

Level 3 Extended Diploma Unit 22 Developing Computer Games Level 3 Extended Diploma Unit 22 Developing Computer Games Outcomes LO1 Understand the impact of the gaming revolution on society LO2 Know the different types of computer game LO3 Be able to design and

More information

Games Digital media Collaborative services Immediate services

Games Digital media Collaborative services Immediate services 1 Digital services are being created to meet absolutely every need and every niche where customers can be enticed to go. Games are the most active of these because they require constant attention and rapid

More information

Physical Presence in Virtual Worlds using PhysX

Physical Presence in Virtual Worlds using PhysX Physical Presence in Virtual Worlds using PhysX One of the biggest problems with interactive applications is how to suck the user into the experience, suspending their sense of disbelief so that they are

More information

A Step Forward in Virtual Reality. Department of Electrical and Computer Engineering

A Step Forward in Virtual Reality. Department of Electrical and Computer Engineering A Step Forward in Virtual Reality Team Step Ryan Daly Electrical Engineer Jared Ricci Electrical Engineer Joseph Roberts Electrical Engineer Steven So Electrical Engineer 2 Motivation Current Virtual Reality

More information

Determining Optimal Player Position, Distance, and Scale from a Point of Interest on a Terrain

Determining Optimal Player Position, Distance, and Scale from a Point of Interest on a Terrain Technical Disclosure Commons Defensive Publications Series October 02, 2017 Determining Optimal Player Position, Distance, and Scale from a Point of Interest on a Terrain Adam Glazier Nadav Ashkenazi Matthew

More information

Unity Certified Programmer

Unity Certified Programmer Unity Certified Programmer 1 unity3d.com The role Unity programming professionals focus on developing interactive applications using Unity. The Unity Programmer brings to life the vision for the application

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 24, 2008 Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Upcoming Assignments Today:

More information