Concrete Architecture of SuperTuxKart

Size: px
Start display at page:

Download "Concrete Architecture of SuperTuxKart"

Transcription

1 Concrete Architecture of SuperTuxKart Team Neo-Tux Latifa Azzam Zainab Bello Yuen Ting Lai (Phoebe) Jia Yue Sun (Selena) Shirley (Xue) Xiao Wanyu Zhang

2 ABSTRACT This report outlines our concrete architecture of SuperTuxKart. The main points touched in this paper include our modification of our conceptual architecture of the game, the derivation process of the concrete architecture, the use of the reflexion analysis model to guide the investigation process of the unexpected dependencies discovered, in-depth analysis of two of our architecture s subsystems, walkthrough of a sequence diagram, observed design patterns, and lessons learned. SuperTuxKart s source code components were mapped into our original conceptual architecture s subsystems according to their expected functions. Three new subsystems were added in order to logically map the components into appropriate subsystems. We modeled the final architecture to have 8 subsystems: Input System, Controller, Game-specific Subsystems, Gameplay Foundations, Network, Utils, Library and Output System. Our initial architectural structure was layered then we modified it into an Object-Oriented structure in order to minimize the dependencies among the subsystems. We also identified the composite design pattern during the analysis of the config component in the Controller subsystem. The pattern enabled easy addition and removal of elements to and from the config component. 2

3 TABLE OF CONTENTS 1. Introduction and Overview 2. Conceptual Architecture 2.1. Modifications of Conceptual Architecture 2.2. Comparisons between Original and Modified Conceptual Architecture 3. Concrete Architecture 3.1. Derivation Process 3.2. Unexpected Dependencies 3.3. Description of high level architecture 3.4. Description of subsystems and interactions 4. Subsystem Analysis: Controller 5. Subsystem Analysis: Gameplay Foundations 6. Design Pattern - Composite 7. Concurrency 8. Sequence Diagram 9. Development Team Issues 10. Limitations of Reported Findings and the Problems We Faced 11. Lesson Learned 12. Conclusion 13. References 3

4 1. INTRODUCTION AND OVERVIEW SuperTuxKart also known as STK, is a free and open-source kart racing game initially released in STK s architecture continues to be interesting to analyze and this becomes more evident as we look closer at the source code, made available through the course webpage. We revised our conceptual architecture from the first assignment and mapped the components of SuperTuxKart s source code into subsystems (through the use of code analysis tool - Understand) to create the game s concrete architecture. While initially expecting a layered structure, the Understand tool demonstrated that the subsystems could be better fitted into an object-oriented style. We then used the Reflexion Analysis process as a guide during our investigations on the differences between our conceptual and concrete architectures. We also carried an in-depth analysis of the Controller and Gameplay Foundations subsystems. The dependencies amongst each subsystems components with the rest of the architecture were also explored alongside the dependencies within each subsystem. Constructing SuperTuxKart s concrete architecture did come with challenges however, we were able to overcome them and also learn a lot from the process. 2. CONCEPTUAL ARCHITECTURE 2.1. Modification of Conceptual Architecture Original Conceptual Architecture from the first Assignment With the aid of the Understand tool, we were able to analyze SuperTuxKart s source code by mapping the source code components into each of the subsystems in our conceptual architecture. During this process we discovered some components that we did not anticipate during the derivation of the game s conceptual architecture in the first assignment. These components include addons, config, font, replay, tinygettext and util. Although we were able to map most of the components, three new subsystems were added to the architecture in order to complete the logical mapping of the components. 4

5 The Network and Library subsystems were added to the architecture and we replaced the Core System with the Utils subsystem. In addition, we removed the Platform Independence Layer from the structure because we decided that none of the source code components could be logically mapped into it. After mapping the source code s components, we changed the structure of our architecture from a layered style to an object-oriented style. Finally, we modified our conceptual architecture diagram to reflect the modifications made. Modified Conceptual Architecture 2.2. Comparisons between Original and Modified Conceptual Architecture We changed the structure of our Conceptual architecture for SuperTuxKart from a Layered Style to an Object-Oriented Style. The reason for this change was to effectively represent the dependencies amongst the subsystems. As identified in the first assignment, our original conceptual architecture had low cohesion and low coupling amongst its components. However, with the modification of the architecture into object-oriented style the structure now has high cohesion and high coupling. It has high cohesion because the new subsystems added were able to reduce the amount of functionalities carried out by each component of the architecture. 3. CONCRETE ARCHITECTURE 3.1. Derivation Process We derived the concrete architecture of SuperTuxKart through the use of the Understand tool and the Reflexion Analysis model. Understand is a code analysis tool used to analyze and visualize a program s source code. Using our conceptual architecture as a guide, we mapped the game s source code components into the conceptual subsystems. From this, we were able to derive our first sketch of the concrete architecture. 5

6 Reflexion Analysis With the initial mapping of the source code components, there were a lot of dependencies between the architecture subsystems than we anticipated. Some of these connections were rational, while others were illogical. So we decided to re-group the components in each subsystem in order to improve the coupling and minimize the dependencies among the subsystems. For the second mapping, within the Gameplay Foundations we created the Graphics component to be composed of the modules that deal with the creation of the game s graphics. We grouped the animations, font, graphics and guiengine into this component. With this new mapping, the team was able to produce a concrete architecture for SuperTuxKart. Next we analyzed the code to understand how each subsystem functioned as well as the rationale behind the unexpected dependencies found in the architecture Unexpected Dependencies A fair share of the dependencies in our architecture were logical and easily predicted. However, there were some dependencies that were not anticipated. Upon further investigation they seemed intuitive and we ought to have expected them. Conceptual Architecture Concrete Architecture 6

7 Controller and Game-Specific Subsystems The first dependency to be investigated is the Controller depending on the Game-Specific Subsystem. The controller depends on the game-specific for over seven hundred class calls and this makes logical sense considering the game-specific subsystem is responsible for the objects in the game. The challenges in the controller calls on the karts component of the game-specific subsystems to unlock a specific kart whenever the player completes a challenge. The controller also contains the modes which depends on the game-specific tracks, karts, and items to obtain the track objects for the world frame. Replay in the controller depends on karts and tracks to obtain the replay event information. The game also has the config component in the controller using the constkconfig() method to call the KartProperties class in the game-specific to initialize a kart object. Also, race in the controller depends on karts and tracks to get the number of tracks from getnumberoftracks(). Game-Specific Subsystems and Gameplay Foundations The next unexpected dependency to be discussed is the Game-Specific Subsystems depending on the Gameplay Foundations. The karts in the game-specific depends on every component in gameplay apart from the scriptengine. An example would be when a kart produces a sound such as a beep sound by accessing the sound file in gameplay. Also, the tracks component in the game-specific subsystem depends on all of gameplay s components except the font module. For instance, tracks calls graphics to set the tracks materials texture and color. Output System and Game-Specific Subsystem The final unexpected dependency is the Output System depending on the Game-Specific Subsystems. There are over six hundred class calls from the output to the game-specific subsystem. Output mainly depends on the tracks and karts components of the game-specific subsystems. This is seen when the state_screens calls tracks to display the name of the kart next to it. For a player that's the name of the player, and for an AI kart it's the name of the driver Description of high level architecture The concrete architecture consists of eight subsystem: the Input System, Controller, Game-specific subsystems, Gameplay Foundations, Utils, Library, Network, and Output System. The two main components of our architecture are the Controller and the Gameplay Foundations. The Controller contains the achievements, challenges, config, modes, race, and replay modules. It is responsible for distributing input to the appropriate subsystems and also storing player information, such as the player s achievements. The Gameplay Foundations contains audio, graphics, physics, and scriptengine modules. It is responsible for providing the core facilities upon which game-specific logic can be implemented (Jason Gregory, 2009). 7

8 Concrete Architecture: Object-Oriented Style 3.4. Description of subsystems and interactions Input system The Input System s components consist of the game s input and io. IO transfer data to or from a computer. Input is responsible for obtaining input from the user. IO depends on the game s input in order to process raw data from it before sending it to the controller subsystem. Although the Input system depends on the library, it also has bidirectional dependencies with all the other subsystems in the architecture apart from the library. Controller The Controller in the concrete architecture has six components: race, mode, config, achievements, challenges, and replay. Controller is responsible for distributing data to the appropriate subsystems depending on the user s input. It also stores data of the challenges in the game and player s achievements. The controller has bidirectional dependencies with the other subsystems which was unexpected but logical. For example, if a player chooses a challenge under the story mode, the controller needs to communicate with the game-specific subsystems. This interaction is needed to obtain the kart s status, set up the race data in connection with the network interface, and interact with the gameplay foundations to build the game world. It also depends on the Physics subsystem to control the collisions of objects in the game. Once a challenge is completed, the game-specific subsystem generates the race results and updates the challenge status. At last, the Output system displays the proper trophy for the players. Game-specific Subsystems The components of the game-specific subsystems include items, karts, and tracks. It communicates with the other subsystems and updates its subcomponents as required. The game-specific depends on the gameplay foundations for the items module that contains the powerups obtained from giftboxes. The items modules defines the various collectibles of SuperTuxKart such as the powerups. The karts module contains the 3D Kart model and the 8

9 properties of the karts. It also contains several animations such as the rescue animation for a specific kart and the explosion animation that sends the kart into the air. The tracks modules contains information about the various tracks in the game such as the game s terrain information. Gameplay Foundations The components of the gameplay foundations are the audio, physics, graphics, and scriptengine. The Gameplay subsystem has two-way dependencies with the input system, controller, game-specific, network, utils, library, and output system. The audio module controls the sounds of the game while the physics and graphics depend on one another to show the collisions of the objects in the game. The scriptengine is responsible for the game code. The physics and graphics in the Gameplay communicates with the kart component in the game-specific foundations to choose and load a power up into the kart. Also the karts in the controller subsystem is dependent on the audio to make a beep sound when a kart collides with an object in the game. Utils The Utils subsystem in our concrete architecture contains the utils and tinygettext components. The utils component provides facilities such as crash report logs, game debugging, management of protocols at runtime and utilities for strings, tuples and vectors. Tinygettext handles the language options component of the SuperTuxKart. Several language options - created from the language and country code chosen by the user - are made available in the game. Tinygettext and utils are coupled together because of the language module in both components. The architecture also has a one-way dependency between the utils and the library, and two-way dependencies with every other subsystem (excluding the library) and the utils. Library The Library is a collection of precompiled routines used in the game. SuperTuxKart s library consists of components such as bullet collision and dynamics, the irrlicht engine, angelscript, and zlib. The bullet collision and dynamics is a physics engine that simulates collision detection of the game objects. The irrlicht engine is used to create the 3D graphics of the game such as the game s GUI, while Angelscript is the scripting language used in the game. The library also contains the zlib module which acts an archive, much like a ZIP or tar file, containing object files. It permits a large number of object files to be collected and compressed into a single easy-to-use file. All the subsystems in the architecture depend on this component. Network The Network Subsystem contains three main modules: the network, addons, and online. Network is responsible for processing a player profile and storing online related properties (if this is a server or a host, name of the server, IP address, etc.). Addons contains a selection of different downloadable extensions to be incorporated into the game. The Online module is responsible for HTTP(S) requests, the sign in process of players, and adding/checking of player profiles to cache. This subsystem interacts with every subsystem. It has a one way dependency to Util and Library and two way dependencies with the controller, game-specifics, gameplay, input system, and output system. 9

10 Output System The Output system contains the game state_screens. It is responsible for generating output depending on the player s input. Output has bidirectional dependencies to all other subsystems in the architecture apart from the Library. However, there exists a single arrow dependency between the Output and the library subsystem. 4. SUBSYSTEM ANALYSIS: CONTROLLER We defined the Controller as one of the main subsystems of SuperTuxKart s concrete architecture. It obtains data from the input system and distributes it to the appropriate subsystems. It also stores the player information such as the attained high scores, achievements, and game replays. As seen in the figure below, the main components of the controller are race, modes, achievements, config, challenges, and replay. The controller has bidirectional dependencies with all other subsystems except the library. We didn t expect this subsystem to be highly coupled with the other subsystems in our architecture but after conducting an in-depth analysis into it, we found the dependencies to be rational. Dependencies within the Controller Subsystem Race and modes are the two main modules of this subsystem. They obtain data from the player through the input system. They also interact with the output system to display the game s status, such as the start of a new race, the end of a current race, or the switching between game modes. Race contains the game update methods that call on the modules within the game-specific subsystems to obtain race information like the number of laps or the number of karts in a current race. Mode is tightly coupled with the game-specific subsystems as well because different items are required to build different game worlds that are stored in game-specific subsystem. The gameplay foundations deals with the creation of the actual graphics for world building and race setup based on the data sent into it from the controller. The replay module contains the functions for recording games to be replayed later on. Replay communicates with the game-specific subsystems to update the kart type and item s (e.g the banana peel) status. The config module includes the hardware configuration, sdk 10

11 configuration, and user configuration. Gameplay foundations needs to verify with these configurations when loading the game s audio or graphics. The Network also calls config over a hundred times to obtain the player s IP address and to update the client-lobby room. Challenges verifies with the gameplay foundations to see if a certain challenge has been unlocked or not. Furthermore, it also checks with game-specific subsystem for the status of the game karts, detailed challenge type etc. Output has a lot of calls to challenges, the most frequent use is the class that adds the proper trophy after different levels of a challenge has been completed. The Output System calls on the achievements module through the use of the online_profile_achievements.cpp class to obtain data like the player s name, ID, progress and so on. To conclude, the controller deals with majority of the logic in SuperTuxKart. Therefore, the high coupled interactions between the controller and other subsystems are logical and acceptable. 5. SUBSYSTEM ANALYSIS: GAMEPLAY FOUNDATIONS Dependencies within the Gameplay Foundations The main components of the Gameplay Foundations are the graphics, physics, scriptengine, and audio. The graphics contain the animations, guiengine, fonts, and the game s graphics modules. There exists certain interactions between the components of the gameplay foundations. The physics communicates with the graphics whenever objects collide with one another in the game world, for example a kart hitting a gift box or another game kart. The graphics also interacts with the audio component to provide sound effects at appropriate times in the game for instance, when a kart hits a gift box. The scriptengine depends on the graphics to display the game challenges and to also freeze the game s graphics whenever the game is paused. The graphics interacts with Controller to get the images and animations to be displayed in the different game modes. The graphics component also interacts with the controller to replace, 11

12 reset, and push graphics onto the output system whenever a cutscene occurs. The physics component interacts with the controller subsystem, particularly its mode components. An example of this interaction is seen when the kart s brakes are released at the start of a game. Physics also interacts with the game-specific subsystem to create the motion properties of the game karts. The audio component and game-specific subsystem interact with one another to create sounds in the game kart, for example the kart s engine sound. It also interacts with Controller to get the current music in the game world. The scriptengine loads and runs the game s code. The states_screens within the Output System uses the PropertyAnimator.cpp class from the scriptengine. When the player finishes a race the kart will no longer be available in the cutscene where the time results are shown. Furthermore, scriptengine interacts with the game-specific subsystem to monitor the movements of objects on the game s tracks with the track_object.cpp class calling the scriptengine to get the position of the objects in order to preserve their scale and rotation. 6. DESIGN PATTERN With the use of the lecture slides and the analysis of supertuxkart s documentation, we were able to identify the composite design pattern from the game s source code. A composite pattern is used to "compose" objects into tree structures in order to represent part-whole hierarchies. In the configuration component located in our Controller subsystem, we have the UserConfigParam which composes its elements as a tree structure as shown in the diagram below. This is to enable quick addition and removal of elements to and from the configuration system. Observer pattern identified in SuperTuxKart s source code 7. CONCURRENCY Concurrency in SuperTuxKart includes multiple computations performed at the same time. When a player starts playing the game, the game aspects of SuperTuxKart, such as graphics and audio are executed simultaneously. The graphics and audio also work in correlation to one another. For instance, when the player hits a banana a sound effect uh-oh is played to notify the player that they have obtained something that would not benefit them. Another 12

13 example of concurrency is the physics existing concurrently with animations. This occurs when the swatter requires the calculation of the angle at which the kart will be flattened. The two components also create the kart s motion space in the 3D world. 8. SEQUENCE DIAGRAM Scenario: A local player drives a kart and hits a banana peel on the track This scenario describes what happens after a local player s kart hits a banana peel on the track. In our sequence diagram, the item_manager class calls item->collected(kart) function from the item class. This function sets a flag to indicate that an item has been collected. The item class then returns the time for the duration of the anvil to be attached to the kart. Next, the item_manager class calls the Kart->collectedItem(item, add_info) function from the karts class to add the collected item onto the player s kart. The attachment class then identifies the item as a banana and checks with the getcontroller()->cangetachievement from the attachment class to see if the achievement can be obtained or not depending on if the game is being played by a local player. In this scenario, it returns true because the game is being played by a local player. The attachment class then updates the achievements of the local player through the increaseachievement(achieveinfo::achieve_banana, banana, 1) class in the controller subsystem. After increasing the points for an achievement, the speed and the weight of the player s kart increases due to the weight of the anvil. 9. DEVELOPMENT TEAM ISSUES SuperTuxKart s architecture isn t easily modifiable due to the high degree of dependencies amongst the subsystems. We noticed that if the team was to evolve a subsystem, it would cause a ripple effect across the architecture. This entails having to test and make changes to every other subsystem. Another issue faced by the team was the large number of unfinished work by contributing developers to the game. 13

14 10. LIMITATION OF REPORTED FINDINGS AND THE PROBLEMS WE FACED There were a couple of limitations in our reported findings for SuperTuxKart s concrete architecture. First of all, the game s source code was not well documented making it a bit difficult to understand some of the relationships between the subsystems. The Understand tool also crashes from time to time due to bugs present in the system. Furthermore, Understand gives an unclear representation of the dependencies between the concrete architecture s subsystems. The order of the calls between subsystems differs from when you display the high level architecture showing all the dependencies and when we highlight a particular subsystem to look at the edges coming into it. For example, in fig 1 below, the output system calls the utils 6 times. However, in fig 2 when the utils subsystem is highlighted to show edges coming into it, the order of calls between the systems is switched i.e utils now calls the output system 6 times. Fig 1. High level Architecture without the use of the Understand tool feature Fig 2. High level architecture with feature of looking at the edges going into the Utils Subsystem 11. LESSONS LEARNED We learned during our derivation process that Understand is an efficient tool for analyzing source codes. Our original conceptual architecture did not take into account some of the major components of a game s architecture such as the utils subsystem. Because of this, the initial mapping of the subsystems had a couple of illogical dependencies among the subsystems but after refining our architecture, we were able to minimize the dependencies. We were also able to identify the observer design pattern from the game s source code through the use of the lecture materials and the developer s documentation. Our final lesson learned was that we should have analyzed the sequence diagram whilst analyzing the concrete architecture through the use of the source code. This would have saved us time and improved the team s efficiency in developing the sequence diagram. 14

15 12. CONCLUSION To conclude, our conceptual architecture was changed from a Layered to Object-Oriented structure. This modification was made due to the additional dependencies and components obtained from the mapping of the game s source code using the Understand tool. The tool was essential for the extraction SuperTuxKart s concrete architecture and analysis of the architecture s subsystems. The revised conceptual architecture and the concrete architecture both have high-coupling and high cohesion. High cohesion because the new subsystems added were able to minimize the amount of functionalities carried out by each component of the architecture. High coupling because of the various dependencies between the high level subsystems. 13. REFERENCES Runtime Engine Architecture. (n.d.). Retrieved from A. (n.d.). Developer interview: SuperTuxKart team Retrieved from G. Bufardeci (n.d.). Concrete Architecture and Reflexion Analysis Retrieved from 15

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

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

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

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

A3 Kart Deterioration Feature Addition

A3 Kart Deterioration Feature Addition A3 Kart Deterioration Feature Addition CMPE 326 Clark Holdham - 10122348 Aranjit Daid - 10052771 Jeffrey Turnock - 10087069 Ameris Rudland - 10108273 Nolan Nisbet - 10089873 Madeline Van Der Paelt - 10093249

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

Unity Game Development Essentials

Unity Game Development Essentials Unity Game Development Essentials Build fully functional, professional 3D games with realistic environments, sound, dynamic effects, and more! Will Goldstone 1- PUBLISHING -J BIRMINGHAM - MUMBAI Preface

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

Unity 3.x. Game Development Essentials. Game development with C# and Javascript PUBLISHING

Unity 3.x. Game Development Essentials. Game development with C# and Javascript PUBLISHING Unity 3.x Game Development Essentials Game development with C# and Javascript Build fully functional, professional 3D games with realistic environments, sound, dynamic effects, and more! Will Goldstone

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

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

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

Scheme of Work Overview

Scheme of Work Overview Scheme of Work Overview About this unit This unit aims to teach students the fundamentals of games programming using Kodu, which is a visual game development environment. Using Kodu students will understand

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

6 System architecture

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

More information

GRADE 8 COMMUNICATIONS TECHNOLOGY

GRADE 8 COMMUNICATIONS TECHNOLOGY GRADE 8 COMMUNICATIONS TECHNOLOGY Description This course is an introduction to Communication Technology. Students study basic methods of modern communication and develop projects based communication concepts.

More information

Campus Fighter. CSEE 4840 Embedded System Design. Haosen Wang, hw2363 Lei Wang, lw2464 Pan Deng, pd2389 Hongtao Li, hl2660 Pengyi Zhang, pnz2102

Campus Fighter. CSEE 4840 Embedded System Design. Haosen Wang, hw2363 Lei Wang, lw2464 Pan Deng, pd2389 Hongtao Li, hl2660 Pengyi Zhang, pnz2102 Campus Fighter CSEE 4840 Embedded System Design Haosen Wang, hw2363 Lei Wang, lw2464 Pan Deng, pd2389 Hongtao Li, hl2660 Pengyi Zhang, pnz2102 March 2011 Project Introduction In this project we aim to

More information

Assembly Set. capabilities for assembly, design, and evaluation

Assembly Set. capabilities for assembly, design, and evaluation Assembly Set capabilities for assembly, design, and evaluation I-DEAS Master Assembly I-DEAS Master Assembly software allows you to work in a multi-user environment to lay out, design, and manage large

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

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

Research on Presentation of Multimedia Interactive Electronic Sand. Table

Research on Presentation of Multimedia Interactive Electronic Sand. Table International Conference on Education Technology and Economic Management (ICETEM 2015) Research on Presentation of Multimedia Interactive Electronic Sand Table Daogui Lin Fujian Polytechnic of Information

More information

Cannon Ball User Manual

Cannon Ball User Manual Cannon Ball User Manual Darrell Westerinen Jae Kim Youngwouk Youn December 9, 2008 CSS 450 Kelvin Sung Cannon Ball: User Manual Page 2 of 8 Table of Contents GAMEPLAY:... 3 HERO - TANK... 3 CANNON BALL:...

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

Beginning 3D Game Development with Unity:

Beginning 3D Game Development with Unity: Beginning 3D Game Development with Unity: The World's Most Widely Used Multi-platform Game Engine Sue Blackman Apress* Contents About the Author About the Technical Reviewer Acknowledgments Introduction

More information

Module 4 Build a Game

Module 4 Build a Game Module 4 Build a Game Game On 2 Game Instructions 3 Exercises 12 Look at Me 13 Exercises 15 I Can t Hear You! 17 Exercise 20 End of Module Quiz 20 2013 Lero Game On Design a Game When you start a programming

More information

A flexible application framework for distributed real time systems with applications in PC based driving simulators

A flexible application framework for distributed real time systems with applications in PC based driving simulators A flexible application framework for distributed real time systems with applications in PC based driving simulators M. Grein, A. Kaussner, H.-P. Krüger, H. Noltemeier Abstract For the research at the IZVW

More information

Space Invadersesque 2D shooter

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

More information

ELEN W4840 Embedded System Design Final Project Button Hero : Initial Design. Spring 2007 March 22

ELEN W4840 Embedded System Design Final Project Button Hero : Initial Design. Spring 2007 March 22 ELEN W4840 Embedded System Design Final Project Button Hero : Initial Design Spring 2007 March 22 Charles Lam (cgl2101) Joo Han Chang (jc2685) George Liao (gkl2104) Ken Yu (khy2102) INTRODUCTION Our goal

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

CISC 1600, Lab 2.2: More games in Scratch

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

More information

Game Design 2. Table of Contents

Game Design 2. Table of Contents Course Syllabus Course Code: EDL082 Required Materials 1. Computer with: OS: Windows 7 SP1+, 8, 10; Mac OS X 10.8+. Windows XP & Vista are not supported; and server versions of Windows & OS X are not tested.

More information

Workshops Elisava Introduction to programming and electronics (Scratch & Arduino)

Workshops Elisava Introduction to programming and electronics (Scratch & Arduino) Workshops Elisava 2011 Introduction to programming and electronics (Scratch & Arduino) What is programming? Make an algorithm to do something in a specific language programming. Algorithm: a procedure

More information

Experiment 02 Interaction Objects

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

More information

Visual Design in Games

Visual Design in Games Visual Design in Games Last class The central purpose of any visual medium is communication Instructive forces are always at work in games Visuals of the game world should add cohesiveness and continuity

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

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

Orbital Delivery Service

Orbital Delivery Service Orbital Delivery Service Michael Krcmarik Andrew Rodman Project Description 1 Orbital Delivery Service is a 2D moon lander style game where the player must land a cargo ship on various worlds at the intended

More information

Saphira Robot Control Architecture

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

More information

Qosmotec. Software Solutions GmbH. Technical Overview. QPER C2X - Car-to-X Signal Strength Emulator and HiL Test Bench. Page 1

Qosmotec. Software Solutions GmbH. Technical Overview. QPER C2X - Car-to-X Signal Strength Emulator and HiL Test Bench. Page 1 Qosmotec Software Solutions GmbH Technical Overview QPER C2X - Page 1 TABLE OF CONTENTS 0 DOCUMENT CONTROL...3 0.1 Imprint...3 0.2 Document Description...3 1 SYSTEM DESCRIPTION...4 1.1 General Concept...4

More information

Game Engine Programming

Game Engine Programming Game Engine Programming GMT Master Program Utrecht University Dr. Nicolas Pronost Course code: INFOMGEP Credits: 7.5 ECTS Lecture #16 Final lecture The final assignment Submit your assignment 4 by Thursday

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

CIDM 2315 Final Project: Hunt the Wumpus

CIDM 2315 Final Project: Hunt the Wumpus CIDM 2315 Final Project: Hunt the Wumpus Description You will implement the popular text adventure game Hunt the Wumpus. Hunt the Wumpus was originally written in BASIC in 1972 by Gregory Yob. You can

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

Live Agent for Administrators

Live Agent for Administrators Salesforce, Spring 18 @salesforcedocs Last updated: January 11, 2018 Copyright 2000 2018 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of salesforce.com, inc., as are other

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

A retro space combat game by Chad Fillion. Chad Fillion Scripting for Interactivity ITGM 719: 5/13/13 Space Attack - Retro space shooter game

A retro space combat game by Chad Fillion. Chad Fillion Scripting for Interactivity ITGM 719: 5/13/13 Space Attack - Retro space shooter game A retro space combat game by Designed and developed as a throwback to the classic 80 s arcade games, Space Attack launches players into a galaxy of Alien enemies in an endurance race to attain the highest

More information

Generating Virtual Environments by Linking Spatial Data Processing with a Gaming Engine

Generating Virtual Environments by Linking Spatial Data Processing with a Gaming Engine Generating Virtual Environments by Linking Spatial Data Processing with a Gaming Engine Christian STOCK, Ian D. BISHOP, and Alice O CONNOR 1 Introduction As the general public gets increasingly involved

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

Arts, Media and Entertainment Media and Design Arts Multimedia

Arts, Media and Entertainment Media and Design Arts Multimedia CTE PROGRAM OF STUDY COMPLETED 2008-2009 Secondary & Post Secondary Industry Sector: Career Pathway: Program: Arts, Media and Entertainment Media and Design Arts Multimedia Levels Grade ELA Math Science

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

In this tutorial you will use Photo Story 3, a free software program from Microsoft, to create digital stories using text, graphics and music.

In this tutorial you will use Photo Story 3, a free software program from Microsoft, to create digital stories using text, graphics and music. In this tutorial you will use Photo Story 3, a free software program from Microsoft, to create digital stories using text, graphics and music. What you will learn: o System Requirements and Recommendations

More information

Program Testing and Analysis: Symbolic and Concolic Testing (Part 2) Dr. Michael Pradel Software Lab, TU Darmstadt

Program Testing and Analysis: Symbolic and Concolic Testing (Part 2) Dr. Michael Pradel Software Lab, TU Darmstadt Program Testing and Analysis: Symbolic and Concolic Testing (Part 2) Dr. Michael Pradel Software Lab, TU Darmstadt 1 Warm-up Quiz What does the following code print? var sum = 0; var array = [11, 22, 33];

More information

Laboratory set-up for Real-Time study of Electric Drives with Integrated Interfaces for Test and Measurement

Laboratory set-up for Real-Time study of Electric Drives with Integrated Interfaces for Test and Measurement Laboratory set-up for Real-Time study of Electric Drives with Integrated Interfaces for Test and Measurement Fong Mak, Ram Sundaram, Varun Santhaseelan, and Sunil Tandle Gannon University, mak001@gannon.edu,

More information

Jeopardy: Sports September 17, 2013 Confidential Quote Koolhaus Games Inc. for Sony September 17, 2013 Dear Phil, Robert and Jocelyn, Jeopardy: Sports ios & Android Additional Scope: Tier 2 CONFIDENTIAL

More information

Towards a Reference Architecture for 3D First Person Shooter Games

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

More information

Instructions for using Object Collection and Trigger mechanics in Unity

Instructions for using Object Collection and Trigger mechanics in Unity Instructions for using Object Collection and Trigger mechanics in Unity Note for Unity 5 Jason Fritts jfritts@slu.edu In Unity 5, the developers dramatically changed the Character Controller scripts. Among

More information

BE SURE TO COMPLETE HYPOTHESIS STATEMENTS FOR EACH STAGE. ( ) DO NOT USE THE TEST BUTTON IN THIS ACTIVITY UNTIL THE END!

BE SURE TO COMPLETE HYPOTHESIS STATEMENTS FOR EACH STAGE. ( ) DO NOT USE THE TEST BUTTON IN THIS ACTIVITY UNTIL THE END! Lazarus: Stages 3 & 4 In the world that we live in, we are a subject to the laws of physics. The law of gravity brings objects down to earth. Actions have equal and opposite reactions. Some objects have

More information

Robot Task-Level Programming Language and Simulation

Robot Task-Level Programming Language and Simulation Robot Task-Level Programming Language and Simulation M. Samaka Abstract This paper presents the development of a software application for Off-line robot task programming and simulation. Such application

More information

Changes made for Version 2. 0 (not released)

Changes made for Version 2. 0 (not released) Changes made for Version 2. 0 (not released) 13.03.14 Version 1.0 of the terrain map is published as download. All NDBs, VORs and TACAN stations are included. The map is complemented by a PDF list of all

More information

Tutorial: Creating maze games

Tutorial: Creating maze games Tutorial: Creating maze games Copyright 2003, Mark Overmars Last changed: March 22, 2003 (finished) Uses: version 5.0, advanced mode Level: Beginner Even though Game Maker is really simple to use and creating

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

FPGA Design Process Checklist

FPGA Design Process Checklist FPGA Design Process Checklist Martin Fraeman Pete Eisenreich JHU/APL Laurel, MD 9/6/04 MAPLD 2004 1 Checklist Motivation Develop a process to consistently design FPGAs for space applications Useful to

More information

Appendix H - What Goes Into a Milestone Definition

Appendix H - What Goes Into a Milestone Definition Appendix H - What Goes Into a Milestone Definition Here's an example of what a milestone description might look like for an actionadventure game based upon a hypothetical license called AdventureX. Sample

More information

Multiplication and Area

Multiplication and Area Grade 3 Module 4 Multiplication and Area OVERVIEW In this 20-day module students explore area as an attribute of two-dimensional figures and relate it to their prior understandings of multiplication. In

More information

Introduction. Overview

Introduction. Overview Introduction and Overview Introduction This goal of this curriculum is to familiarize students with the ScratchJr programming language. The curriculum consists of eight sessions of 45 minutes each. For

More information

AR 2 kanoid: Augmented Reality ARkanoid

AR 2 kanoid: Augmented Reality ARkanoid AR 2 kanoid: Augmented Reality ARkanoid B. Smith and R. Gosine C-CORE and Memorial University of Newfoundland Abstract AR 2 kanoid, Augmented Reality ARkanoid, is an augmented reality version of the popular

More information

PIERO CLUB CUTTING EDGE ANALYSIS FOR PROFESSIONAL CLUBS. PIERO is a 3D sports graphics system designed for fast and informative game analysis.

PIERO CLUB CUTTING EDGE ANALYSIS FOR PROFESSIONAL CLUBS. PIERO is a 3D sports graphics system designed for fast and informative game analysis. PIERO CLUB CUTTING EDGE ANALYSIS FOR PROFESSIONAL CLUBS PIERO is a 3D sports graphics system designed for fast and informative game analysis. ADVANCED ANALYSIS PIERO uses a line and texture tracking algorithm,

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

Workplace Skills Assessment Program. Virtual Event V03 - Software Engineering Team Project Requirements Document.

Workplace Skills Assessment Program. Virtual Event V03 - Software Engineering Team Project Requirements Document. Workplace Skills Assessment Program Virtual Event V03 - Software Engineering Team 2018-2019 Project Requirements Document Page 1 of 19 LEGAL This document is copyright 2010-2019 Business Professionals

More information

Programming I (mblock)

Programming I (mblock) http://www.plk83.edu.hk/cy/mblock Contents 1. Introduction (Page 1) 2. What is Scratch? (Page 1) 3. What is mblock? (Page 2) 4. Learn Scratch (Page 3) 5. Elementary Lessons (Page 3) 6. Supplementary Lessons

More information

Foundations of Interactive Game Design (80K) week five, lecture three

Foundations of Interactive Game Design (80K) week five, lecture three Foundations of Interactive Game Design (80K) week five, lecture three Today Quiz Reminders Agency and intention Returning to operational logics, if time permits What s next? Quiz Church s essay discusses

More information

TurboVUi Solo. User Guide. For Version 6 Software Document # S Please check the accompanying CD for a newer version of this document

TurboVUi Solo. User Guide. For Version 6 Software Document # S Please check the accompanying CD for a newer version of this document TurboVUi Solo For Version 6 Software Document # S2-61432-604 Please check the accompanying CD for a newer version of this document Remote Virtual User Interface For MOTOTRBO Professional Digital 2-Way

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

No Evidence. What am I Testing? Expected Outcomes Testing Method Actual Outcome Action Required

No Evidence. What am I Testing? Expected Outcomes Testing Method Actual Outcome Action Required No Evidence What am I Testing? Expected Outcomes Testing Method Actual Outcome Action Required If a game win is triggered if the player wins. If the ship noise triggered when the player loses. If the sound

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

Curriculum Plan 2017/18 Computing Year group Term

Curriculum Plan 2017/18 Computing Year group Term Curriculum Plan 2017/18 Computing Year 7 All About Me Network basics Internet risks Develop a web page Algorithms & Flow charts Learn to code in Kodu and Scratch Cyber Safety and Computer Crime Risks involved

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

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

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

More information

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

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

More information

Understanding OpenGL

Understanding OpenGL This document provides an overview of the OpenGL implementation in Boris Red. About OpenGL OpenGL is a cross-platform standard for 3D acceleration. GL stands for graphics library. Open refers to the ongoing,

More information

Prasanth. Lathe Machining

Prasanth. Lathe Machining Lathe Machining Overview Conventions What's New? Getting Started Open the Part to Machine Create a Rough Turning Operation Replay the Toolpath Create a Groove Turning Operation Create Profile Finish Turning

More information

Integrating Advanced Payload Data Processing in a Demanding CubeSat Mission. Mark McCrum, Peter Mendham

Integrating Advanced Payload Data Processing in a Demanding CubeSat Mission. Mark McCrum, Peter Mendham Integrating Advanced Payload Data Processing in a Demanding CubeSat Mission Mark McCrum, Peter Mendham CubeSat mission capability Nano-satellites missions are increasing in capability Constellations Distributed

More information

Official Rules & Regulations Games Competition 2015 Season

Official Rules & Regulations Games Competition 2015 Season Official Rules & Regulations Games Competition 2015 Season Version 1.0 September 10 2014 OVERVIEW The Imagine Cup Games Competition honors the most fun, innovative, and creative games built with Microsoft

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

2

2 1 2 3 4 5 6 7 of 14 7/11/17, 8:46 AM 7 8 9 10 11 12 13 Apply an animation 1. Select the object or text on the slide that you want to animate. An "object" in this context is any thing on a slide, such as

More information

Editing the standing Lazarus object to detect for being freed

Editing the standing Lazarus object to detect for being freed Lazarus: Stages 5, 6, & 7 Of the game builds you have done so far, Lazarus has had the most programming properties. In the big picture, the programming, animation, gameplay of Lazarus is relatively simple.

More information

ANSYS v14.5. Manager Installation Guide CAE Associates

ANSYS v14.5. Manager Installation Guide CAE Associates ANSYS v14.5 Remote Solve Manager Installation Guide 2013 CAE Associates What is the Remote Solve Manager? The Remote Solve Manager (RSM) is a job queuing system designed specifically for use with the ANSYS

More information

understand the hardware and software components that make up computer systems, and how they communicate with one another and with other systems

understand the hardware and software components that make up computer systems, and how they communicate with one another and with other systems Subject Knowledge Audit & Tracker Computer Science 2017-18 Purpose of the Audit Your indications of specialist subject knowledge strengths and areas for development are used as a basis for discussion during

More information

Blue Point Engineering

Blue Point Engineering Blue Point Engineering Instruction I www.bpesolutions.com Pointing the Way to Solutions! Animatronic Wizard - 3 Board (BPE No. WAC-0030) Version 3.0 2009 Controller Page 1 The Wizard 3 Board will record

More information

GALAXIAN: CSEE 4840 EMBEDDED SYSTEM DESIGN. Galaxian. CSEE 4840 Embedded System Design

GALAXIAN: CSEE 4840 EMBEDDED SYSTEM DESIGN. Galaxian. CSEE 4840 Embedded System Design Galaxian CSEE 4840 Embedded System Design *Department of Computer Science Department of Electrical Engineering Department of Computer Engineering School of Engineering and Applied Science, Columbia University

More information

IMGD The Game Development Process: Game Development Timeline

IMGD The Game Development Process: Game Development Timeline IMGD 1001 - The Game Development Process: Game Development Timeline by Robert W. Lindeman (gogo@wpi.edu) Kent Quirk (kent_quirk@cognitoy.com) (with lots of input from Mark Claypool!) Outline Game Timeline

More information

From: urmind Studios, FRANCE. Imagine Cup Video Games. MindCube

From: urmind Studios, FRANCE. Imagine Cup Video Games. MindCube From: urmind Studios, FRANCE Imagine Cup 2013 Video Games MindCube urmind Studios, FRANCE Project Name: Presentation of team : urmind Studios The team, as the MindCube project, has been created the 5 th

More information

CS295-1 Final Project : AIBO

CS295-1 Final Project : AIBO CS295-1 Final Project : AIBO Mert Akdere, Ethan F. Leland December 20, 2005 Abstract This document is the final report for our CS295-1 Sensor Data Management Course Final Project: Project AIBO. The main

More information

Individual Test Item Specifications

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

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

Run Ant Runt! Game Design Document. Created: November 20, 2013 Updated: November 20, 2013

Run Ant Runt! Game Design Document. Created: November 20, 2013 Updated: November 20, 2013 Run Ant Runt! Game Design Document Created: November 20, 2013 Updated: November 20, 2013 1 Overview... 1 1.1 In One Sentence... 1 1.2 Intro... 1 1.3 Genre... 1 1.4 Platform, Minimum Specs... 1 1.5 Target

More information

Application of "S-MAC" TYPE C (Development of Work Rotation Type Wire Winding Machine)

Application of S-MAC TYPE C (Development of Work Rotation Type Wire Winding Machine) 1 / 6 SANYO DENKI Technical Report No.5 May 1998 Feature Application of "S-MAC" TYPE C (Development of Work Rotation Type Wire Winding Machine) Toyoshi Harada Katsumi Kuribayashi Hideaki Kodama Liang Chen

More information

Coop Design for an Open World. David G. Bowring

Coop Design for an Open World. David G. Bowring Coop Design for an Open World David G. Bowring David Bowring Gameplay Designer for Saints Row 2 COOP systems design Mission design Level design and scripting Volition Inc Saint s Row 2(XBOX360/PS3/PC)

More information

CONCEPTS EXPLAINED CONCEPTS (IN ORDER)

CONCEPTS EXPLAINED CONCEPTS (IN ORDER) CONCEPTS EXPLAINED This reference is a companion to the Tutorials for the purpose of providing deeper explanations of concepts related to game designing and building. This reference will be updated with

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