Week 4 – The First Prototype

This week, we built our very first prototype for our first scenario: The Landing. Additionally, we watched the livestream from NASA’s Robot Build Watch Party, asked questions about VIPER, and found inspiration while observing the livestream.

Design

We leaned toward the player playing as the AI for a better explanation of the amount of controls the players has on VIPER and Griffin. We separated The Landing into two parts:

  1. The player starts with a further away view of Griffin orbiting the moon and approaching the surface (Still deciding if the player should be able to control Griffin here).
  2. When Griffin is close enough to the ground, the game switches to a closer side view of the lander with tilt controls and main jet thrust control to land Griffin safely.

The reason of the change is:

  1. It is hard for the player to precisely control the lander with our previous view.
  2. The first part can serve as an introduction to the experience with less to no controls so the player can focus on getting into the story.

We also created a white box for the second part of landing with basic movements and a sense of what the palyer will see.

We have also conducted research on the planned route for VIPER and prepared for the next stage of production.

Programming

We have created a working prototype of The Landing. We have created a trail prediction system that can predict the future route and potential landing position on the moon surfae based on the current trajectory of Griffin.

We also created a controllable input system to manage the speed, prediction duration, rotation angles, gravity, to match with the input system for Quest3.

We created delayed I/O for angle rotation of Griffin, there is now a maximum angle that the lander can rotate per second (so that it won’t look weird).

We achieved asynchronous scene change with fading out fading in effect for smooth transition. This is the transition between part one and part two as we mentioned before.

We have fixed gimbal lock issue of the rotation controller with quaternion and connect the output of controller to the white box landing prototype.

We have setup a lever to control the main ject engine of Griffin for controlling landing speed.

And also tested and setup hand gesture detection with OpenXR pre release package.

Art

We have conducted some research on the lunar surface appearance.

And finished the first version of the lunar surface.

We also began to build a cosmic environment for The Landing, featuring the Moon, Earth, and Sun.

We have made some research about how the control panel may looks like.

Last but not least, we have finalized our poster.

Sound

The Sound Manager script has been put into the project. We have created a list of needs based on the design doc.