VR Application Development in Unity

Job ID: 38734290

Budget: $10 – $3,750 USD

STATEMENT OF WORK FOR VIRTUAL REALITY MEMORY GAME DEVELOPMENT

1. DESCRIPTION OF SERVICES
The contractor shall design and develop a Virtual Reality (VR) memory game application set in a Suburb Neighborhood House Pack (Modular) environment (https://assetstore.unity.com/packages/3d/environments/urban/suburb-neighborhood-house-pack-modular-72712). This game will be used for research purposes to study allocentric memory, spatial memory, and navigation skills. The platform must be compatible with the Oculus Quest 2 VR headset (i.e., Unity).

2. SCOPE OF WORK
The application must be self-contained and allow for easy administration of the memory tasks without the need for extensive training. The game will track participants' performance and store data in a Google Sheet. The contractor shall create a VR application that allows subjects to interact with virtual objects in the environment. The game will include tasks that measure free recall, spatial memory, navigation skills, and prospective memory.
Specific tasks will include:
a. Coin collecting task that allows player to explore the environment
b. Object placing task that allows players to click, move, and place objects around the environment
- Followup task that allows players to recall the locations of previously placed objects where they placed objects in the environment
c. Navigating task that allows players to start at a landmark and walk to another assigned landmark.

3. MINIMUM FUNCTIONALITY REQUIREMENTS
The VR application should meet the following minimum requirements:

a. Environment
- One fully immersive 3D VR environment (indoor/outdoor space); Suburb Neighborhood House Pack (Modular). Ensure the environment is optimized for VR performance. Ensure full compatibility with Oculus Quest 2 hardware
- Implement invisible walls to limit the virtual space to create a square perimeter around the environment that has roughly equal surface area inside and outside.
- Include at least 10 distinct landmarks within the environment (5 inside; 5 outside) to serve as visual reference points for memory tasks. These items should be enlarged to be larger in height than the avatar. Items are: Palm tree, Telescope, Anchor, Globe, Horse, Pineapple, Teapot, Traffic cone, Christmas tree, Hourglass

b. Object Presentation and Interaction
- Develop a system to display 20 objects randomly at the start of each session.
- Allow customization of object presentation time and placement behavior. Allow researchers to define multiple series of start and end locations. Ability to place subjects at predefined start locations
- Implement a method for subjects to interact with objects
Familiarization Task: Walking into the coins results in coins disappearing from the screen
Memory Encoding Task: Display each object for 30 seconds (configurable). Object always appears front facing to player no matter the direction they are facing. Interaction with object is limited to clicking on the object, moving it to desired location, clicking on the object again to make it static.

c. Data Collection and Reporting
- Create a system to automatically populate a Google Sheet with the following data for each session:
- Familiarization Task: Start and end locations for each trial. Path latency scores (time taken to reach destinations). Path efficiency (comparing actual path to optimal path)
- Memory Encoding Task: Objects presented (name/number) in randomization order. X, Y, Z coordinates of where each object was placed. X,Y is defined as 1 arbitrary unit pixel (i.e., 1x1) where the top left pixel in an aerial view of the entire environment (which will be enclosed via invisible walls) would have X, Y = 0,0
- Spatial Navigation Task: Recall accuracy and Error distance measurement

d. User Interface
Develop a simple interface for subjects to:
- Put on the Oculus Quest 2 headset
- Create a starting screen: Start with a black screen and a “start” button in the center of the screen. Once button is pressed, the task will begin. to start the task
- Interact with objects as they appear
- Create an administrative interface for researchers to: Adjust parameters such as object viewing time, Modify the list of objects included in the study, Define start and end locations for navigation tasks, Access and export collected data

4. TASKS
a. Task 1: Familiarization Task
- Scatter 20 tokens/coins around the environment. Locations will be pre-defined and provided to developer via markings on an aerial map of the virtual environment.
- Allow 3 minutes for participants to move around in the environment and collect all tokens. After 3 minutes, all tokens disappear.
- Output following data to a Google Sheet
timestamp for when they begin the task
timestamps for when each token is collected
- Allow participants to continue exploring environment even if all coins are collected in the 3 minutes

b. Task 2: Memory Encoding Task
- Provide a method for the experimenter to start the task (e.g., "press go" button)
- Allow the participant to click a button when ready to begin
- Display 20 3D objects sequentially in front of the participant for 30s each
- Objects should be randomly selected from a pool of items (without replacement):
orange pumpkin
orange basketball
blue surfboard
orange pencil
silver key
brown teddy bear
fishing net
yellow rubber duck
red guitar
pink cupcake
orange fish
red apple
orange balloon
red dice
orange boots
brown treasure chest
silver crown
black binoculars
orange life jacket
red alarm clock
- Player can automatically move the object to another part of the environment (as it is continually rendered in front of their avatar) and then click to place the object. Once placed, the object becomes static. Objects remain permanently in front of the subject regardless of direction
- After 30 seconds (configurable), the object disappears regardless of interaction
- Collect and output to Google Sheet:
X, Y coordinates of where each object was when it disappeared
Data on whether the object was clicked
Order in which objects were presented

c. Task 3: Spatial Navigation and Free Recall Task
- Pick 6 different sets of start and end zones using different landmarks in the environment
- Once task is started, participant is randomly placed (teleported) at 1 of the start zones and required to navigate to it’s assigned end zone.
- Repeat this task 6 times to use all the start and end sets.
- Collect and output to Google Sheet: Record latency scores (time taken to reach the destination) as well as starting and ending landmark.


5. DELIVERABLES
a. A fully functioning VR memory game compatible with Oculus Quest 2 (i.e., Unity build and launcher app).
b. Source code and project files
c. Screenshots
- All 3D items against a white backdrop
- All 3D landmarks against a white backdrop
- An aerial image of the environment without roofing on any structures (i.e., can see flooring from aerial view) with all landmarks in sight: top, left pixel on this image will be x,y=0,0
d. x,y locations of all landmarks
e. User manual for researchers
f. Documentation detailing game functionality, including instructions for running the program, modifying parameters, and troubleshooting.
g. A test session with sample data to ensure proper data logging and performance tracking.

6. PERFORMANCE PERIOD
Project shall not exceed 30 days after government issued notice to proceed (NTP).

7. GENERAL INFORMATION
Hours of work for development and testing are flexible, with deliverables provided remotely.

Please check out the following for reference of work:
1. https://www.researchgate.net/publication/334269169_The_Method_of_Loci_in_Virtual_Reality_Explicit_Binding_of_Objects_to_Spatial_Contexts_Enhances_Subsequent_Memory_Recall
2. https://docs.google.com/presentation/d/1MfdTexU4Cm27LS_-JLlpKmxDoS2Y76ribqL03rzn77g/edit#slide=id.p