German VR Game: Project Update (10/3/2019)

It’s been a while since I posted anything on my research blog. Since I’ll be working this year with some Grinnell College students on a project that continues work developing a German language VR experience (see: YouTube video and GitHub repo), I thought I would use this opportunity to blog our project development. I hope to be able to add updates as time and project demands allow. This past Thursday (10/3/2019) we continued with our brainstorming session from our prior meeting (9/25/2019), focusing on refining the story that will inform and guide user activity in the VR experience. We also decided that the scope of the story we developed so far was perhaps a bit too large for us to develop within a year, so we narrowed it down so that it encompasses a training tutorial and just three tasks.

20191003_163456

Image of the whiteboard after our weekly planning meeting on 03 October 2019.

Story

The user will adopt the in-experience persona of a university student studying in Germany for one year. We will assume that this student will have non-native linguistic capabilities comparable to three years of German language study up to the 300-level and no prior experience abroad. At 4 PM this student receives a text message, inviting them to a party at the apartment of another university student. Before going to the party, the user must complete a training tutorial and accomplish three tasks.

Training Tutorial

The user will locate the keys for their apartment and add the keys to their inventory. The user will then clean up the apartment by throwing trash and recycling into the proper containers and then adding these containers to their inventory. These activities will familiarize the user with the teleportation, interaction, and inventory features of the VR experience. One the tutorial is completed, the user will be able to leave the apartment.

Tasks

The user will navigate from the apartment to the pedestrian zone, where they will (1) throw the recycling and trash into their proper containers, (2) locate an ATM to withdraw money, and (3) use this money to purchase tickets on public transportation to get to the party. At a later date, these tasks may be expanded to include purchasing food items to bring to the party. These tasks will need to be completed before 5 PM, when stores close.

To do

We have divided the team up into three areas of development expertise: (1) subject-matter experts, (2) VR programming and development, and (3) 3D asset development. Based on the needs of the story described above, the following work needs to be done:

Subject matter

We need to gather as much information as we can on recycling and waste management systems in Germany (in both public and private spaces), ATMs, and public transportation. This information includes images that could be used to assist in the development of 3D art assets, understanding how people use these systems and all activities related to interacting with these systems (e.g., using information about where the party is located in the city and when the bus will arrive to purchase the correct ticket), and assembling German vocabulary lists of words and phrases that people would use when interacting with these systems.

VR programming

Before we do a bodystorming session, we can begin whiteboxing the the story we have developed so far and iterating through potential systems to support user interactivity with these systems. We need to look at architectures that keep track of these systems – the Singleton design pattern with a GameManager script comes to mind, but we should also seriously consider using Scriptable Objects. This video (https://www.youtube.com/watch?v=raQ3iHhE_Kk) gives a good overview of both. We’ll be using VRTK v4 beta for VR development inside of Unity and need to create a clean Unity project where we can begin developing. Although VRTK v4 is still in beta, it is stable enough for us to use and will be the only version that will be supported going forward; v3 is being deprecated. Please take a look at this video (https://www.youtube.com/watch?v=uZ1VBWSlOnc) to see how to get VRTK running inside of Unity. Finally, we’ll need to create a GitHub repo on our site and start pushing our builds to it.

3D assets

We’ll be using 3ds Max to develop assets for the VR experience and then importing them into Substance Painter to create the albedo, specular smooth, normal, and emission maps for the Unity 5 standard specular shader. It may take a bit longer to develop these assets as I am also doing asset development for another VR project.

2019-10-08_1202

Model of a medieval tower currently in development.

DZ8wixoVoAAZmG_

Model of a German recycling container also in development.

Other VR experiences

Finally, we’ve been looking at some other VR experiences (Smithsonian VR Exhibition “Beyond the Walls” and 1943 Berlin Blitz) in order to get an idea of how better do develop our own. The process we develop to evaluate these experiences includes three steps: (1) React, (2) Judge, and (3) Apply. The first step simply begins to answer the questions “Did you like the experience? Why or why not?” and opens the door to examining visceral, emotional and/or intellectual reactions to the experience. The second step introduces more distance between the user and the experience, inviting them to reflect on the technical execution of the experience and how the subject matter was represented. Finally, the third step is a discussion of what we should or should not try to apply in the VR experience we are currently developing.

20191008_105729

Notes on Smithsonian VR Experience.

20191008_105747

Notes on Smithsonian + 1943 Berlin Blitz VR Experiences.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s