Sensible Chuckle SuperTuxKart Concrete Architecture Report

Size: px
Start display at page:

Download "Sensible Chuckle SuperTuxKart Concrete Architecture Report"

Transcription

1 Sensible Chuckle SuperTuxKart Concrete Architecture Report Sam Strike Ben Mitchell Alex Mersereau Will Gervais David Cho Michael Spiering Table of Contents Abstract Page 2 Architecture Derivation Process Page 2 Conceptual Architecture Original Conceptual Architecture..... Page 3 Revised Conceptual Architecture.... Page 3 Concrete Architecture Concrete Architecture Overview Page 4 Conceptual Vs. Concrete Page 4 Reflexion Analysis Page 5 Architecture Subsystems Game Specific Subsystems Page 5 Graphics..... Page 7 Controller.... Page 7 Physics Page 7 Audio Page 8 Core Systems..... Page 8 Network..... Page 9 Libraries Page 10 Sequence Diagrams Sequence Diagram # Page 10 Sequence Diagram #2... Page 11 Concurrency Page 11 Division of Responsibilities and Development Team Issues.... Page 12 Lessons Learned Page 12 Conclusion.. Page 12 References..... Page 13

2 Abstract As a free, open-source game project, SuperTuxKart has seen a wide variety of talents and contributions since its release in A racing game created in the style of the Mario Kart series, SuperTuxKart has players controlling one of a multitude of karts, vehicles in which they race other player- or AI-controlled karts on various tracks. As with any piece of software, SuperTuxKart s inner workings can be mapped to a layout known as a software architecture. In the previous assignment, we created a conceptual architecture based on what we thought SuperTuxKart s functionality would best fit. This time around, we utilized a program known as Understand to create a concrete architecture, drawing directly on the function calls and interconnectivity of SuperTuxKart s actual source code. We then compared both diagrams and did an analysis on their points of convergence and divergence. Architecture Derivation Process The first step in the formulation of our concrete architecture was to evaluate our original conceptual architecture from assignment 1 and see if it still held, based on the feedback we received and our new ideas. We revised quite a few aspects, such as introducing the new subcomponents Core Systems and Controller, while eliminating User Interface and Player Manager, among others. Once we were happy with this new layout, it was time to move from conceptual to concrete. We used Understand to map the source directories of SuperTuxKart to subcomponents in our conceptual architecture, and examined the resulting dependency graph. If we discovered dependencies between subcomponents that just didn t make sense, we traced these connections back to their sources. We either re-mapped directories/files to different subcomponents that might produce more logical results, or we labelled said dependencies as unexpected in our comparison between our two architectures. The dependency graph was then re-examined, and the process was repeated until we felt that no further changes to our concrete architecture were necessary. The result of our efforts is pictured below.

3 Conceptual Architecture Original Conceptual Architecture Revised Conceptual Architecture Modifications we made to our original architecture include the removal of User Interface and the relocation of Player Manager to inside Game Specific Subsystems. We decided that our concept of User Interface in our original architecture was more of a hardware implementation, which did not fit inside the software architecture. We

4 also decided that the Player Manager was actually too low level; a component of a subsystem rather than its own subsystem. Furthermore, some of the features of Player Manager, such as achievements and config, have a close relationship with other components inside Game Specific Subsystems (and Network, which interacts with Game Specific Subsystems), so it made the most sense to combine the two. Concrete Architecture Concrete Architecture Overview This is the outcome of our use of the Understand tool with our revised conceptual architecture as a baseline. Conceptual vs. Concrete Conceptual Concrete

5 As shown in the diagram above, the concrete architecture consists of many unexpected dependencies that were defined from a source code level. We ve taken a look at the origin of these dependencies to find the rationale behind such interactions, which are further explained in each subsystem s section. Reflexion Analysis Reflexion Analysis is a mechanism used to measure the differences between a conceptual architecture and a concrete architecture. This process allows one to define what is absent or misplaced between the architectures by examining the dependencies in the concrete architecture that were not anticipated in the conceptual architecture. This is then followed by an investigation of these unexpected dependencies to decide whether architectural changes need to be made. Architecture Subsystems Game Specific Subsystems Game Specific Subsystems makes up the core of the gameplay entities that users interact with while playing SuperTuxKart. It stores information about the game state and properties about game objects, such as a kart's speed or weight. It also stores game unlocks and player scores.

6 An unexpected dependency that we found was that Game Specific Subsystems depended on Network. This is because, when an addon is downloaded from the Internet, the data contained in the addon must be loaded into the game files. Game Specific Subsystems Internal View Game Specific Subsystems can be broken down into five subcomponents: Game Structure, Game Objects, Player Management, Scripts and States. Game Structure consists of the race data and different race modes that help contribute to the overall gameplay of a race. Game Objects are the dynamic objects within the race world, such as karts, items, and tracks that are subject to change within the world. Player Management deals with all the achievements and challenges a user can unlock from the game. Scripts holds the script engines for all the dynamic game objects. Lastly, States handles all the various screens a user can encounter while playing SuperTuxKart. By splitting Game Specific Subsystems into five subcomponents, each subcomponent was dependent on each other, and coupling was very high. Game Specific Subsystems Full View

7 In the overall architecture, each subsystem is dependent on most of the five subcomponents within Game Specific Subsystems. This results in a difficult maintenance process for this subsystem because, if the development team wants to make a change, then it will affect many other parts of the architecture. Graphics The Graphics subsystem renders the animations of the game, and handles graphical processes of the software, such as particles, meshes, special effects, shadow and lighting. Graphics depends on Controller because the input manager is called when new resolution settings are applied. It depends on Audio because sound effects are mapped to specific graphics properties. An unexpected dependency we found was Graphics depending on Physics. This is because, when they render a post-processed scene, the code would call for the world's physics directly instead of calling for the game state from Game Specific Subsystems and retrieving physics information from that. Controller The Controller subsystem handles user inputs with two different manager codes: input and device manager. It also holds information about different types of hardware that could be used to play the game, such as normal keyboards, gamepads, and even wiimotes. An unexpected dependency we found was Controller depending on Graphics. This is because when a user supply inputs for camera control, Controller is required to call functions inside Graphics, such as getlinearvelocity and applymousemovement, to complete the requested camera command. Another example is, while using Irrlicht, the printscreen button would call for requestscreenshot command inside Irr_driver code file, which belongs inside Graphics, to take a screenshot. Physics The Physics subsystem deals with all the physics calculations and properties of a dynamic game object. It receives information about the game state, and changes it based upon the information it has on how all the various game entities should interact. Physics depends on four other subsystems: Game Specific Subsystems, Libraries, Core Systems, and Graphics. Physics needs to receive information about the game's state from Game Specific Subsystems. It also needs to communicate with bullet ( SuperTuxKart s physics engine) which is in Libraries. An unexpected dependency that was found was Physics depending on Graphics. The reason for this is that within the physics source files they would

8 sometimes check the animation type of a kart in order to set its physics properties. For example, if the animation type of the kart is a flattened kart, they slow the kart s speed. Audio The Audio subsystem handles the overall execution of audio content, handling the triggering of sound effects and background music and the coordination between both. Audio, as expected, contains the audio directory, and depends on the Game Specific Subsystems for information as to the status of the game s current state; if an event happens that requires a change of music, such as starting a race on a new track, then the Audio subsystem will step in and make it happen. Audio also depends on Core Systems for debugging and error handling, and is depended upon in turn by the Libraries system due to the presence of third party graphics engines (irrlict and bullet). There were no unexpected dependencies as far as Audio depending on another subsystem is concerned, but other subsystems depending on Audio is a different story; both Game Specific Subsystems and Graphics call Audio for the execution of sound effects, among other things, which is easily rationalized. We assumed all coordination between audio and other content would be routed through Game Specific Subsystems, but sometimes a subsystem bypasses the middleman. Core Systems Core Systems is responsible for foundational operations that are used by many other subsystems, such as obtaining and processing input, and managing debugging of the system. It contains the utils, guiengine, and io source directories. In our conceptual architecture it is dependent on Network, Game Specific Subsystems, Physics, Graphics, Audio, and Controler. Using Understand we delved deeper into this subsystem, and obtained the figures below showing how Core Systems s source directories interact with the other subsystems, and how the source directories interact with each other. As you can see in the Full View, io is mainly depended on by other subsystems, whereas guiengine and utils are mainly coupled to other systems via two-way connections. This makes sense, because guiengine is an interactive subsystem and therefore would require two-way dependencies. Similarly with utils, processes like debugging and logging require two-way dependencies. For example, Game Specific Subsystems is dependent on utils because it needs to write to the logs in utils, and Utils is dependent on Game Specific Subsystems in order to retrieve aspects of the game state when an error is encountered.

9 The only unexpected dependency is between Core Systems and Libraries. The reason for this dependency is utils/translation.hpp calling tinygettest::language::from_name().get_name(). This is to get the language from Libraries, which stores that information. Core Systems Full View Core Systems Internal View Network The Network subsystem is responsible for controlling SuperTuxKart s online processes, such as downloading new addons and updating a player s highscore on SuperTuxKart s server. It contains the online and addons source directories. Our conceptual understanding of Network was that it would only need to depend on Game Specific Subsystems and Libraries because it only needs to retrieve the highscores for races in order to update SuperTuxKart s online servers, and to access various third-party assets. In our concrete architecture, however, we found that Network additionally depends on Graphics and Core Subsystems. One example of a dependency from Network to Graphics is in the zip.cpp file: there is an include for graphics/irr_driver.hpp which invokes getfilesystem(). This makes intuitive sense. In order for the addon to be merged with the correct files, addons would have to access the file system to determine where to place the newly

10 downloaded files. An example of a dependency between Network and Core Systems is that addons/addon.hpp incluedes io/file_manager and invokes getaddonsdir() in the addon.cpp -> isaddon() function. This function serves to check if the supplied id is a an addon. Libraries The Libraries subsystem contains all of the 3 rd party SDK s that SuperTuxKart uses. Every subsystem depends on it because all the subsystems need access to different engines (OpenGL, bullet, irrlicht etc.). However, it depends on Core Systems because some libraries needs to access the games s file manager. It also depends on Graphics because some of the libraries use attributes that are within the Graphics subsystem. Sequence Diagrams The sequence diagram above shows how the game handles a user's kart colliding with a powerup. First, the Controller subsystem reads the input the user supplies, and then notifies Game Specific Subsystems that the kart needs to move. Next, the Game Specific Subsystems ask Physics if a collision has happened between the kart and another object. Physics returns true in this case, and provides the id of the object the kart has collided with. Furthermore, Game Specific Subsystems tells Graphics to draw the powerup on the user's screen, and tells Audio to play the sound associated with picking up a powerup. The Graphics subsystem gets the correct OpenGL texture from Libraries, and Audio gets the correct sound file from Core Systems. Lastly the power up is displayed on the screen concurrently with the audio being played.

11 The sequence diagram above show one kart colliding with another. First, Game Specific Subsystems calls update() on Physics, and Physics calls getandmapaction() from Core Systems. This data is used to update Controller, which in turn updates the action in Game Specific Subsystems/Kart and returns control to Physics. Physics then calculates the outcome for the timestamp and detects a collision between two karts. It then calls Graphics to render the collision, which calls Audio to play the sound. Both return to Core Systems on different threads to play the collision sound and show the updated display, and this information is sent to the user through the system s devices. Concurrency In SuperTuxKart, multiple instances of concurrency exist throughout the game and must be properly managed at runtime for a satisfactory experience. SuperTuxKart supports multi-threading, so audio and graphics must run in the same thread. If the audio and graphics are de-synced, the resulting gameplay would not make sense to the user. The game supports up to four players at once for local multiplayer, meaning the game must manage multiple input streams for different input devices. As an open source game, SuperTuxKart offers many different platform and input options, which, on top of the complication of additional client support, require multiple different and concurrent inputs. Since there are multiple entities in a race, all karts must be managed and updated concurrently. As karts move through the track, there are frequent position changes, item activations, and interactions between karts. The game must manage

12 these interactions concurrently in the game state, which is an important part of a high quality game. Division of Responsibilities and Development Team Issues The three main roles of the development team are: - Joerg Henrichs ( Hiker ), the Project Leader - Marianne Gagnon ( Auria ), the Main Developer - Jean-Manuel Clemençon ( Samuncle ), the Lead Artist Since SuperTuxKart is an open source project, throughout development many people have been able to contribute to the game. The open source nature also created some issues surrounding SuperTuxKart s creation. Since the game's initial release in 2004, the people in each of the three main project roles have changed numerous times, making it hard to transfer information about the game between old and new project leads. This also makes it hard for developers to communicate with one another, as anyone can jump in and contribute at a moment s notice. Lessons Learned Once we got a good grasp of the basic functionality of Understand, the project started coming together much more easily. Though not perfect by any means, the program provided us with all the tools we needed to investigate and formulate our concrete architecture. Tracing dependencies back to their sources was a very illuminating exercise. It enabled us to gain a level of knowledge of the inner workings of SuperTuxKart that had previously eluded us. It's this knowledge that will be an invaluable asset in the next assignment, when we have to create our own components and dependencies. Finally, in addition to Understand, we utilized some new software that allowed us to create and share diagrams amongst our group members, akin to the online presentation and document software we use for our presentations and reports. This meant that the creation of our diagrams was more of a collaborative effort, as we could add or suggest changes on the fly. Conclusion From start to finish, we made quite a few revisions and additions to our ongoing analysis of SuperTuxKart's architecture.

13 Our original conceptual architecture was heavily altered to fit a new level of knowledge, and, with the invaluable help of Understand, we arrived at a concrete architecture that (eventually) reflected what we felt was an accurate view of the game's interconnectivity. We were then able to compare both conceptual and concrete to pinpoint exactly where our hypotheses converged and diverged with reality. Evaluating these comparisons gave us a deeper understanding of both the nature of SuperTuxKart's development and the development team themselves, especially when we arrived at a dependency we didn't expect. Cohesion within the concrete architecture was at a premium, while high levels of coupling provides a nearly-complete graph of dependencies. Finally, we updated our sequence diagrams and re-evaluated our understanding of the effects of concurrency and team issues on SuperTuxKart, as well as engaging in a little self-reflection. The deeper analyses we performed on a select few subsystems will play a significant role in the near future, when we shift gears from contemplation to continuation in Assignment 3. References S. (2012). Supertuxkart/stk-code. Retrieved November 9, 2016, from Coding Style. (2016). Retrieved November 9, 2016, from Overview Architecture. (2016). Retrieved November 10, 2016, from

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

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 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

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

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

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

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

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

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

Team Breaking Bat Architecture Design Specification. Virtual Slugger

Team Breaking Bat Architecture Design Specification. Virtual Slugger Department of Computer Science and Engineering The University of Texas at Arlington Team Breaking Bat Architecture Design Specification Virtual Slugger Team Members: Sean Gibeault Brandon Auwaerter Ehidiamen

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

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

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

LOOKING AHEAD: UE4 VR Roadmap. Nick Whiting Technical Director VR / AR

LOOKING AHEAD: UE4 VR Roadmap. Nick Whiting Technical Director VR / AR LOOKING AHEAD: UE4 VR Roadmap Nick Whiting Technical Director VR / AR HEADLINE AND IMAGE LAYOUT RECENT DEVELOPMENTS RECENT DEVELOPMENTS At Epic, we drive our engine development by creating content. We

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

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

Oculus Rift Getting Started Guide

Oculus Rift Getting Started Guide Oculus Rift Getting Started Guide Version 1.23 2 Introduction Oculus Rift Copyrights and Trademarks 2017 Oculus VR, LLC. All Rights Reserved. OCULUS VR, OCULUS, and RIFT are trademarks of Oculus VR, LLC.

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

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

CSE 125 Boot Camp. Or: How I Learned to Stop Worrying and Love The Lab

CSE 125 Boot Camp. Or: How I Learned to Stop Worrying and Love The Lab CSE 125 Boot Camp Or: How I Learned to Stop Worrying and Love The Lab About Me Game Developer since 2010 forever Founder and President of VGDC gamedev.ucsd.edu (shameless self-promotion ftw) I look like

More information

PLANETOID PIONEERS: Creating a Level!

PLANETOID PIONEERS: Creating a Level! PLANETOID PIONEERS: Creating a Level! THEORY: DESIGNING A LEVEL Super Mario Bros. Source: Flickr Originally coders were the ones who created levels in video games, nowadays level designing is its own profession

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

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

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

Oculus Rift Getting Started Guide

Oculus Rift Getting Started Guide Oculus Rift Getting Started Guide Version 1.7.0 2 Introduction Oculus Rift Copyrights and Trademarks 2017 Oculus VR, LLC. All Rights Reserved. OCULUS VR, OCULUS, and RIFT are trademarks of Oculus VR, LLC.

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

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

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

Mobile and web games Development

Mobile and web games Development Mobile and web games Development For Alistair McMonnies FINAL ASSESSMENT Banner ID B00193816, B00187790, B00186941 1 Table of Contents Overview... 3 Comparing to the specification... 4 Challenges... 6

More information

Emergent s Gamebryo. Casey Brandt. Technical Account Manager Emergent Game Technologies. Game Tech 2009

Emergent s Gamebryo. Casey Brandt. Technical Account Manager Emergent Game Technologies. Game Tech 2009 Emergent s Gamebryo Game Tech 2009 Casey Brandt Technical Account Manager Emergent Game Technologies Questions To Answer What is Gamebryo? How does it look today? How is it designed? What titles are in

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

Brick Breaker. By Connor Molde Comptuer Games & Interactive Media Year 1

Brick Breaker. By Connor Molde Comptuer Games & Interactive Media Year 1 Brick Breaker By Connor Molde Comptuer Games & Interactive Media Year 1 Contents Section One: Section Two: Project Abstract Page 1 Concept Design Pages 2-3 Section Three: Research Pages 4-7 Section Four:

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

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

Requirements Specification. An MMORPG Game Using Oculus Rift

Requirements Specification. An MMORPG Game Using Oculus Rift 1 System Description CN1 An MMORPG Game Using Oculus Rift The project Game using Oculus Rift is the game application based on Microsoft Windows that allows user to play the game with the virtual reality

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

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

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

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

CitiTag Multiplayer Infrastructure

CitiTag Multiplayer Infrastructure CitiTag Multiplayer Infrastructure Kevin Quick and Yanna Vogiazou KMI-TR-138 http://kmi.open.ac.uk/publications/papers/kmi-tr-138.pdf March, 2004 Introduction The current technical report describes the

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

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

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

SIU-CAVE. Cave Automatic Virtual Environment. Project Design. Version 1.0 (DRAFT) Prepared for. Dr. Christos Mousas JBU.

SIU-CAVE. Cave Automatic Virtual Environment. Project Design. Version 1.0 (DRAFT) Prepared for. Dr. Christos Mousas JBU. SIU-CAVE Cave Automatic Virtual Environment Project Design Version 1.0 (DRAFT) Prepared for Dr. Christos Mousas By JBU on March 2nd, 2018 SIU CAVE Project Design 1 TABLE OF CONTENTS -Introduction 3 -General

More information

Annex IV - Stencyl Tutorial

Annex IV - Stencyl Tutorial Annex IV - Stencyl Tutorial This short, hands-on tutorial will walk you through the steps needed to create a simple platformer using premade content, so that you can become familiar with the main parts

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

PROJECT REPORT: GAMING : ROBOT CAPTURE

PROJECT REPORT: GAMING : ROBOT CAPTURE BOWIE STATE UNIVERSITY SPRING 2015 COSC 729 : VIRTUAL REALITY AND ITS APPLICATIONS PROJECT REPORT: GAMING : ROBOT CAPTURE PROFESSOR: Dr. SHARAD SHARMA STUDENTS: Issiaka Kamagate Jamil Ramsey 1 OUTLINE

More information

Lecture 1: Introduction and Preliminaries

Lecture 1: Introduction and Preliminaries CITS4242: Game Design and Multimedia Lecture 1: Introduction and Preliminaries Teaching Staff and Help Dr Rowan Davies (Rm 2.16, opposite the labs) rowan@csse.uwa.edu.au Help: via help4242, project groups,

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

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

While entry is at the discretion of the centre it would be beneficial if candidates had the following IT skills:

While entry is at the discretion of the centre it would be beneficial if candidates had the following IT skills: National Unit Specification: general information CODE F917 11 SUMMARY The aim of this Unit is for candidates to gain an understanding of processes involved in the final stages of computer game development.

More information

[Game] Programming I Didn t Learn In School

[Game] Programming I Didn t Learn In School [Game] Programming I Didn t Learn In School presented by Anton Gerdelan Trinity College Dublin antongerdelan.net me computer graphics research, Trinity College Dublin, Ireland lectured

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

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

Creating a Mobile Game

Creating a Mobile Game The University of Akron IdeaExchange@UAkron Honors Research Projects The Dr. Gary B. and Pamela S. Williams Honors College Spring 2015 Creating a Mobile Game Timothy Jasany The University Of Akron, trj21@zips.uakron.edu

More information

G54GAM Lab Session 1

G54GAM Lab Session 1 G54GAM Lab Session 1 The aim of this session is to introduce the basic functionality of Game Maker and to create a very simple platform game (think Mario / Donkey Kong etc). This document will walk you

More information

Harry Plummer KC BA Digital Arts. Virtual Space. Assignment 1: Concept Proposal 23/03/16. Word count: of 7

Harry Plummer KC BA Digital Arts. Virtual Space. Assignment 1: Concept Proposal 23/03/16. Word count: of 7 Harry Plummer KC39150 BA Digital Arts Virtual Space Assignment 1: Concept Proposal 23/03/16 Word count: 1449 1 of 7 REVRB Virtual Sampler Concept Proposal Main Concept: The concept for my Virtual Space

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

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

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

PASSENGER. Story of a convergent pipeline. Thomas Felix TG - Passenger Ubisoft Montréal. Pierre Blaizeau TWINE Ubisoft Montréal

PASSENGER. Story of a convergent pipeline. Thomas Felix TG - Passenger Ubisoft Montréal. Pierre Blaizeau TWINE Ubisoft Montréal PASSENGER Story of a convergent pipeline Thomas Felix TG - Passenger Ubisoft Montréal Pierre Blaizeau TWINE Ubisoft Montréal Technology Group PASSENGER How to expand your game universe? How to bridge game

More information

DESIGN STYLE FOR BUILDING INTERIOR 3D OBJECTS USING MARKER BASED AUGMENTED REALITY

DESIGN STYLE FOR BUILDING INTERIOR 3D OBJECTS USING MARKER BASED AUGMENTED REALITY DESIGN STYLE FOR BUILDING INTERIOR 3D OBJECTS USING MARKER BASED AUGMENTED REALITY 1 RAJU RATHOD, 2 GEORGE PHILIP.C, 3 VIJAY KUMAR B.P 1,2,3 MSRIT Bangalore Abstract- To ensure the best place, position,

More information

Michigan State University Team MSUFCU Money Smash Chronicle Project Plan Spring 2016

Michigan State University Team MSUFCU Money Smash Chronicle Project Plan Spring 2016 Michigan State University Team MSUFCU Money Smash Chronicle Project Plan Spring 2016 MSUFCU Staff: Whitney Anderson-Harrell Austin Drouare Emily Fesler Ben Maxim Ian Oberg Michigan State University Capstone

More information

Students: Bar Uliel, Moran Nisan,Sapir Mordoch Supervisors: Yaron Honen,Boaz Sternfeld

Students: Bar Uliel, Moran Nisan,Sapir Mordoch Supervisors: Yaron Honen,Boaz Sternfeld Students: Bar Uliel, Moran Nisan,Sapir Mordoch Supervisors: Yaron Honen,Boaz Sternfeld Table of contents Background Development Environment and system Application Overview Challenges Background We developed

More information

Session 3 _ Part A Effective Coordination with Revit Models

Session 3 _ Part A Effective Coordination with Revit Models Session 3 _ Part A Effective Coordination with Revit Models Class Description Effective coordination relies upon a measured strategic approach to using clash detection software. This class will share best

More information

Microsoft ESP Developer profile white paper

Microsoft ESP Developer profile white paper Microsoft ESP Developer profile white paper Reality XP Simulation www.reality-xp.com Background Microsoft ESP is a visual simulation platform that brings immersive games-based technology to training and

More information

Overview. The Game Idea

Overview. The Game Idea Page 1 of 19 Overview Even though GameMaker:Studio is easy to use, getting the hang of it can be a bit difficult at first, especially if you have had no prior experience of programming. This tutorial is

More information

TAKE CONTROL GAME DESIGN DOCUMENT

TAKE CONTROL GAME DESIGN DOCUMENT TAKE CONTROL GAME DESIGN DOCUMENT 04/25/2016 Version 4.0 Read Before Beginning: The Game Design Document is intended as a collective document which guides the development process for the overall game design

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

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

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

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

Fpglappy Bird: A side-scrolling game. 1 Overview. Wei Low, Nicholas McCoy, Julian Mendoza Project Proposal Draft, Fall 2015

Fpglappy Bird: A side-scrolling game. 1 Overview. Wei Low, Nicholas McCoy, Julian Mendoza Project Proposal Draft, Fall 2015 Fpglappy Bird: A side-scrolling game Wei Low, Nicholas McCoy, Julian Mendoza 6.111 Project Proposal Draft, Fall 2015 1 Overview On February 10th, 2014, the creator of Flappy Bird, a popular side-scrolling

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

Greg Dydalewicz Animation Six Weeks TEKS TEKS Strand Interdisciplinary/Activity 1st (1) Creativity and

Greg Dydalewicz Animation Six Weeks TEKS TEKS Strand Interdisciplinary/Activity 1st (1) Creativity and Six Weeks TEKS TEKS Strand Interdisciplinary/Activity 1st (1) Creativity and (A) use vocabulary as it Art, Chemistry, Physics, innovation. The student relates to digital art, audio, Writing, Research and

More information

Formal Game Proposal

Formal Game Proposal Thomas Siegrist (ts) David Gerhard (dg) Philipp Keller (ph) Jonas Hauenstein (jh) 1 Contents 1 Contents 2 2 Game Description 3 2.1 The Historical Background 3 2.2 Basic Game Idea 3 2.3 Game Mockup 5 3

More information

Game Programming Laboratory Conclusion report

Game Programming Laboratory Conclusion report Game Programming Laboratory Conclusion report Huw Bowles Samuel Muff Filip Wieladek Revision: 1 1. Table of Contents 1.Table of Contents...2 2.Introduction...2 3.Final Results The Game...2 4.Experiences...3

More information

Digital Asset Management 7. Interactive Media and Game Development process

Digital Asset Management 7. Interactive Media and Game Development process Digital Asset Management 7. Interactive Media and Game Development process 2015-11-12 Game Types Arcade Games Puzzle Games Role Playing Games Strategy Games Adventure Games First-Person Shooters Third-Person

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

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

The Design & Development of RPS-Vita An Augmented Reality Game for PlayStation Vita CMP S1: Applied Game Technology Duncan Bunting

The Design & Development of RPS-Vita An Augmented Reality Game for PlayStation Vita CMP S1: Applied Game Technology Duncan Bunting The Design & Development of RPS-Vita An Augmented Reality Game for PlayStation Vita CMP404.2016-7.S1: Applied Game Technology Duncan Bunting 1302739 1 - Design 1.1 - About The Game RPS-Vita, or Rock Paper

More information

Fpglappy Bird: A side-scrolling game. Overview

Fpglappy Bird: A side-scrolling game. Overview Fpglappy Bird: A side-scrolling game Wei Low, Nicholas McCoy, Julian Mendoza 6.111 Project Proposal Draft Fall 2015 Overview On February 10th, 2014, the creator of Flappy Bird, a popular side-scrolling

More information

Competition Manual. 11 th Annual Oregon Game Project Challenge

Competition Manual. 11 th Annual Oregon Game Project Challenge 2017-2018 Competition Manual 11 th Annual Oregon Game Project Challenge www.ogpc.info 2 We live in a very connected world. We can collaborate and communicate with people all across the planet in seconds

More information

Propietary Engine VS Commercial engine. by Zalo

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

More information

Game Design 1. Unit 1: Games and Gameplay. Learning Objectives. After studying this unit, you will be able to:

Game Design 1. Unit 1: Games and Gameplay. Learning Objectives. After studying this unit, you will be able to: Game Design 1 Are you a gamer? Do you enjoy playing video games or coding? Does the idea of creating and designing your own virtual world excite you? If so, this is the course for you! When it comes to

More information

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

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

More information

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

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

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

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

Using a Game Development Platform to Improve Advanced Programming Skills

Using a Game Development Platform to Improve Advanced Programming Skills Journal of Reviews on Global Economics, 2017, 6, 328-334 328 Using a Game Development Platform to Improve Advanced Programming Skills Banyapon Poolsawas 1 and Winyu Niranatlamphong 2,* 1 Department of

More information

Abandon. 1. Everything comes to life! 1.1. Introduction Character Biography

Abandon. 1. Everything comes to life! 1.1. Introduction Character Biography Abandon 1. Everything comes to life! 1.1. Introduction You find yourself alone in an empty world, no idea who you are and why you are here. As you reach out to feel the environment, you realise that the

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

3D Top Down Shooter By Jonay Rosales González AKA Don Barks Gheist

3D Top Down Shooter By Jonay Rosales González AKA Don Barks Gheist 3D Top Down Shooter By Jonay Rosales González AKA Don Barks Gheist This new version of the top down shooter gamekit let you help to make very adictive top down shooters in 3D that have made popular with

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

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

ADVANCED WHACK A MOLE VR

ADVANCED WHACK A MOLE VR ADVANCED WHACK A MOLE VR Tal Pilo, Or Gitli and Mirit Alush TABLE OF CONTENTS Introduction 2 Development Environment 3 Application overview 4-8 Development Process - 9 1 Introduction We developed a VR

More information

Official Documentation

Official Documentation Official Documentation Doc Version: 1.0.0 Toolkit Version: 1.0.0 Contents Technical Breakdown... 3 Assets... 4 Setup... 5 Tutorial... 6 Creating a Card Sets... 7 Adding Cards to your Set... 10 Adding your

More information