Dise Annual Research Conference 2009

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Dise Annual Research Conference 2009 as PDF for free.

More details

  • Words: 1,074
  • Pages: 33
Annual Research Conference 2009 Presentation by Simon Cooper

Overview

Introduction to Interactive Storytelling

Research Background

Design & Implementation of DISE

Future Work

Introduction to Interactive Storytelling

What is Interactive Storytelling? 

“A form of interactive entertainment in which the player plays the role of the protagonist in a dramatically rich environment.” (Crawford, 2004)



It aims to give players more freedom to explore and develop relationships with the game characters and world through their choices.



“In computer games characters aren‟t presented, they are experienced.” (Noyle, 2006)

Or to be Exact… 

“a game world in which the user-controlled character(s) can physically and mentally interact with (perceived) total freedom while experiencing a dramatically interesting story which is fundamentally different on every play – dependent on the user‟s actions.



The user will be able to act as and when they desire, in ways which will have a perceivable long and short term effect on the story.



They will be emotionally involved in this world, and will thus greater appreciate the compelling storyline which results.” Barber (2008).

In the Past… Many systems based on rules and planning have been proposed in related literature, but these have some limitations

and drawbacks: 

How much choice does the user have?



How does the user affect the story world?



How many different story threads/play-throughs are possible?



Is it emotionally engaging?

The Ongoing Battle

Story vs. Game

Our Goal? 

To specify, design, implement and evaluate an interactive storytelling engine, with an accessible story model structure and editor for easier creation of new story content.

Story Editor

Storytelling Engine

Game Engine

Research Background

Literature Review of Interactive Storytelling Techniques          

Game Master Directors Fuzzy Cognitive Maps & Goal Net Goal-Inference & Planning Dilemma Based Hierarchical Task Network Planning Genetic Algorithms Story Beats A Behaviour Language (ABL) Siftables - Object Based User Interface

Design & Implementation of DISE

Design & Implementation •Overview •Action

Engine •Character Engine •NPCs •Constraints Satisfaction Problems •Rule Based Systems •Homura Game Engine

A High Level Overview of the DISE Architecture

DISE Overview

What Can I Do?

Action Engine 

To interact with the story a player needs to be able to describe the actions that they wish to carry out.



Players are given a choice of words that link together to form coherent sentences.



There are a limited number of words, which are made available depending on the particular scene and context of the story at a given time.



The story developer can choose these verbs/actions by listing them in the scene verb XML file, which allows them to control to some extent the direction of the story.

When an Object is Clicked Possible Actions are Displayed

DISE – In Game Action Menu

The Contents of the Character Engine

Character Engine Expanded

The Contents of the NPC Class

NPC Class Expanded

How an Agent Dynamically Reacts to its Environment Atmaram (2006)

Simple Reflex Agent

NPCs Make Decisions Based on Their Personality and Audience

NPC Actions Flowchart

Limiting Actions and Adding Context

Constraints Satisfaction Problems 

Constraint Satisfaction Problems (CSPs) are used to solve many computer & mathematical problems.



They could be implemented in our engine to more efficiently filter out verbs in real time based on context and to check the choice formulae for the correct verb choices, forming the backbone of our AI and story engine.



The CCP (Clips Constraints Programming) module by Futtersack & Labat allows Jess to solve CSPs and uses The Seat Problem as an example.



Dynamic CSPs need a combination of heuristics and combinatorial search methods to be solved quickly.



CCP is composed of three modules:

The MAIN module contains the top level loop including the I/O rules.

The SEARCH module implements a classical Chronological Backtrack algorithm.

The PROPAGATION module implements the Forward Checking algorithm.

What happens When I Act?

Rules, Rules, Rules 

The choice formulae for each verb are stored inside their verb definition in the verb dictionary and are different for each verb and each character role.



This difference allows a clear separation of roles meaning that a mother, for example, may act differently to a child in a given situation.



The choice formulae result in a Boolean flag or probability percentage value, depending on the type of options and rules.



The variables in the formulae are substituted with the numbers taken from an element in the personality model.

How It Works

Rules Example 

For example if player2 wanted to lend a bike from player1 to ride to the shop, their decision to say „yes‟ could be represented by the formulae: If (Trust [Player1, Player2] > 0.8f) If player2’s role was girlfriend to player1 the formula may be changed to represent this relationship:

If (Trust [Player1, Player2] > 0.8f or Affection [Player1, Player2] > 0.8f) A large number of different roles can be stored in each verb and it‟s up to the story developer to choose which will be suitable for their story and to add simple new rules for any new roles or verbs.

The DISE Visualisation and Game Engine is Built Up From Homura‟s Key Libraries and Scenegraph Engine, Which We Have Also Been Working On.

The Homura Game Engine

Stack Based GameState System Allows Easy Switching Between Game Screens.

The Homura Game Engine

Art/Assets Pipeline & Tools

The Homura Game Engine

Toon Race Game

Sunny Suzie Puzzle Game

3D Editor Allows Story Designers to Drop and Move Objects in The Scene

Future Work

Future Work: 

We have reviewed some techniques that have been used previously to create stories with greater interactivity and provide players with a more immersive experience, where their actions cause real changes to themselves and the world around them.



Using a combination of rule based languages, heuristic search methods and verb based actions; alongside a powerful multiplatform 3D games engine, we intend to create a game with a dynamic character driven storyline that doesn‟t bind players to a linear path and a reusable middleware codebase for story game developers.

What’s Next? 

Create SWT Editor Pane



Finish Scene Editor Save/Load Files



Finish/Refractor Physics Object Generics



Build Up Starter Dictionary



Finish Generic Base Objects



Finalise Personality Model



Implement Test Planners & Rules Loader



A* Type Path Finding and Character Animation



And Most Importantly…

Make A Story

Any Questions?

?

Related Documents