SlideShare a Scribd company logo
1 of 54
Download to read offline
Developing a VR
multiplayer escape
room: behind the scenes
of VBI - Lost Connection
Fabio Mosca
CTO @ AnotheReality
Milan | November 29-30, 2018
Fabio Mosca
Born in Bergamo, 1989.
• Computer science Engineer
• Videogame developer
• VR experimenter since 2014
• Founder and CTO of AnotheReality
• Founder of Virtual Reality Milan
Meetup (AperitiVR)
• XR Speaker, mentor and teacher
• Mastering expert songs in Beat Saber
AnotheReality
AnotheReality is a XR Dev Studio specialized in Location Based
Entertainment and Simulation & Training.
Developers of the training platform used by companies such as
Nokia, Hitachi, General Electric, and videogames / escape rooms
used by ASUS, IBM, etc etc...
Expertise on XR Development since 2014, coming from the
videogame industry.
What we're going to see
- Planning the production based on requests and time
- Tools and softwares used
- Design approach, slave of feasibility
- Art style definition
- Code implementation (Multiplayer, Interactions,
Watson Visual Recognition)
- Audio Production
- Dirty tricks
- Results (spoiler: we made it!)
VR coop escape room
Two agents of the Virtual Bureau of
Investigation will have to solve a mistery
inside the virtual world of Avery, an AI of
the year 2043
VBI: Lost Connection is a cooperative
escape room in VR, created for events
and showcasing how IBM Watson can be
used in a VR videogame
Request
Request
Create a VR multiplayer escape room to be used in
events, showcasing what can be done with IBM
Watson
First event in 2 months
Should be integrated and coordinated with the
narrative universe of a mobile application, featuring a
"very human" AI to talk with, to help her to recover her
memories.
Underlying requirements
- Fixed play time for easy queuing
- 4m x 3m play area (each player)
- Playable by inexperienced users
- Related to AI, in a future setting
- Multiplayer can be local
- 2 MONTHS for creativity, design, development &
test is nothing.
Tools & Software used
The design approach
Design, slave of feasibility
Time available is the biggest constraint.
Keep it simple.
Plan
Organize
Parallel production tracks
- Narrative (what the AI will say? what's the
ending?)
- Art (how's the AI looks like?)
- Design (what the AI is going to do?)
- Code (I need to spawn the AI and play the
animations)
- Audio (I need those effects for when the AI
spawns)
- Production (making sure that all the tracks
are working coherently together)
Level design in VR
- Narrative (what the AI will say? what's the
ending?)
- Art (how's the AI looks like?)
- Design (what the AI is going to do?)
- Code (I need to spawn the AI and play the
animations)
- Audio (I need those effects for when the AI
spawns)
- Production (making sure that all the tracks
are working coherently together)
Level design in VR
- Narrative (what the AI will say? what's the
ending?)
- Art (how's the AI looks like?)
- Design (what the AI is going to do?)
- Code (I need to spawn the AI and play the
animations)
- Audio (I need those effects for when the AI
spawns)
- Production (making sure that all the tracks
are working coherently together)
Design example (from our Game Design Document)
Art development
Defining the world of Avery
Choice driven by VR area constraint factors (4m x 3m):
- The hand will the the play area, so the AI will be giant!
25
Defining the world of Avery
The sea
27
Defining the world of Avery
28
Defining the world of Avery
29
Defining the world of Avery
30
Defining the world of Avery
31
Defining the world of Avery
Defining Avery
Holographic memories
- Representing sone of Vogel's actions
- They should tell an "indirect story"
- We want less text as possible in VR
- They should give hints to players about
what to draw
Motion capture!
Cheap motion capture
using HTC Vive and
Ikinema Orion
No need to clean up
animations, as they will be
used for holograms (noise
and imperfections are not
a bug, but a feature!)
36
Defining the world of Avery
Engine & Code
Watson visual recognition
You can draw in 3D in a special area. If the
drawing is recognized as one of the key
objects, it will spawn the real 3D model.
Watson visual recognition in UE4
- Realtime recognition of abstract shapers
- Variation between players drawing styles
can be extreme
- Should not "teach" players how to draw
properly
- Find the best way to take a snapshot of
the 3D drawing
Two drawings of the same object: a photo camera
- No SDK available for UE4. Reference was
https://github.com/Perefin/watson-unreal-
sdk-plugin (supports STT/TTS/Assistant)
- Implemented Visual Recognition Classify
call
- Simple POST request with image data
attached (simulated HTML form, less than
80kb per call)
- Automatic JSON-to-USTRUCT conversion
for response parsing
- Blueprint exposed
41
Defining the world of Avery
42
Defining the world of Avery
- Drawings are composed of multiple ribbon
particle systems with particles spawned
based on movement delta (attached to the
brush/pen)
- When a player leaves the drawing volume
at any point his last position is saved as
the snapshot camera’s direction
- One Scene Capture component renders
only drawings. Orthographic view for more
consistent results
- A single render target is used by the scene
capture to save the resulting drawing to
later classify
Audio
VBI - Audio Production
- Voices through Watson text to speech +
filers
- Multiple musical layers
- Spatialization (HRTF) for immersive audio
- Mixing environment sounds, music,
effects, voices...
- Integrate all of this in the code
48
Defining the world of Avery
49
Defining the world of Avery
Dirty tricks
51
Defining the world of Avery
52
Defining the world of Avery
Results
Succesfully deployed in 10+
events since June 2018
Codemotion is one of them!
(Expo area, photo here for
reference)
Friendly staff is awaiting you
to let you try it ☺
FABIO MOSCA
CoFounder & CTO
Twitter: @Gounemond
fabio@anothereality.io
www.anothereality.io
Virtual Reality Milan Meetup

More Related Content

What's hot

【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来Unite2017Tokyo
 
VFX and games careers info slides Feb 2016
VFX and games careers info slides Feb 2016VFX and games careers info slides Feb 2016
VFX and games careers info slides Feb 2016Yen Yau
 
Visual Effects - VFX
Visual Effects - VFXVisual Effects - VFX
Visual Effects - VFXSidra Khan
 
Compositing, Composing Worlds
Compositing, Composing WorldsCompositing, Composing Worlds
Compositing, Composing WorldsNelson Zagalo
 
Computer game graphics
Computer game graphicsComputer game graphics
Computer game graphicsCameron321
 
3 D Movie Making
3 D Movie Making3 D Movie Making
3 D Movie MakingVictor Tsai
 
Research on media industry
Research on media industryResearch on media industry
Research on media industrybronparsons
 
Game Engine Architecture
Game Engine ArchitectureGame Engine Architecture
Game Engine ArchitectureAttila Jenei
 
Fundamentals of matchmoving
Fundamentals of matchmovingFundamentals of matchmoving
Fundamentals of matchmovingDipjoy Routh
 
Resume coralie gibergues-eng-07-2016
Resume coralie gibergues-eng-07-2016Resume coralie gibergues-eng-07-2016
Resume coralie gibergues-eng-07-2016Coralie Gibergues
 
Unit 78 digital graphics for computer games
Unit 78 digital graphics for computer gamesUnit 78 digital graphics for computer games
Unit 78 digital graphics for computer gamesmunroAnimations
 

What's hot (20)

【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
 
VFX and games careers info slides Feb 2016
VFX and games careers info slides Feb 2016VFX and games careers info slides Feb 2016
VFX and games careers info slides Feb 2016
 
Visual Effects - VFX
Visual Effects - VFXVisual Effects - VFX
Visual Effects - VFX
 
Compositing, Composing Worlds
Compositing, Composing WorldsCompositing, Composing Worlds
Compositing, Composing Worlds
 
Vfx PPT
Vfx PPTVfx PPT
Vfx PPT
 
Computer game graphics
Computer game graphicsComputer game graphics
Computer game graphics
 
3 D Movie Making
3 D Movie Making3 D Movie Making
3 D Movie Making
 
Animation graphics
Animation graphicsAnimation graphics
Animation graphics
 
VFX
VFXVFX
VFX
 
cv
cvcv
cv
 
Animation Intraduction
Animation IntraductionAnimation Intraduction
Animation Intraduction
 
Ani mation
Ani mationAni mation
Ani mation
 
Research on media industry
Research on media industryResearch on media industry
Research on media industry
 
Computer Generated Graphics
Computer Generated GraphicsComputer Generated Graphics
Computer Generated Graphics
 
Game Engine Architecture
Game Engine ArchitectureGame Engine Architecture
Game Engine Architecture
 
VFX & Games: A SImulation Approach
VFX & Games: A SImulation ApproachVFX & Games: A SImulation Approach
VFX & Games: A SImulation Approach
 
Summer time1
Summer time1Summer time1
Summer time1
 
Fundamentals of matchmoving
Fundamentals of matchmovingFundamentals of matchmoving
Fundamentals of matchmoving
 
Resume coralie gibergues-eng-07-2016
Resume coralie gibergues-eng-07-2016Resume coralie gibergues-eng-07-2016
Resume coralie gibergues-eng-07-2016
 
Unit 78 digital graphics for computer games
Unit 78 digital graphics for computer gamesUnit 78 digital graphics for computer games
Unit 78 digital graphics for computer games
 

Similar to Fabio Mosca - Developing a VR multiplayer escape room: behind the scenes of VBI - Lost Connection - Codemotion Milan 2018

Umbra Ignite 2015: Thor Gunnarsson & Reynir Hardarson – Nailing AAA quality i...
Umbra Ignite 2015: Thor Gunnarsson & Reynir Hardarson – Nailing AAA quality i...Umbra Ignite 2015: Thor Gunnarsson & Reynir Hardarson – Nailing AAA quality i...
Umbra Ignite 2015: Thor Gunnarsson & Reynir Hardarson – Nailing AAA quality i...Umbra Software
 
jangincul_ppt.pptx
jangincul_ppt.pptxjangincul_ppt.pptx
jangincul_ppt.pptxInchul Jang
 
Janginchul_ppt.pptx
Janginchul_ppt.pptxJanginchul_ppt.pptx
Janginchul_ppt.pptxInchul Jang
 
Star Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processingStar Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processingumsl snfrzb
 
Your VR Experience (Oculus Presentation, Indiecade 2016)
Your VR Experience (Oculus Presentation, Indiecade 2016)Your VR Experience (Oculus Presentation, Indiecade 2016)
Your VR Experience (Oculus Presentation, Indiecade 2016)Esteban Gallardo
 
Storytelling using Immersive Technologies
Storytelling using Immersive TechnologiesStorytelling using Immersive Technologies
Storytelling using Immersive TechnologiesKumar Ahir
 
Making Audio Engineering Learning & Practice Accessible in Virtual Reality
Making Audio Engineering Learning & Practice Accessible in Virtual RealityMaking Audio Engineering Learning & Practice Accessible in Virtual Reality
Making Audio Engineering Learning & Practice Accessible in Virtual RealitySamuel Fisher
 
What's ahead for film and animation with Unity 2020 - Unite Copenhagen 2019
What's ahead for film and animation with Unity 2020 - Unite Copenhagen 2019What's ahead for film and animation with Unity 2020 - Unite Copenhagen 2019
What's ahead for film and animation with Unity 2020 - Unite Copenhagen 2019Unity Technologies
 
Your VR Experience Presentation
Your VR Experience PresentationYour VR Experience Presentation
Your VR Experience PresentationEsteban Gallardo
 
CineBox Presentation FMX 2011
CineBox Presentation FMX 2011CineBox Presentation FMX 2011
CineBox Presentation FMX 2011Christopher Evans
 
Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Jeff Sipko
 
Jancke kinect programming
Jancke kinect programmingJancke kinect programming
Jancke kinect programmingjose basto
 
Wakka Monkey - Game Development
Wakka Monkey - Game DevelopmentWakka Monkey - Game Development
Wakka Monkey - Game DevelopmentWakka Monkey
 
Lecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingLecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingKobkrit Viriyayudhakorn
 
Y1 gd engine_terminology
Y1 gd engine_terminologyY1 gd engine_terminology
Y1 gd engine_terminologyJordanianmc
 
Charlie Talk - Sony (JIRA)
Charlie Talk - Sony (JIRA)Charlie Talk - Sony (JIRA)
Charlie Talk - Sony (JIRA)Atlassian
 
Wakka Monkey - Game Development
Wakka Monkey - Game DevelopmentWakka Monkey - Game Development
Wakka Monkey - Game DevelopmentWakka Monkey
 
Wakka Monkey - Game Development
Wakka Monkey - Game DevelopmentWakka Monkey - Game Development
Wakka Monkey - Game DevelopmentWakka Monkey
 

Similar to Fabio Mosca - Developing a VR multiplayer escape room: behind the scenes of VBI - Lost Connection - Codemotion Milan 2018 (20)

Umbra Ignite 2015: Thor Gunnarsson & Reynir Hardarson – Nailing AAA quality i...
Umbra Ignite 2015: Thor Gunnarsson & Reynir Hardarson – Nailing AAA quality i...Umbra Ignite 2015: Thor Gunnarsson & Reynir Hardarson – Nailing AAA quality i...
Umbra Ignite 2015: Thor Gunnarsson & Reynir Hardarson – Nailing AAA quality i...
 
jangincul_ppt.pptx
jangincul_ppt.pptxjangincul_ppt.pptx
jangincul_ppt.pptx
 
Janginchul_ppt.pptx
Janginchul_ppt.pptxJanginchul_ppt.pptx
Janginchul_ppt.pptx
 
IsoUnity: A retro-isometric toolkit for Unity
IsoUnity: A retro-isometric toolkit for UnityIsoUnity: A retro-isometric toolkit for Unity
IsoUnity: A retro-isometric toolkit for Unity
 
Star Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processingStar Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processing
 
Your VR Experience (Oculus Presentation, Indiecade 2016)
Your VR Experience (Oculus Presentation, Indiecade 2016)Your VR Experience (Oculus Presentation, Indiecade 2016)
Your VR Experience (Oculus Presentation, Indiecade 2016)
 
Storytelling using Immersive Technologies
Storytelling using Immersive TechnologiesStorytelling using Immersive Technologies
Storytelling using Immersive Technologies
 
Making Audio Engineering Learning & Practice Accessible in Virtual Reality
Making Audio Engineering Learning & Practice Accessible in Virtual RealityMaking Audio Engineering Learning & Practice Accessible in Virtual Reality
Making Audio Engineering Learning & Practice Accessible in Virtual Reality
 
What's ahead for film and animation with Unity 2020 - Unite Copenhagen 2019
What's ahead for film and animation with Unity 2020 - Unite Copenhagen 2019What's ahead for film and animation with Unity 2020 - Unite Copenhagen 2019
What's ahead for film and animation with Unity 2020 - Unite Copenhagen 2019
 
Your VR Experience Presentation
Your VR Experience PresentationYour VR Experience Presentation
Your VR Experience Presentation
 
CineBox Presentation FMX 2011
CineBox Presentation FMX 2011CineBox Presentation FMX 2011
CineBox Presentation FMX 2011
 
Hacking for salone: drone races
Hacking for salone: drone racesHacking for salone: drone races
Hacking for salone: drone races
 
Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2
 
Jancke kinect programming
Jancke kinect programmingJancke kinect programming
Jancke kinect programming
 
Wakka Monkey - Game Development
Wakka Monkey - Game DevelopmentWakka Monkey - Game Development
Wakka Monkey - Game Development
 
Lecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingLecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR Programming
 
Y1 gd engine_terminology
Y1 gd engine_terminologyY1 gd engine_terminology
Y1 gd engine_terminology
 
Charlie Talk - Sony (JIRA)
Charlie Talk - Sony (JIRA)Charlie Talk - Sony (JIRA)
Charlie Talk - Sony (JIRA)
 
Wakka Monkey - Game Development
Wakka Monkey - Game DevelopmentWakka Monkey - Game Development
Wakka Monkey - Game Development
 
Wakka Monkey - Game Development
Wakka Monkey - Game DevelopmentWakka Monkey - Game Development
Wakka Monkey - Game Development
 

More from Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Recently uploaded

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Fabio Mosca - Developing a VR multiplayer escape room: behind the scenes of VBI - Lost Connection - Codemotion Milan 2018

  • 1. Developing a VR multiplayer escape room: behind the scenes of VBI - Lost Connection Fabio Mosca CTO @ AnotheReality Milan | November 29-30, 2018
  • 2. Fabio Mosca Born in Bergamo, 1989. • Computer science Engineer • Videogame developer • VR experimenter since 2014 • Founder and CTO of AnotheReality • Founder of Virtual Reality Milan Meetup (AperitiVR) • XR Speaker, mentor and teacher • Mastering expert songs in Beat Saber
  • 3. AnotheReality AnotheReality is a XR Dev Studio specialized in Location Based Entertainment and Simulation & Training. Developers of the training platform used by companies such as Nokia, Hitachi, General Electric, and videogames / escape rooms used by ASUS, IBM, etc etc... Expertise on XR Development since 2014, coming from the videogame industry.
  • 4. What we're going to see - Planning the production based on requests and time - Tools and softwares used - Design approach, slave of feasibility - Art style definition - Code implementation (Multiplayer, Interactions, Watson Visual Recognition) - Audio Production - Dirty tricks - Results (spoiler: we made it!)
  • 5.
  • 6.
  • 7. VR coop escape room Two agents of the Virtual Bureau of Investigation will have to solve a mistery inside the virtual world of Avery, an AI of the year 2043 VBI: Lost Connection is a cooperative escape room in VR, created for events and showcasing how IBM Watson can be used in a VR videogame
  • 9. Request Create a VR multiplayer escape room to be used in events, showcasing what can be done with IBM Watson First event in 2 months Should be integrated and coordinated with the narrative universe of a mobile application, featuring a "very human" AI to talk with, to help her to recover her memories.
  • 10. Underlying requirements - Fixed play time for easy queuing - 4m x 3m play area (each player) - Playable by inexperienced users - Related to AI, in a future setting - Multiplayer can be local - 2 MONTHS for creativity, design, development & test is nothing.
  • 12.
  • 14. Design, slave of feasibility Time available is the biggest constraint. Keep it simple.
  • 15. Plan
  • 17.
  • 18. Parallel production tracks - Narrative (what the AI will say? what's the ending?) - Art (how's the AI looks like?) - Design (what the AI is going to do?) - Code (I need to spawn the AI and play the animations) - Audio (I need those effects for when the AI spawns) - Production (making sure that all the tracks are working coherently together)
  • 19. Level design in VR - Narrative (what the AI will say? what's the ending?) - Art (how's the AI looks like?) - Design (what the AI is going to do?) - Code (I need to spawn the AI and play the animations) - Audio (I need those effects for when the AI spawns) - Production (making sure that all the tracks are working coherently together)
  • 20. Level design in VR - Narrative (what the AI will say? what's the ending?) - Art (how's the AI looks like?) - Design (what the AI is going to do?) - Code (I need to spawn the AI and play the animations) - Audio (I need those effects for when the AI spawns) - Production (making sure that all the tracks are working coherently together)
  • 21. Design example (from our Game Design Document)
  • 22.
  • 24. Defining the world of Avery Choice driven by VR area constraint factors (4m x 3m): - The hand will the the play area, so the AI will be giant!
  • 33.
  • 34. Holographic memories - Representing sone of Vogel's actions - They should tell an "indirect story" - We want less text as possible in VR - They should give hints to players about what to draw
  • 35. Motion capture! Cheap motion capture using HTC Vive and Ikinema Orion No need to clean up animations, as they will be used for holograms (noise and imperfections are not a bug, but a feature!)
  • 38. Watson visual recognition You can draw in 3D in a special area. If the drawing is recognized as one of the key objects, it will spawn the real 3D model.
  • 39. Watson visual recognition in UE4 - Realtime recognition of abstract shapers - Variation between players drawing styles can be extreme - Should not "teach" players how to draw properly - Find the best way to take a snapshot of the 3D drawing Two drawings of the same object: a photo camera
  • 40. - No SDK available for UE4. Reference was https://github.com/Perefin/watson-unreal- sdk-plugin (supports STT/TTS/Assistant) - Implemented Visual Recognition Classify call - Simple POST request with image data attached (simulated HTML form, less than 80kb per call) - Automatic JSON-to-USTRUCT conversion for response parsing - Blueprint exposed
  • 43. - Drawings are composed of multiple ribbon particle systems with particles spawned based on movement delta (attached to the brush/pen) - When a player leaves the drawing volume at any point his last position is saved as the snapshot camera’s direction - One Scene Capture component renders only drawings. Orthographic view for more consistent results - A single render target is used by the scene capture to save the resulting drawing to later classify
  • 44.
  • 45.
  • 46. Audio
  • 47. VBI - Audio Production - Voices through Watson text to speech + filers - Multiple musical layers - Spatialization (HRTF) for immersive audio - Mixing environment sounds, music, effects, voices... - Integrate all of this in the code
  • 53. Results Succesfully deployed in 10+ events since June 2018 Codemotion is one of them! (Expo area, photo here for reference) Friendly staff is awaiting you to let you try it ☺
  • 54. FABIO MOSCA CoFounder & CTO Twitter: @Gounemond fabio@anothereality.io www.anothereality.io Virtual Reality Milan Meetup