Forgotten Time

20th Feb

Inspiration

When I first thought of this idea in the online class, I looked out the window opposite another apartment building, and there was a chair on the balcony of one of them, which reminded me of old age. According to the requirements of the non-linear narrative, I thought of the story that let the older man choose to return to different stages of life.

I have watched “The Curious Case of Benjamin Button” before. It tells the story of a man who is born old and grows younger as he lives. This film also inspired me. I shared this idea with my team members Cal and Iris, and they all liked it and found many reference films and games around this theme, such as “The girl who leapt through time.”

Our reference films and games

In the first few meetings, we brainstormed almost every time. We thought based on the theme of time travel for the elderly and came up with some exciting stories. For example, an idea from Iris is that the player is a puppet made by the older man, looking back at the life of the older man from the point of view of the puppet (she was playing “It Takes Two” at that time, so she thought of a puppet-related story). Finally, after our discussion and sharing, we turned this story into an older man who lost his memory, took different medicines, and remembered his life experiences in different periods.

Story

Once the story frame was established, we began to create the content. We talked to Herman about our idea, and he said it would be better to have two to three branch stories, the number we could achieve. So we decided to choose three different life stages, childhood, youth, and old: 10 years old, 29 years old, and 54 years old.

We thought these three ages are the most critical nodes in a person’s life. At age 10, everyone’s life is generally carefree, going to school every day to play with friends. At 29, it was Cal who proposed. He is very age-sensitive and thought that before and after 30 are entirely different, so he chose 29. Life at the age of 29 should be relatively busy and variable because, during this period, people’s parents are getting older, their children have not grown up, and their careers may still be on the rise, so different things may happen, such as the death of parents, children’s illness, unemployment, etc. At 54, it has returned to a relatively stable state, people have reached retirement age, and children have grown up.

According to the general characteristics of the three ages, we need to create three stories, and these three stories need to have a particular relationship. At the meeting, we shared our life experiences, such as what we did when we were ten years old, how our lives have changed in the last two years, and how was the life of our parents and grandparents in these two years. Sharing like this greatly helped us create stories and assign different ages for everyone. For example, in the past two years, Cal and Iris have experienced grandparents passing away in their family. They are more emotional about the experience of being 29 years old. I have no such experience, so I chose to do the 10-year-old part.

In the end, our general story is that it was a birthday at the age of 10 because a special event like a birthday can magnify the joy of childhood. The character’s mother passed away at 29 represents a significant change in life at this stage. At 54, the character returned to this old house and looked back on half of his/her life.

VR Interactive Structure

For the interactive structure, we chose “the maze.” When the game starts, the player is already an 80-year-old man who has Alzheimer’s and gradually forgets the past. Taking different medicines in front of the bathroom mirror can bring him back to when he was 10, 29, and 54 years old. There are related stories and interactive tasks at different ages. After each time travel, the player will return to the same bathroom again, take other medicines, and return to a different period. When the player has experienced all the branches, the player returns to 80, and the game is over.

VR First User Research Iteration Questionaire

Regarding the user research in the early stage, our original idea was to test whether players can feel the change of age through different camera heights and moving speeds. But when we talked to Ana, she told us that the first user research should be used to help us design the project’s tone. Whether players can feel the age change should be considered after the project design is completed. Therefore, we changed the investigation to whether the players can judge the periods based on the environments.

When we held a meeting to share our life experiences, we found that affected by factors such as the country of residence, city of place, family situation, gender, etc., the decoration of each person’s house in the same period is very different. Therefore, to better design the game environment and story, we need to count some basic information about the user. Undoubtedly, the demographic questionnaire is also essential to our user research.

1st Mar

AR Design

We gave up the idea of modelling avatars to give players a better presence in the game. Players may be of different genders, races, and age groups. If we set an image for the player, it may affect their role in the game. At the same time, the story, the content, the setting of the dialogue, and the scene also need to blur the gender and other factors as much as possible. However, there is no specific image, which will also affect players’ presence of different ages. So, we decided to make an AR filter so players can pass through different ages in their images.

Ref filters from APP”B612″

Our idea is that in VR, players can take medicine in front of the mirror in the bathroom, and when they eat different medicines, they will return to different ages. However, in VR, players cannot see their images through the mirror. In AR, a mirror interface is created, and the same medicine bottle is placed on the sink. When the player clicks on the medicine bottle, filters corresponding to the ages will appear. There will also be introductions about each story on both sides of the mirror so players can better combine VR and AR.

VR Environment Design

Based on our conception of the story, we felt that setting the scene in a house and tweaking the interiors in each branch story would best give the player the feeling of changing times. We refer to the animation of “Tatami Galaxy,” where the protagonists have different stories in different parallel worlds, and the same room will have various subtle changes. We can put four rooms with the same layout in one scene, and when the player takes medicine, they can switch the XR rig to come to rooms in different periods.

Tatami Galaxy

We discussed for a long time about the year setting of the four ages and finally decided that the age of 10 in the 80s, the age of 29 in the 90s, the age of 54 in the recent years (20s), and the age of 80 in the future. We didn’t set all the years in the past because we wanted to try to do a future scene, and we could have a space that allowed us to imagine, and we thought it would be interesting. And after the 1980s, it will be closer to our lives and more convenient for us to investigate. Luckily, Iris had a set of assets for different room layouts that we could use immediately. I chose to do the 80s, Cal for the 90s, Iris for the recent years, and the future. We’ve done some online research and developed an environment.

80s living room
80s kitchen
80s bedroom
80s bedroom
80s bathroom
The whole scene

Every country and city has different interior designs in the same period, so we decided to set the location in London. I didn’t know anything about London in the 80s, so I first googled “80s British room” and found a lot of pictures and particles that were very helpful to me. After searching, I found that about interior decoration and electronic equipment, in addition to the pictures on the website, eBay and Esty can also provide me with great help. I can look up used items from the 80s on eBay and Esty and get more information about that era from the item description.

80s living room
80s kitchen(so modern!)

https://www.insider.com/york-museum-1980s-kitchen-exhibit-2015-3

80s washing machine

I know a “museum of the home” in London shows the history of the interior of the British home from 1600 to now. During the meeting, I suggested that we could visit the museum together. Although we have been looking for information online, seeing real objects with our eyes is more apparent than pictures(The pictures are all film photos, and a retro filter is attached to them, which affects my judgment of the actual colour).

We all found this museum visit very helpful in designing our environment! We took a lot of photos and saw the material, colour, etc. of the real object. A work also changed the decoration in the same room, precisely the same as our idea!

20th Mar

Spring Break To-do List

At the end of this term, we held a meeting to discuss the work during the spring break. Because everyone may travel or rest, we only arranged three tasks: user iteration, script writing, and environmental improvement. If we have free time, we can also think about the interactions.

Spring break to-do list

24th Apr

Script (Draft)

We’ve finished the draft of the script over the holidays! I wrote about the character’s 10th birthday: Mom and Dad helped the player celebrate his/her birthday, singing birthday songs, blowing out candles, and quietly placing presents on his/her bed. We have uploaded our scripts to the same google doc, and after we go to school, we can see whether the various parts are connected smoothly, and then we can discuss and revise them together.

VR First User Iteration Result

We have completed our first user iteration by finding six people to experience our environment in VR and fill out questionnaires. From the results, the overall tone of our room can allow users to judge the period correctly, and we have also received a lot of opinions on our room design. Then we can adjust the interior design according to the collected ideas.

VR Environment Adjustment

After we looked at our house in VR, we felt that the layout of this house was a bit too big, and we needed to add a lot of decoration to fill it, so we wanted to change the layout. We picked three layouts in Iris’ assets and unanimously decided to change to the third layout.

No.1
No.2
No.3(Win!)

11th May

Script

We discussed the combined script in a meeting earlier, and we found that our story wasn’t remarkably coherent, it was a bit thin, and there wasn’t an obvious thread connecting the three stories. In Cal’s script, the player is a painter, so we used the painter’s identity to connect the three stories. In the 10-year-old scene, I can hang some paintings on the wall so that the player’s mother is also a painter, and the player receives a set of painting tools for his/her birthday.

In addition to this clue, we can also use family ties to make a connection. In the 29-year-old story, the player’s mother passed away, but there are still memories of the mother and the player in the scene, so we think of family relationships. In the 54-year-old story, we added the player’s daughter’s love and concern for the player.

Daughter’s concern

In addition to the connectivity of the story, we also took into account the difficulty of production, deleted some NPCs, and considered that there is less interactive content in the story, so we added some plots that require players to interact. Now our script has been completed, we can create projects based on the script.

Interactions in the script

VR Scene changer Mechanic

During our tutorial with Ana, we suddenly realised that we hadn’t thought about the logic of how to switch scenes in the whole project well. We discussed it and found that according to our script, we need to add another bathroom scene to be used as a transfer station for scene transitions.

Another problem is that although we already know the code of scene transition, if we eat one of the medicines, that is, destroy the model, go to one of the scenes, and then go back to the transition scene of the bathroom, the medicine model which was destroyed before will be reloaded. If we can’t keep the model in its previous state when the scene is reloaded, the problem will get very complicated.

Luckily, after that, I found a way to make items maintain state changes throughout the project: to use static in the code. Static can be placed before the variable so that the state of the variable is in the dimension above the scenes, and it will not be affected even if the scene is reloaded. Although there are many other ways to achieve our idea, I found that static should be the easiest way after searching and comparing.

Where I found “static”
Our code

https://answers.unity.com/questions/499136/how-to-keep-objects-disabled-after-reloading-the-s.html

(Another answer but it didn’t work for me)

VR Second User Iteration

In the second user iteration, we decided to complete the test we wanted to do before – whether users could perceive their age. As a result of our discussion, when we want the player to feel like a child, lower the camera height, and when we want the player to feel like an older man, reduce the camera’s movement speed.

In our tutorial, we talked with Ana and Zhans about making players feel more like older men. In addition to slowing down the camera speed, we can also try adding staggering footsteps or some gasping sounds when the player moves, putting a reading glasses in front of the camera, putting a crutch on the hand model, etc. We both thought adding staggering footsteps was a great idea during the tutorial and wanted to add it to our tests. Still, Cal told us he looked online and found out that adding the footstep sound might affect the player’s immersion because the player’s legs aren’t walking, which we didn’t consider.

At the same time, we have prepared the questionnaire and will start conducting the user iteration later.

VR Environment Development

After adjusting the house’s layout, we reworked the interior design, which is almost complete.

Living room
Player’s bedroom
Kitchen
Parents’ bedroom
bathroom
Street

To-do List

Here’s our to-do list until June 1st, when we’re scheduled to merge projects.

6th June

VR Second User Iteration Result

We have completed our second user iteration. In this test, we set up three perspectives: the perspective of children, the perspective of the elderly and ordinary young people. The difference between them is the speed of movement and the camera’s height. We used the same environment for all three perspective scenes to allow the participants to focus on their changes. Cal and iris, I asked our friends to test, and finally, we collected the test results of 21 people. Half of them tried the children’s perspective (while experiencing the young people’s perspective for comparison), and the other half tried the older people’s perspective (while experiencing the young people’s perspective for comparison).

The final result is that those who participated in the children’s perspective test can clearly feel their changes and even guess whether they are children. This shows that the effect of children’s perspectives is very significant. It is difficult for the test participants from the perspective of the elderly to feel their changes. I think that in addition to the relatively small changes in the camera speed, another factor is the controller’s joystick. If the player pushes the joystick too hard, the speed will also be faster, so even if we slow down the camera movement, the camera will still be faster when the player pushes the joystick hard.

According to this result, we will keep the settings of the children’s perspective and change the settings of the elderly’s perspective; we need to add some other elements to make the player realise that they are elderly.

VR Interaction Development

We’ve done interactive development based on the script and added dialogue recordings to bring the story to the project. In my scene, I have three interactions: grab objects, draw on a plane, play a sound, and show something up when the trigger enters. Grabbing objects and triggering enter is pretty straightforward, but I had many problems implementing the interaction of drawing on a plane. I originally wanted to use a more straightforward method to add a camera to the project, but I found this method impossible to implement in Universal Render Pipeline.

The easier method but it didn’t work in URP

In this case, I found a slightly more complex way. At first, I followed the steps in this video exactly, but it didn’t work at all, and later I found out that the direction of the brush is significant in this method. The tip of the brush must be the same as the direction in the code to be worked.

This one can really work!
The direction in code
The direction of the brush

I also downloaded the NPC animation on Mixamo, which can be imported and used directly.

23rd June

AR Development

AR was also done collaboratively by the three of us. I am responsible for the filter, Cal is responsible for the UI function, and Iris is responsible for the UI design and the design of some story content-related assets. When I did the four-age filter, I searched the internet for photos of the four ages and extracted facial features from them. For example, children’s eyes will appear larger, the face will be fuller, there may be baby fat, the elderly will have wrinkles, the entire look will be sagging, and there will be white hair. Extracting these features can be achieved one by one, then putting together to achieve the final desired effect.

Thank you our model Iris 🙂

The software we choose is Spark AR. The reason for choosing it is that it has many tracking modules that can be used directly, which is more convenient. When making filters, the two most important parts for me are changing the shape of the face and drawing on the face. I learned a simple way to change the face shape from a Youtube tutorial; that is, you can download the face model from the Spark AR official website, upload it to Sculpt GL for online face pinching, and then download the model and import it into Spark AR. The drawing method is in the tutorial on the official website; download the official face texture and paint according to the face texture.

https://sparkar.facebook.com/ar-studio/learn/articles/people-tracking/face-reference-assets/#facemeshfbx-facemeshdae-and-facemeshobj

Finally, when all the parts are complete, hand it over to me to merge. We thought merging would be very easy, but we didn’t expect Spark AR not to be able to merge projects. When we were working on the project, we took it for granted that the software could be merged into the project, so we did different parts separately. This time, we realised that we must understand the software before starting the project, and we cannot take it for granted. The only way to end up was to manually merge the projects and do everything repeatedly in one section.


Another problem is the menu. When Cal was doing the menu, he created a 2d canvas and put the picture inside the canvas. There is no problem in doing this in the simulated mobile phone interface of the software. Still, once uploaded to Instagram for testing, it will be found that every interface is flickering. The flickering is because the canvas is a 2d asset; they cannot adjust the front and rear distances, and they are all in the same position, so there is flickering after overlapping. The solution is to turn the 2d canvas into a 3d plane and adjust its positions.

After merging all the content, I made some functional changes so that the player would not be disturbed by the filter when clicking on the story assets. I also added the sound effect of turning the book on the start screen and the sound of medicine when clicking on the medicine bottle.

before
before
after

There was a strange problem when I uploaded the project to Instagram for testing; that is, there was no problem on the iPhone, but there was no way to press the medicine bottle below on the Android phone. After some testing, I found that this may be because Android has a safe touch area; however, in software, it does not have a clear boundary. I thought we needed to give up Android, but when I officially uploaded it to Instagram, the Android phone could be used commonly again.

VR Debug

Our VR part was merged and running smoothly in Unity, so we built the project. But when we run the exe file, it suddenly crashes, and no reason is given. I looked online for some solutions, such as removing the sound in the code, but nothing worked. Later we guessed it was because we created an empty object to use as trigger enter; when we meshed all the open objects, things improved but were still not fully fixed. We still couldn’t fix this issue until we submitted the project, which is a shame, but we tried our best to fix it.

Why 🙁

Leave a comment

Your email address will not be published. Required fields are marked *