Interactive Cards A game system in Augmented Reality



Similar documents
The Board Game Development Kit. Joseph Collard.

Kathy Au Billy Yi Fan Zhou Department of Electrical and Computer Engineering University of Toronto { kathy.au, billy.zhou }@utoronto.

Tutorial. Making Augmented Reality Accessible for Everyone. Copyright (c) 2010 Human Interface Technology Laboratory New Zealand

Game Design From Concepts To Implementation

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine

Implementation of Augmented Reality System for Smartphone Advertisements

Augmented Reality to Supplement Work Instructions. Model-Based Enterprise Summit 2013 December 18-19, 2013, Gaithersburg, MD Rafael Radkowski

Age of Wonders I Quick Start Guide

A Study on M2M-based AR Multiple Objects Loading Technology using PPHT

Level Design. Characters vs Levels. Level Design. Case Study: Matchstick puzzle

Meeting the requirements of the Care Certificate is a challenge for all employers of health and social care support workers.

Make Your Own Game Tutorial I: Overview of Program Structure

Video Tracking Software User s Manual. Version 1.0

User Studies of a Multiplayer First Person Shooting Game with Tangible and Physical Interaction

Lean on Wii: Physical Rehabilitation With Virtual Reality and Wii Peripherals

How To Teach Blind People To Understand Three-Dimensional Concepts By Color

MAKING MATH MORE FUN BRINGS YOU FUN MATH GAME PRINTABLES FOR HOME OR SCHOOL

Physical Security Simulation and Analysis Tools A presentation for the Canada & United States Security Simulation Technologies Group

CARDA: Content Management Systems for Augmented Reality with Dynamic Annotation

Download a huge range of popular boardgame rules summaries, reference sheets and player aids at

Intelligent Log Analyzer. André Restivo

NetEase Games - Paid Internship Program

Application of a Web-based Monitoring and Control system in Plastic Rotational Moulding Machine

Mobile Application of Interactive Remote Toys with Augmented Reality

Broken Shard. Alpha Report. Benjamin Schagerl, Dominik Dechamps, Eduard Reger, Markus Wesemann. TUM Computer Games Laboratory

3D Animation & Video Production Powerful solutions for corporate marketing, training & communication.

To Virtualize or Not? The Importance of Physical and Virtual Components in Augmented Reality Board Games

TestManager Administration Guide

Module 3 Crowd Animation Using Points, Particles and PFX Linker for creating crowd simulations in LightWave 8.3

A Tool for Evaluation and Optimization of Web Application Performance

OpenERP evaluation with SAP as reference. Learn by discovering where the challenger meets the leader.

BPM 101: Selecting a Business Performance Management Vendor

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

DCN Next Generation The next step in digital congress management

Information Technology Cluster

TaleBlazer Documentation

Game Design Document and Production Timeline. John Laird and Sugih Jamin University of Michigan

Network Administrator s Guide and Getting Started with Autodesk Ecotect Analysis

the ability to adapt to a variety of opponents over several Missions. So for example in a 500 point game you may spend 100 points on RD squads.

A mobile monitoring and alert SMS system with remote configuration A case study for android and the fused location provider

WebArrow: System Overview and Architecture Namzak Labs White Paper,

COMPUTER SCIENCE/ COMPUTER NETWORKING AND TECHNOLOGIES (COSC)

Magic Mirror : A new VR platform design and its applications

ACADEMY OF INTERACTIVE

4VATARS PROJECT. Standard avatar specification for content creation in RealXtend

Welcome. Recently we have also developed gamification projects and we are expanding in this area using our gaming experience.

How To Create A Flood Simulator For A Web Browser (For Free)

Programmabilty. Programmability in Microsoft Dynamics AX Microsoft Dynamics AX White Paper

INTRODUCTION FIND ALLIES AND

Effective Interface Design Using Face Detection for Augmented Reality Interaction of Smart Phone

Level 17: Creating a Puzzle Part 2

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies)

Getting Started with Microsoft Office Live Meeting. Published October 2007 Last Update: August 2009

Getting Started with Microsoft Office Live Meeting. Published October 2007

How to Build a Simple Pac-Man Game

How To Assess Soccer Players Without Skill Tests. Tom Turner, OYSAN Director of Coaching and Player Development

1.0-Scratch Interface 1.1. Valuable Information

An Introduction to OSVR

How to Build Successful DSL s. Jos Warmer Leendert Versluijs

Video Conferencing Display System Sizing and Location

Information Technology Career Field Pathways and Course Structure

Spellbound. The Enchanter s Handbook. produced and written by Owen K.C. Stephens. editing and layout by Lj Stephens. IDA Staff Shaun Horner

X Series Application Note 43:

IEI emerge and Milestone Systems Network Video Recorder. Setup and Integration Guide. Milestone Version 6.5 and emerge Version 3.

ivms-4200 Client Software Quick Start Guide V1.02

Author Fekolkin Roman. Year 2013

Understand career planning in a digital media environment.

Neomancer: An Exercise in Interdisciplinary Academic Game Development

WHITEPAPER. Managing Design Changes in Enterprise SBM Installations

NEW CHALLENGES IN COLLABORATIVE VIRTUAL FACTORY DESIGN

One-Way Pseudo Transparent Display

How To Use Eye Tracking With A Dual Eye Tracking System In A Collaborative Collaborative Eye Tracking (Duet)

Off-line programming of industrial robots using co-located environments

Definitions of Games and Play Magic Circle Rules as Limitations and Affordances

SOFTWARE ENGINEER. For Online (front end) Java, Javascript, Flash For Online (back end) Web frameworks, relational databases, REST/SOAP, Java/Scala

Bernice E. Rogowitz and Holly E. Rushmeier IBM TJ Watson Research Center, P.O. Box 704, Yorktown Heights, NY USA

Augmented Reality and its uses in Computer Gaming

Elements of robot assisted test systems

Mille Bornes Rules. About the Theme

STRATEGIES ON SOFTWARE INTEGRATION

DM810 Computer Game Programming II: AI. Lecture 11. Decision Making. Marco Chiarandini

Law 6 The Assistant Referee

Context-aware Library Management System using Augmented Reality

Towards Collaborative Requirements Engineering Tool for ERP product customization

HP WEBCAM 3100 HP WEBCAM 3110 USER S GUIDE

Game overview this is it!

Transcription:

Interactive Cards A game system in Augmented Reality João Alexandre Coelho Ferreira, Instituto Superior Técnico Abstract: Augmented Reality can be used on innumerous topics, but the point of this work is to explore the relation between Augmented Reality and table-top games. To explore this relation, we created a table-top game where several key concepts of collectible card games and miniature games come together Interactive Cards. To support this tabletop game, we developed a generic gaming system, configurable by XML files, to create a virtual representation of the table-top game environment. The system was developed using Virtools to create the virtual world and ARToolKit to detect the user interactions with the game components. The prototype was evaluated by key users and it got positive results, although the users agreed that some characteristics could be improved. Keywords: Augmented Reality, table-top games, cards, Virtools, ARToolKit 1. Introduction Nowadays, games play a big part in our lives, partly because of computer games. But a lot of people prefer other kinds of games: table-top games, social games, board games, etc. Common to all these people is their goal: to have fun. We play games to amuse ourselves, be it in front of a computer trying to finish that last level or surrounded by friends playing the latest novelty in board games. What we propose is a way to bring together computer games and table-top games. The biggest advantage of computer games it s their ability to immerse the player in its virtual world. The player has total freedom to move around the virtual world and interact with it and getting feedback about that interaction. On the other side, it is only possible to interact with the virtual world with devices that create a barrier between the computer game and the player. Table-top games, on the other hand, allow the player to directly interact with the game environment, normally composed by various types of bits and pieces. The table-top game s environment is not a dynamic environment because all the components are static. Nothing happens without an action from the player. Besides that, these actions are just physical interactions with the game components and, usually, are not representative of what is being executed (for example, an attack between to characters is just a mere dice throwing). So, we have these two types of games in opposing corners: computer games are more immersive than table-top games but have limited interaction; table-top games allow the player to directly interact with the environment but are unable to make the player feel has a part of that environment. This is were Augmented Reality comes into play. Given its properties, it is possible to create new ways of interaction with computer games and also give live to table-top games. This paper presents a proof of concept: a table-top game will be created and a computer system will also be created to breathe life to the table-top game. 2. Interactive Cards system 2.1 Overview This is a generic game system using cards and tokens to represent characters or other playable items and is to be used in conjunction with ARToolKit to represent the battle in a computer screen, it can be used for a variety of games ranging from medieval fantasy to science fiction space warfare. The characters represented in the cards are shown in the computer screen, substituted by theirs 3D models, in a real time manner and can be seen attacking and moving in the playing field area. Buildings, terrain and objects can also be represented by their 3D models whenever placed on the playing field. Players can choose or activate characters by touching the card and in the computer screen we can see the maximum range we can move them or the possible targets for their attacks. Most of the is configured using a XML editor were you can edit all game variables, such as battle points objective, the playfield and the all the cards (characters, support and terrain). 2.2 The game This game can be played with the ARToolKit and in its standalone version. This means that the game rules work alone but the AToolKit enhances the gameplay and speeds it up as the computer makes all math calculation and shows the result as well as enhancing the game with computer graphics and animations. The AR version supports network play via TCP/IP direct connect were two arenas can play against each other in remote locations. Three types of basic cards are defined:

Character: these cards represent a monster, hero, a battleship or even a tank, each of these cards will have a set of attributes representing its skills. Support: these cards represent special conditions or events that happen throughout the game such as thunderstorms or hurricanes, it may represent also equipment or spells the characters can have or cast. There are two types of support cards, Equipment and Special. Support Equipment cards can be played by a character to enhance its abilities and support Special cards represent spells or other special abilities or feats performed by the characters. Terrain/Object: objects or even buildings that stand on the playfield, they can influence the play by blocking, giving bonus, generating mana/resource points. Each player plays with a team of characters that they choose at the beginning of the game comprised of character cards whose point cost total the battle points objective and a deck of 40 support cards. Each character has 5 skills and each skill has a value, the higher the value the better the skill. Movement (MOV) distance in cm that the character can move. Armor (ARM) resistance to combat damage or magic damage the character has. Health (HEA) the amount of damage that it can withstand before dying Close Combat (CC) the skill of the character in close combat. Ranged Combat (RC) - the skill of the character in ranged combat. Besides the characters skills, each character has three generic attributes. Resource points (RP) representing the wealth or resourcefulness of the character, i.e. the influence of the character to get/buy equipment. Special points (SP) representing the magical power of the character, the ability to call for arcane and magical resources or even cast spells or perform feats. Points cost (PC) representing the cost of the character, the higher this cost the more experienced and skilful should be the character. During each turn, each player has several phases to go through: Disengage: restore the initial state of all the characters controlled by the active player. Engage: choose which action each character will perform on the current turn. There are two kinds of actions: movement and action. Movement: all characters that received a movement order in the engagement phase can move in any direction as long as its MOV allows. Action: all characters that received an action order in the engagement phase can execute an attack (melee or ranged) or use a special ability, represented by a support card. 2.3 System setup A webcam will be needed to play the augmented version, to allow the pattern tracking. The following figure shows how the system should be setup: Figure 1 Interactive Cards system setup: (a) augmented version; (b) augmented version with multiplayer For the augmented version, the distance between the webcam and the playfield must be measured carefully. The system is optimized to a maximum distance of 50 centimetres between the webcam and the playfield. Beyond that, the system becomes unable to track the patterns correctly, resulting in strange behaviors. 2.4 System architecture The system was developed using Virtools, so it shares a lot of its architecture. The following figure illustrates the system architecture. Figure 2 Interactive Cards system architecture The system runs on a single composition (.cmo file). This file contains all the necessary scripts for yhe system execution, except the 3d models that represent game objects. The 3D models are stored in.nmo files, one for each model, so that can only be loaded when

needed. All the composition requests are managed by the Behavioral Engine. 2.4.1 ARToolKit Integration To better understand the ARToolKit integration, let s first look at the script that controls its behavior: Figure 3 ARToolKit control script (detail) The building block Camera Vídeo to cvimage implements some OpenCV funcionalities, namely the image capture from the webcam. Through the cvimage to texture building block, each image captured by the webcam is transformed into a texture so it can be applied to a 2D frame, to allow the stream to be visualized by the player. Each image will also be used in the ARToolkit tracker building block to track the patterns. To ease the communication between ARToolKit and Virtools, an array was created. This array stores all the info necessary for the pattern tracking. Virtools will only read this array and it s the ARToolKit that changes the information in it: Path to the file that represents the pattern. Size of the pattern. Object referential. Pattern visibility. Pattern position. Pattern orientation. 3D object associated with the pattern. Virtual camera (Virtools element that represents the webcam). 2.5 System implementation Although it is only one composition, the system can be divided in three modules: virtual version, augmented version and multiplayer augmented version. Common to all these three versions are the configuration files. 2.5.1 Configuration files One of the goals of this system is that its content can be easily configured. It is not the goal of these files to allow rules configuration. Three files were created to configure all the common settings on all versions and a forth one was created for only the augmented versions. 2.5.2 Game Manager Given the rules being action oriented, it is easy to implement all those actions in Virtools. Below we describe what kinds of scripts were created: Configurations files (4 scripts) reading all the information from the configuration files and storing it so that it can be used by the game manager Turn phases (5 scripts) one script for each phase and each script controls all the actions that can be executed on each phase. Virtual version UI controls all the virtual version UI elements. Support cards (7 scripts) seven types of support cards were defined and for each one of those types, a script that executes the action was created Multiplayer (4 scripts) control all the multiplayer process, from the server creation until the distributed objects. To control all these scripts (and some more ), a global script was created, called Game Manager. This manager is responsible for the correct execution of the game since it decides what scripts to activate and when. 2.5.3 Multiplayer Virtools has a module called Virtools Multiuser Server that was used for the development of the multiplayer component. There were two possible ways to implement the multiplayer component: a dedicated server or an embedded server. Since the game is designed for two players, there is no need to create a dedicated server so we opted for the embedded one. Several scripts were created to control the multiplayer component. Has the server is embedded in the composition and, therefore, in one of the players computer, these scritps be able to distinguish between server and client. Again, it s the Game Manager that controls this process The comunication between the two computers is made through distributed objects and network messeges. The distributed objects broadcast their state automatically to all clients connected to the server, making simple updating the position, orientation and visibility of all virtual objects to all clients. Network messages are used for all the other information that distributed objects can t handle (action, animation synchronization, etc.) 3. Results The end result was a prototype of the system composed by the following components Virtual version Augmented version Augmented version with multiplayer

These three versions are all independent and playable. Our efforts were mostly directed to the augmented version, so it is the most polished one. That doesn t mean that the other versions are not playable. Just that there are some details that were only implemented in the augmented versions, like the range check. The following figures show the final prototype: the system as a whole. The following graphic displays the results the scoring. Figure 6 Global scoring of the Interactive Cards system prototype, 10 being the highest score Figure 4 Virtual version. In this example each player controls three characters. We can also see the cards the active player has in his hand (bottom) and the information panels (right). The virtual version is player in a single computar, in ahot seat format, where a player executes all his actions and steps aside so his opponent can preform his. This procedure continues until one of the players is defeated. Figure 5 Augmented version. In this example, the active player (right) controls two characters, a unicorn and a knight. His opponent controls a dragon. The active player is casting a fireball though his unicorn. This version doesn t have any kind of UI elements, except some information about the active player phase e error messages. 3.1 Prototype evaluation The final prototype was tested with key users, in order to evaluate its quality and acceptance. Each user was allowed to fully explore the system and play any number of games he wanted. At the end, it was asked to the users to answer a small survey to evaluate some aspects of the prototype and to score Strong points: Cards (layout, information, size) 3D models Virtual version s user interface Weak points: Battlefield size System setup Game feedback to the player As the results show, the prototype was well accepted by the users, but there is still room for improvements, as we can see by its weak points 4. Conclusions We managed to do what we wanted: to bring together table-top games and computer games. In the end, the Interactive Cards system can be played in three different versions: real version, using the cards; virtual version, using the computer; and the augmented version, using both the cards and the computer. The system is generic and it can be easily adapted to any gaming environment, though it requires some time to do this. It is necessary to change the configuration files, bringing in the new elements for the new environment. The users evaluation of the prototype was very positive. Of course there are still some aspects needing some improvement and some functionality to develop, but globally, they were pleased with the final result. 4.1 Future work Aside from developing some of the system functionalities that were left out, like for example, the virtual version s multiplayer component, the next step will be to improve the prototype to a final version. For that, an extensive testing phase will be needed to discover and correct possible bugs. Also it would be interesting to test alternatives to ARToolKit and see if

this framework is really the best solution for this system. 5. References 1. Azuma, R.: A Survey of Augmented Reality. Presence: Teleoperators and Virtual Environments 6. 1997 355 385 2. Nilsen, T., Linton, S., Looser, J.: Motivations for Augmented Reality Gaming. New Zealand Game Developers Conference. 2004 3. ARToolKit Home Page (http://www.hitl.washington.edu/artoolkit/) 4. Kato, H., Billinghurst, M.: Marker tracking and HMD Calibration for a video-based augmented reality conferencing system. IEEE and ACM International Workshop on Augmented Reality. October 1999. 5. Lepetit, V., Fua, P.: Monocular Model-Based 3D Tracking of Rigid Objects: A Survey. Computer Graphics and Vision Vol. 1, No 1. 2005 1-89