A Reusable Scripting Engine for Automating Cinematics and Cut-Scenes in Video Games M. McLaughlin and M. Katchabaw Department of Computer Science The University.

Slides:



Advertisements
Similar presentations
Design, prototyping and construction
Advertisements

Multimedia Production
User Driven Modelling and Systematic Interaction for End-User Programming Modelling for Engineering Processes Peter Hale UWE.
MULTIMEDIA DEVELOPMENT 4.3 : AUTHORING TOOLS. At the end of the lesson, students should be able to: 1. Describe different types of authoring tools Learning.
 Currently there is no software solution that combines video and animation in to one platform.  Every single change drag changes in all of the environments.
The Magic Receiver Project Overview Teacher Planning Work Samples & Reflections Teaching Resources Assessment & Standards Classroom Teacher Guide Pre-service.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Introduction to Scratch UC Santa Cruz CMPS 10 – Introduction to Computer Science 13 May 2011.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 15 Finalizing.
Developing a Basic Web Page with HTML
Assembling a Multimedia e-Learning Development Team
By Steven Taylor.  Basically a video game engine is a software system designed for the creation and development of video games.  There are many game.
Multimedia Enabling Software. The Human Perceptual System Since the multimedia systems are intended to be used by human, it is a pragmatic approach to.
Gearbox Software PRODUCTION PIPELINE – JOBS TITLES – JOB DESCRIPTIONS.
Dhananjay Bhole, Coordinator, Accessibility Research Group, Department of Education and Extension, University of Pune.
MULTIMEDIA SYSTEM.
Web Design Basic Concepts.
Smart Learning Services Based on Smart Cloud Computing
Multimedia Authoring Tools Pertemuan 15&16 Matakuliah: O Computer / Multimedia Tahun: Feb
CMPD 434 MULTIMEDIA AUTHORING
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Game Programming Chapter 1 Review Part One Juniors March 11, 2011.
Supporting Content Creation for Games Through Assistive Technologies Dr. Michael Katchabaw Department of Computer Science The University of Western Ontario.
Lab 8 – C# Programming Adding two numbers CSCI 6303 – Principles of I.T. Dr. Abraham Fall 2012.
1 Networks and the Internet A network is a structure linking computers together for the purpose of sharing resources such as printers and files Users typically.
Chapter 11-Multimedia Authoring Tools. Overview Introduction to multimedia authoring tools. Types of authoring tools. Cross-platform authoring notes.
Introduction to Interactive Media 02. The Interactive Media Development Process.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University User Interface Design.
VeribisCRM CUSTOMER RELATIONSHIP MANAGEMENT Engin Duran Experience is our know how.
Multimedia Production Team
XP 1 HTML: The Language of the Web A Web page is a text file written in a language called Hypertext Markup Language. A markup language is a language that.
Principles of User Centred Design Howell Istance.
Introduction to Interactive Media The Interactive Media Development Process.
Chapter 3 Multimedia Skills
CMPD 434 MULTIMEDIA AUTHORING Chapter 06 Multimedia Authoring Process IV.
Cinematography in Augmented Reality Richard Shemaka.
Introduction to HTML Tutorial 1 eXtensible Markup Language (XML)
 Multi (Latin): Many/Much  Media (Latin): An intervening substance through which something is transmitted on.
Understand business uses of presentation software and methods of distribution.
Achieving Believable Psychosocial Behaviour in Non-player Characters in Modern Video Games Christine Bailey, Jiaming You, Gavan Acton, Adam Rankin, and.
Introduction to Making Multimedia
Software Instrumentation of Computer and Video Games T. Bullen and M. Katchabaw Department of Computer Science The University of Western Ontario N. Dyer-Witheford.
Unit 1 – Improving Productivity
Marketing Development Block 4 Dr. Uma Kanjilal. Stages of a Multimedia Project  Planning and costing- infrastructure, time, skills etc.  Designing and.
4. How did you use media technologies in the construction, research, planning and evaluation stages?
Focus on Essential Questions Allison Zmuda, Facilitator
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
Storyboarding Where It All Begins. The Storyboard The first step is to understand what you are trying to communicate and what your intended message is.
Lesson 3-Multimedia Skills. Overview Members of a multimedia team. Roles and responsibilities in a multimedia team.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
11 Computers, C#, XNA, and You Session 1.1. Session Overview  Find out what computers are all about ...and what makes a great programmer  Discover.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
4. How did you use media technologies in the construction, research, planning and evaluation stages?
Project Planning CHAPTER 4. OBJECTIVES You will be able to Identify the elements of project planning Plan and strategize a video project Complete the.
Text2PTO: Modernizing Patent Application Filing A Proposal for Submitting Text Applications to the USPTO.
Introduction of Scratch (1/4) You can find Scratch on the Web:
JavaScript Part 1 Introduction to scripting The ‘alert’ function.
The successful features in game developing
FOP: Multi-Screen Apps
Features of Authoring Tools
The Systems Engineering Context
CHAPTER 8 Multimedia Authoring Tools
Mostly known for the creation of The Witcher franchise.
Chapter 10 Development of Multimedia Project
Chapter 7 –Implementation Issues
Presentation transcript:

A Reusable Scripting Engine for Automating Cinematics and Cut-Scenes in Video Games M. McLaughlin and M. Katchabaw Department of Computer Science The University of Western Ontario

Outline 1.Introduction 2.Story Scripting and Scripting Languages 3.Reusable Scripting Engine Design 4.Prototype Implementation 5.Results to Date 6.Concluding Remarks

Introduction Storytelling is widely recognized as an important element of modern video games For games that are dependent on their story elements, the level of quality required for their story at least equals the need for quality in graphics, audio, and other aspects of the games Consequently, it is important to ensure there are sufficient supports for storytellers to be able to effectively and efficiently tell their stories with games

Introduction The current state-of-the-art typically requires programming background or expertise to provide story elements to games – This is usually outside the realm of most storytellers As a result, implementing stories in games tends to require storytellers to rely on programmers – Can be costly, prohibitively so in some cases – Possibility of communication and programming errors – Potential loss of direct and total control of the story, affecting the creative process and overall story quality

Introduction To assist storytellers, tools and supports are necessary to allow them to tell their stories with minimal, if any, programming required – The storytellers are given a simple and natural way of expressing their story – Automation prepares this content for presentation within the game with little or no human intervention This is the intent of our current work, a Reusable Scripting Engine – Our current focus is on story content for cinematics or cut-scenes, as opposed to in-game story elements

Introduction Screen shot from Trauma Center: Under the Knife

Story Scripting and Scripting Languages To automate the presentation of story elements from a story, the original story needs to be scripted in such a way that it can be easily acted out on-screen – This scripting must identify characters, dialogue, stage directions, setting, and other elements common to traditional dramatic pieces – This scripting will also need to be precise and formal enough for it to be easily processed and understood by the software automating the presentation

Story Scripting and Scripting Languages Fortunately, the Text Encoding Initiative (TEI) has developed an XML-based specification for marking up all different kinds of texts, including dramatic pieces Since XML is not necessarily the most natural platform for storytellers writing stories, several tools have been developed according to TEI guidelines for importing existing works or writing them from scratch

Story Scripting and Scripting Languages In the end, we could not completely follow TEI guidelines, and had to derive something with some modifications and extensions – TEI guidelines are incredibly detailed and require information that does not quite make sense in our target application – Several elements in the TEI guidelines are not formal or precise enough yet for our purposes – We needed additional elements to link content and assets into story scripts For example, consider the following …

Story Scripting and Scripting Languages Vizzini … …

Story Scripting and Scripting Languages … Well, I- I could have sworn I saw something. No matter. First, let's drink. Me from my glass, and you from yours. You guessed wrong....

Reusable Scripting Engine Design Director Stage Manager Script Reader Authoring Tools Script User Display Storyteller Reusable Scripting Engine

Reusable Scripting Engine Design Director – Manages script reader and stage manager to oversee the entire production – Provides playback control to the user, which could be the application the engine is embedded in Script Reader – Reads in the script and processes it – Verifies correctness and completeness of script – Generates a collection of stage actions from the script, creating a performance, and gives this performance to the director

Reusable Scripting Engine Design Stage Manager – Responsible for generating the actual on-screen performance of the script – It receives its direction on what to do and how to do this from the director – It also reports back to the director on the status of the production

Prototype Implementation Based on this design, a prototype has been implemented for Microsoft Windows XP, written in C++ in Microsoft Visual Studio.Net XML processing was implemented using Microsoft’s XML libraries For visual rendering of the cinematic or cut-scene, Ogre3D was used – Allows both 2D and 3D support – Chosen to support easy integration with other on-going research projects at Western in this area

Results to Date So far, we have been able to stage some simple productions using our prototype – There is still the odd glitch here and there, but things generally work pretty well – Development is continuing … Integration into some of the other game projects under way at Western is currently in progress

Homer: Well, time to go to work. An Example from the Simpsons

Little do they know I’m ducking out early to take the Duff Brewery tour …

Roll in at nine, punch out at five, that’s the plan.

Heh heh heh … They don’t suspect a thing …

Well, off to the plant!

Then to the Duff Brewery …

Uh oh! Did I say that or just think it?

I’ve got to think of a lie fast!

Marge: Are you going to the Duff Brewery?

Homer: Ahhhh!

Concluding Remarks Storytelling is a very important aspect to modern video games Tools and supports are necessary to enable storytellers to directly produce story content for games, without requiring programming background and expertise Our Reusable Scripting Engine provides a step in this direction for cinematics and cut-scenes – Results to date have been quite promising

Concluding Remarks Directions for future work include the following: – Support for audio, including spoken dialogue, background music that changes, and sound effects – Support for animated characters and background elements and effects – 3D cinematics and cut-scenes (which would require the addition of new stage directions) – Support for dynamically generated story elements – Support for in-game storytelling sequences