SlideShare a Scribd company logo
Text Parser Based
Interaction
Michael Heron
Robert Gordon University
@drmichaelheron
Introduction
 Accessibility in video games remains an under explored topic.
 Things have improved considerably in the last five or so years, but it remains a low
priority issue for many developers.
 Common resources now exist that give excellent advice to developers
interested in the topic.
 Includification
 GameAccessibilityGuidelines
 However, guidelines by themselves are not enough.
 They often drain nuance from complex interrelationships of impairments
 When followed to the letter, they may result in software that is inaccessible in
subtle new ways.
Accessibility
 I’m a lecturer at Robert Gordon University, with a research interest in… well many things.
 One of the more significant of these things is accessibility.
 I am also a massive nerd.
 Shocker, right?
 As such, accessibility within video games is a natural focus that leverages several of my
interests.
 Research into video game accessibility though can be costly.
 And so is usually done ‘after the fact’
 Not a lot of opportunity for experimentation in situ.
 As such, it is my belief that extensive, detailed accessibility case-studies into gaming
interactions offers real benefit.
 The paper that accompanies this talk consists of one such case study.
 Available at http://tinyurl.com/otomf75
Game Accessibility
 Accessibility in video games is perhaps the most significant challenge for
accessible design.
 Interaction in games is often tied up in context.
 Interaction in games is often tied to immersion
 Interaction in games comes with a need to mirror, as far as possible, the physical
realities of actions.
 Within a word processor, there is no real difference between pressing a key and
clicking a menu option as far as the interaction itself is concerned.
 There is a world of difference between pressing a button and swinging a wiimote in
terms of the experience a game delivers.
 These are challenges too offered within an environment where interaction
usually must be precise, time-constrained, and synched to in-game activity.
Text Based Games
 It’s not my day job, but I spend a lot of time developing within the niche of ‘text based
games’
 Specifically, a niche within a niche – text based multiplayer games.
 What used to be called Multiuser Dungeons, or MUDs
 This is a hobby for me, not a vocation, but it has offered me insight into numerous elements
of game development.
 It is also an area which has scant academic attention since the death of the form as a
commercial entity in the mid 80s.
 Although there has been something of a renaissance of text-gaming in recent years, it hasn’t
reached my corner of the digital world.
 Text gaming of this nature though also offers some insight into command line interaction
generally.
 Applicable to dealing with the complexity of working within a text shell.
 Many of the characteristics of one are shared by the other.
The Barriers in Text Accessibility
 Text interaction regimes offer several challenges for those looking to make an
accessible environment.
 They have, usually, a steep learning curve.
 They are difficult to master, relying on recall rather than recognition.
 They require the issuing of complex, precise instructions in written form
 They usually lack alternative interactions regimes, or multiple ways to achieve goals.
 The general assumption of knowledge is high, with the interaction medium itself acting
as a kind of ‘entry barrier’
 These are issues shared, for the most part, with text games and text-based CLI
systems.
 Within my own text-based game, we have identified and worked with several
potential solutions to these issues.
The Cognitive Burden - Input
 Written commands can be difficult to construct.
 Wordy
 Requiring precise combinations of literal words and symbolic identifiers.
 May not offer consistent affordances
 The order of parameters given to a command may differ from one command to another.
 Often ‘unintuitive’
 The source of the notorious ‘guess the syntax’ puzzle in text games.
 Relies heavily on recall rather than recognition.
 Relies heavily on assumed expertise.
 The existence of commands is not always well signposted.
 Difficult to remember what’s been done previously.
 And how it relates to future requirements.
Cognitive compensations
 Within Epitaph we assessed several compensations:
 Context sensitive introduction of commands
 ‘Hey, you might like to know you can do the following commands here’
 Syntax ‘hints’ based on location in the game world
 Aliases that allowed for adaptable compensation to individual expectations.
 At a simple level, renaming commands.
 At a more complex level, offering programmatic interfaces for contextual activities.
 Syntax highlighting and verbose help hints
 Hyperlinked commands, allowing complex instructions to be issued on mouse click.
 Extensive logs of previous activities, and how these relate to future expectations for
users.
Output
 Inputting commands is complex, but so too is reading and parsing the output
 Often full of extraneous detail
 Often ‘spammy’
 Not very obvious what’s most important
 Within games, suffers from an expectation of ‘Chekov’s gun’
 For those with visual impairments, ASCII art ornamentations do not work well with screen
readers.
 Ordering of textual elements can be important when dealing with real-time in-game
situations.
 Our compensations in this regard focus on colour cues, syntax highlighting, and the ability
to remove flavour text.
 Almost anything non game critical can be suppressed.
 We also provide the ability to order elements so as to better serve the requirements of fast
responses to ongoing scenarios.
Output
 We provide special bespoke systems for compensating for visual impairments.
 ‘Landmarking’
 Soundgrids
 Narrative combat summaries
 The ‘alt_text’ system for providing alternate output for those using screenreaders.
 Knowing what can be configured is a challenge.
 We provide a comprehensive ‘options’ command.
 But you need to know what all the options do to have full control.
 Thus, we also offer a ‘screenreader’ command, as well as a login prompt, that
sets all of the options to a default value useful for those with impairments.
The MUD Extension Protocol
 A game protocol developed for MUDs generally is the Mud Extension
Protocol (MXP), which allows for raw text to be hyperlinked within
supported clients.
 We use this heavily within Epitaph to reduce the burden on players.
 However, within Epitaph there is also a command line shell for developers.
 This is where most of us spend our time, using in-game implementations of
standard linux commands such as ls, more, cp, mv and so on.
 Some of these commands link to external tools which then pipe their output back
into the MUD itself.
 MXP is used for both developers and players to reduce the burden on
issuing complex instructions.
Relevance Beyond Gaming
 Many of us work within command line interfaces on a regular basis.
 Anyone who does any of their work on a remote server will have some familiarity with
the difficulties to a greater or lesser extent.
 We assume expertise will be accumulated over time.
 However, in my experience it usually atrophies away between uses.
 We are only briefly expert in the tools that we use occasionally.
 However, the benefits of working on an accessible text game extend beyond
the niche of niches where I dwell.
 It offers some design guidelines that can help improve command line interfaces
generally.
 These are not overly complex to implement.
 It just requires the will to do so.
Conclusion
 The game which I develop is not yet an accessible game.
 Attaining accessibility is an ongoing process, and that is never more true than in a fast-
changing game environment.
 However, we have put in place a number of tools that greatly improve our
framework for accessibility support.
 The purpose of this paper is not to argue that this how we ‘fix’ accessibility within
text games.
 Many of the issues here are already addressed in the new renaissance of online
interactive fiction.
 It is primarily to provide a case study of how one particular, unusual gaming
environment has addressed some of the issues unique to its interaction regime.
 The more case studies like this we have as a community of practioners and
researchers, the easier it is to extract the nuance needed for effective accessibility
support.

More Related Content

Similar to Text parser based interaction

Serco Usability Research, Ben Weedon, The challenge of measuring game play ex...
Serco Usability Research, Ben Weedon, The challenge of measuring game play ex...Serco Usability Research, Ben Weedon, The challenge of measuring game play ex...
Serco Usability Research, Ben Weedon, The challenge of measuring game play ex...Use8.net
 
The Next Generation of Flash User Experience
The Next Generation of Flash User ExperienceThe Next Generation of Flash User Experience
The Next Generation of Flash User Experience
Kevin Suttle
 
ENG 2322College of Professional StudiesProject #4 Portfolio
ENG 2322College of Professional StudiesProject #4 PortfolioENG 2322College of Professional StudiesProject #4 Portfolio
ENG 2322College of Professional StudiesProject #4 Portfolio
TanaMaeskm
 
Mdc2010 Casual Game Dev
Mdc2010 Casual Game DevMdc2010 Casual Game Dev
Mdc2010 Casual Game Devmomobangalore
 
13 types of interface
13 types of interface13 types of interface
13 types of interfaceLucy Taylor
 
20131105 concepts of game design
20131105 concepts of game design20131105 concepts of game design
20131105 concepts of game design
Christina Hsu
 
Keynote: Challenges, Pains and Points of Software Development Today
Keynote: Challenges, Pains and Points of Software Development TodayKeynote: Challenges, Pains and Points of Software Development Today
Keynote: Challenges, Pains and Points of Software Development Today
CodeFest
 
User Driven Software Architecture
User Driven Software ArchitectureUser Driven Software Architecture
User Driven Software Architecture
Simon Guest
 
Virtual World Tutorial for I/ITSEC
Virtual World Tutorial for I/ITSECVirtual World Tutorial for I/ITSEC
Virtual World Tutorial for I/ITSEC
mmacedon
 
Fastcat Benchmarking Job
Fastcat Benchmarking JobFastcat Benchmarking Job
Fastcat Benchmarking Job
Carolina Lewis
 
User Experience 1: What is User Experience?
User Experience 1: What is User Experience?User Experience 1: What is User Experience?
User Experience 1: What is User Experience?
Marc Miquel
 
Gui 设计&评审原则 完整
Gui 设计&评审原则 完整Gui 设计&评审原则 完整
Gui 设计&评审原则 完整
Johnson Yu
 
[Pandora 22] Ups and Down of Using Behaviour Trees in Unity to Model Villager...
[Pandora 22] Ups and Down of Using Behaviour Trees in Unity to Model Villager...[Pandora 22] Ups and Down of Using Behaviour Trees in Unity to Model Villager...
[Pandora 22] Ups and Down of Using Behaviour Trees in Unity to Model Villager...
DataScienceConferenc1
 
RikaiLabs - Graphics Chat UIs | GaChat
RikaiLabs - Graphics Chat UIs | GaChatRikaiLabs - Graphics Chat UIs | GaChat
RikaiLabs - Graphics Chat UIs | GaChat
Dc Collier
 
What does OOP stand for?
What does OOP stand for?What does OOP stand for?
What does OOP stand for?
Colin Riley
 
Demystifying dot NET reverse engineering - Part1
Demystifying  dot NET reverse engineering - Part1Demystifying  dot NET reverse engineering - Part1
Demystifying dot NET reverse engineering - Part1Soufiane Tahiri
 
Letter to the Judges
Letter to the JudgesLetter to the Judges
Letter to the JudgesLuke Perrin
 
Pp3 - Pixel Perfect Precision V3
Pp3 - Pixel Perfect Precision V3Pp3 - Pixel Perfect Precision V3
Pp3 - Pixel Perfect Precision V3
Olybop .fr
 

Similar to Text parser based interaction (20)

Les 1 ppt
Les 1 pptLes 1 ppt
Les 1 ppt
 
Les 1 ppt
Les 1 pptLes 1 ppt
Les 1 ppt
 
Serco Usability Research, Ben Weedon, The challenge of measuring game play ex...
Serco Usability Research, Ben Weedon, The challenge of measuring game play ex...Serco Usability Research, Ben Weedon, The challenge of measuring game play ex...
Serco Usability Research, Ben Weedon, The challenge of measuring game play ex...
 
The Next Generation of Flash User Experience
The Next Generation of Flash User ExperienceThe Next Generation of Flash User Experience
The Next Generation of Flash User Experience
 
ENG 2322College of Professional StudiesProject #4 Portfolio
ENG 2322College of Professional StudiesProject #4 PortfolioENG 2322College of Professional StudiesProject #4 Portfolio
ENG 2322College of Professional StudiesProject #4 Portfolio
 
Mdc2010 Casual Game Dev
Mdc2010 Casual Game DevMdc2010 Casual Game Dev
Mdc2010 Casual Game Dev
 
13 types of interface
13 types of interface13 types of interface
13 types of interface
 
20131105 concepts of game design
20131105 concepts of game design20131105 concepts of game design
20131105 concepts of game design
 
Keynote: Challenges, Pains and Points of Software Development Today
Keynote: Challenges, Pains and Points of Software Development TodayKeynote: Challenges, Pains and Points of Software Development Today
Keynote: Challenges, Pains and Points of Software Development Today
 
User Driven Software Architecture
User Driven Software ArchitectureUser Driven Software Architecture
User Driven Software Architecture
 
Virtual World Tutorial for I/ITSEC
Virtual World Tutorial for I/ITSECVirtual World Tutorial for I/ITSEC
Virtual World Tutorial for I/ITSEC
 
Fastcat Benchmarking Job
Fastcat Benchmarking JobFastcat Benchmarking Job
Fastcat Benchmarking Job
 
User Experience 1: What is User Experience?
User Experience 1: What is User Experience?User Experience 1: What is User Experience?
User Experience 1: What is User Experience?
 
Gui 设计&评审原则 完整
Gui 设计&评审原则 完整Gui 设计&评审原则 完整
Gui 设计&评审原则 完整
 
[Pandora 22] Ups and Down of Using Behaviour Trees in Unity to Model Villager...
[Pandora 22] Ups and Down of Using Behaviour Trees in Unity to Model Villager...[Pandora 22] Ups and Down of Using Behaviour Trees in Unity to Model Villager...
[Pandora 22] Ups and Down of Using Behaviour Trees in Unity to Model Villager...
 
RikaiLabs - Graphics Chat UIs | GaChat
RikaiLabs - Graphics Chat UIs | GaChatRikaiLabs - Graphics Chat UIs | GaChat
RikaiLabs - Graphics Chat UIs | GaChat
 
What does OOP stand for?
What does OOP stand for?What does OOP stand for?
What does OOP stand for?
 
Demystifying dot NET reverse engineering - Part1
Demystifying  dot NET reverse engineering - Part1Demystifying  dot NET reverse engineering - Part1
Demystifying dot NET reverse engineering - Part1
 
Letter to the Judges
Letter to the JudgesLetter to the Judges
Letter to the Judges
 
Pp3 - Pixel Perfect Precision V3
Pp3 - Pixel Perfect Precision V3Pp3 - Pixel Perfect Precision V3
Pp3 - Pixel Perfect Precision V3
 

More from Michael Heron

Meeple centred design - Board Game Accessibility
Meeple centred design - Board Game AccessibilityMeeple centred design - Board Game Accessibility
Meeple centred design - Board Game Accessibility
Michael Heron
 
Musings on misconduct
Musings on misconductMusings on misconduct
Musings on misconduct
Michael Heron
 
Accessibility Support with the ACCESS Framework
Accessibility Support with the ACCESS FrameworkAccessibility Support with the ACCESS Framework
Accessibility Support with the ACCESS Framework
Michael Heron
 
ACCESS: A Technical Framework for Adaptive Accessibility Support
ACCESS:  A Technical Framework for Adaptive Accessibility SupportACCESS:  A Technical Framework for Adaptive Accessibility Support
ACCESS: A Technical Framework for Adaptive Accessibility Support
Michael Heron
 
GRPHICS08 - Raytracing and Radiosity
GRPHICS08 - Raytracing and RadiosityGRPHICS08 - Raytracing and Radiosity
GRPHICS08 - Raytracing and Radiosity
Michael Heron
 
GRPHICS07 - Textures
GRPHICS07 - TexturesGRPHICS07 - Textures
GRPHICS07 - Textures
Michael Heron
 
GRPHICS06 - Shading
GRPHICS06 - ShadingGRPHICS06 - Shading
GRPHICS06 - Shading
Michael Heron
 
GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)
Michael Heron
 
GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)
Michael Heron
 
GRPHICS03 - Graphical Representation
GRPHICS03 - Graphical RepresentationGRPHICS03 - Graphical Representation
GRPHICS03 - Graphical Representation
Michael Heron
 
GRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D GraphicsGRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D Graphics
Michael Heron
 
GRPHICS01 - Introduction to 3D Graphics
GRPHICS01 - Introduction to 3D GraphicsGRPHICS01 - Introduction to 3D Graphics
GRPHICS01 - Introduction to 3D Graphics
Michael Heron
 
GRPHICS09 - Art Appreciation
GRPHICS09 - Art AppreciationGRPHICS09 - Art Appreciation
GRPHICS09 - Art Appreciation
Michael Heron
 
2CPP18 - Modifiers
2CPP18 - Modifiers2CPP18 - Modifiers
2CPP18 - Modifiers
Michael Heron
 
2CPP17 - File IO
2CPP17 - File IO2CPP17 - File IO
2CPP17 - File IO
Michael Heron
 
2CPP16 - STL
2CPP16 - STL2CPP16 - STL
2CPP16 - STL
Michael Heron
 
2CPP15 - Templates
2CPP15 - Templates2CPP15 - Templates
2CPP15 - Templates
Michael Heron
 
2CPP14 - Abstraction
2CPP14 - Abstraction2CPP14 - Abstraction
2CPP14 - Abstraction
Michael Heron
 
2CPP13 - Operator Overloading
2CPP13 - Operator Overloading2CPP13 - Operator Overloading
2CPP13 - Operator Overloading
Michael Heron
 
2CPP12 - Method Overriding
2CPP12 - Method Overriding2CPP12 - Method Overriding
2CPP12 - Method Overriding
Michael Heron
 

More from Michael Heron (20)

Meeple centred design - Board Game Accessibility
Meeple centred design - Board Game AccessibilityMeeple centred design - Board Game Accessibility
Meeple centred design - Board Game Accessibility
 
Musings on misconduct
Musings on misconductMusings on misconduct
Musings on misconduct
 
Accessibility Support with the ACCESS Framework
Accessibility Support with the ACCESS FrameworkAccessibility Support with the ACCESS Framework
Accessibility Support with the ACCESS Framework
 
ACCESS: A Technical Framework for Adaptive Accessibility Support
ACCESS:  A Technical Framework for Adaptive Accessibility SupportACCESS:  A Technical Framework for Adaptive Accessibility Support
ACCESS: A Technical Framework for Adaptive Accessibility Support
 
GRPHICS08 - Raytracing and Radiosity
GRPHICS08 - Raytracing and RadiosityGRPHICS08 - Raytracing and Radiosity
GRPHICS08 - Raytracing and Radiosity
 
GRPHICS07 - Textures
GRPHICS07 - TexturesGRPHICS07 - Textures
GRPHICS07 - Textures
 
GRPHICS06 - Shading
GRPHICS06 - ShadingGRPHICS06 - Shading
GRPHICS06 - Shading
 
GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)
 
GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)
 
GRPHICS03 - Graphical Representation
GRPHICS03 - Graphical RepresentationGRPHICS03 - Graphical Representation
GRPHICS03 - Graphical Representation
 
GRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D GraphicsGRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D Graphics
 
GRPHICS01 - Introduction to 3D Graphics
GRPHICS01 - Introduction to 3D GraphicsGRPHICS01 - Introduction to 3D Graphics
GRPHICS01 - Introduction to 3D Graphics
 
GRPHICS09 - Art Appreciation
GRPHICS09 - Art AppreciationGRPHICS09 - Art Appreciation
GRPHICS09 - Art Appreciation
 
2CPP18 - Modifiers
2CPP18 - Modifiers2CPP18 - Modifiers
2CPP18 - Modifiers
 
2CPP17 - File IO
2CPP17 - File IO2CPP17 - File IO
2CPP17 - File IO
 
2CPP16 - STL
2CPP16 - STL2CPP16 - STL
2CPP16 - STL
 
2CPP15 - Templates
2CPP15 - Templates2CPP15 - Templates
2CPP15 - Templates
 
2CPP14 - Abstraction
2CPP14 - Abstraction2CPP14 - Abstraction
2CPP14 - Abstraction
 
2CPP13 - Operator Overloading
2CPP13 - Operator Overloading2CPP13 - Operator Overloading
2CPP13 - Operator Overloading
 
2CPP12 - Method Overriding
2CPP12 - Method Overriding2CPP12 - Method Overriding
2CPP12 - Method Overriding
 

Recently uploaded

Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 

Recently uploaded (20)

Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 

Text parser based interaction

  • 1. Text Parser Based Interaction Michael Heron Robert Gordon University @drmichaelheron
  • 2. Introduction  Accessibility in video games remains an under explored topic.  Things have improved considerably in the last five or so years, but it remains a low priority issue for many developers.  Common resources now exist that give excellent advice to developers interested in the topic.  Includification  GameAccessibilityGuidelines  However, guidelines by themselves are not enough.  They often drain nuance from complex interrelationships of impairments  When followed to the letter, they may result in software that is inaccessible in subtle new ways.
  • 3. Accessibility  I’m a lecturer at Robert Gordon University, with a research interest in… well many things.  One of the more significant of these things is accessibility.  I am also a massive nerd.  Shocker, right?  As such, accessibility within video games is a natural focus that leverages several of my interests.  Research into video game accessibility though can be costly.  And so is usually done ‘after the fact’  Not a lot of opportunity for experimentation in situ.  As such, it is my belief that extensive, detailed accessibility case-studies into gaming interactions offers real benefit.  The paper that accompanies this talk consists of one such case study.  Available at http://tinyurl.com/otomf75
  • 4. Game Accessibility  Accessibility in video games is perhaps the most significant challenge for accessible design.  Interaction in games is often tied up in context.  Interaction in games is often tied to immersion  Interaction in games comes with a need to mirror, as far as possible, the physical realities of actions.  Within a word processor, there is no real difference between pressing a key and clicking a menu option as far as the interaction itself is concerned.  There is a world of difference between pressing a button and swinging a wiimote in terms of the experience a game delivers.  These are challenges too offered within an environment where interaction usually must be precise, time-constrained, and synched to in-game activity.
  • 5. Text Based Games  It’s not my day job, but I spend a lot of time developing within the niche of ‘text based games’  Specifically, a niche within a niche – text based multiplayer games.  What used to be called Multiuser Dungeons, or MUDs  This is a hobby for me, not a vocation, but it has offered me insight into numerous elements of game development.  It is also an area which has scant academic attention since the death of the form as a commercial entity in the mid 80s.  Although there has been something of a renaissance of text-gaming in recent years, it hasn’t reached my corner of the digital world.  Text gaming of this nature though also offers some insight into command line interaction generally.  Applicable to dealing with the complexity of working within a text shell.  Many of the characteristics of one are shared by the other.
  • 6. The Barriers in Text Accessibility  Text interaction regimes offer several challenges for those looking to make an accessible environment.  They have, usually, a steep learning curve.  They are difficult to master, relying on recall rather than recognition.  They require the issuing of complex, precise instructions in written form  They usually lack alternative interactions regimes, or multiple ways to achieve goals.  The general assumption of knowledge is high, with the interaction medium itself acting as a kind of ‘entry barrier’  These are issues shared, for the most part, with text games and text-based CLI systems.  Within my own text-based game, we have identified and worked with several potential solutions to these issues.
  • 7. The Cognitive Burden - Input  Written commands can be difficult to construct.  Wordy  Requiring precise combinations of literal words and symbolic identifiers.  May not offer consistent affordances  The order of parameters given to a command may differ from one command to another.  Often ‘unintuitive’  The source of the notorious ‘guess the syntax’ puzzle in text games.  Relies heavily on recall rather than recognition.  Relies heavily on assumed expertise.  The existence of commands is not always well signposted.  Difficult to remember what’s been done previously.  And how it relates to future requirements.
  • 8. Cognitive compensations  Within Epitaph we assessed several compensations:  Context sensitive introduction of commands  ‘Hey, you might like to know you can do the following commands here’  Syntax ‘hints’ based on location in the game world  Aliases that allowed for adaptable compensation to individual expectations.  At a simple level, renaming commands.  At a more complex level, offering programmatic interfaces for contextual activities.  Syntax highlighting and verbose help hints  Hyperlinked commands, allowing complex instructions to be issued on mouse click.  Extensive logs of previous activities, and how these relate to future expectations for users.
  • 9. Output  Inputting commands is complex, but so too is reading and parsing the output  Often full of extraneous detail  Often ‘spammy’  Not very obvious what’s most important  Within games, suffers from an expectation of ‘Chekov’s gun’  For those with visual impairments, ASCII art ornamentations do not work well with screen readers.  Ordering of textual elements can be important when dealing with real-time in-game situations.  Our compensations in this regard focus on colour cues, syntax highlighting, and the ability to remove flavour text.  Almost anything non game critical can be suppressed.  We also provide the ability to order elements so as to better serve the requirements of fast responses to ongoing scenarios.
  • 10. Output  We provide special bespoke systems for compensating for visual impairments.  ‘Landmarking’  Soundgrids  Narrative combat summaries  The ‘alt_text’ system for providing alternate output for those using screenreaders.  Knowing what can be configured is a challenge.  We provide a comprehensive ‘options’ command.  But you need to know what all the options do to have full control.  Thus, we also offer a ‘screenreader’ command, as well as a login prompt, that sets all of the options to a default value useful for those with impairments.
  • 11. The MUD Extension Protocol  A game protocol developed for MUDs generally is the Mud Extension Protocol (MXP), which allows for raw text to be hyperlinked within supported clients.  We use this heavily within Epitaph to reduce the burden on players.  However, within Epitaph there is also a command line shell for developers.  This is where most of us spend our time, using in-game implementations of standard linux commands such as ls, more, cp, mv and so on.  Some of these commands link to external tools which then pipe their output back into the MUD itself.  MXP is used for both developers and players to reduce the burden on issuing complex instructions.
  • 12. Relevance Beyond Gaming  Many of us work within command line interfaces on a regular basis.  Anyone who does any of their work on a remote server will have some familiarity with the difficulties to a greater or lesser extent.  We assume expertise will be accumulated over time.  However, in my experience it usually atrophies away between uses.  We are only briefly expert in the tools that we use occasionally.  However, the benefits of working on an accessible text game extend beyond the niche of niches where I dwell.  It offers some design guidelines that can help improve command line interfaces generally.  These are not overly complex to implement.  It just requires the will to do so.
  • 13. Conclusion  The game which I develop is not yet an accessible game.  Attaining accessibility is an ongoing process, and that is never more true than in a fast- changing game environment.  However, we have put in place a number of tools that greatly improve our framework for accessibility support.  The purpose of this paper is not to argue that this how we ‘fix’ accessibility within text games.  Many of the issues here are already addressed in the new renaissance of online interactive fiction.  It is primarily to provide a case study of how one particular, unusual gaming environment has addressed some of the issues unique to its interaction regime.  The more case studies like this we have as a community of practioners and researchers, the easier it is to extract the nuance needed for effective accessibility support.