(1) Finished the last storyboard segment on the world’s birds. Experimented with sprite animation and interaction for a more satisfying iteration of the AR comic portion.
(2) Cinemachine for a bird free look camera. The plug in allows me to adjust the three different orbits (tallest, middle, and lowest) when following the bird player model.
(3) Changed the main camera to a truly first person camera.
(4) Another iteration of day/night cycle so that skyboxes blend into each other, as well as fog and deactivation of the existing sun shafts. So far it has a surreal effect.
(1) Finished setting up the AR video players– shakiness is a problem, perhaps because of the quality of the markers. The video players on a plane are a temporary solution, as they do not take full advantage of panels in an AR space.
It is worth noting my first user test shed light into the role of AR in this experience– the user found that constantly taking out their phone for the closs-platform experience wasn’t always satisfactory or justified. They wondered if more could be done to justify the AR portion of the story, i.e. to define why it is that the comic isn’t just fully in-game.
(2) I did some work to add contrast to the UI and improve readability. I changed the fonts and colors.
(3) Instructions along quadrants to help the player map out space and guide them along existing puzzles.
(4) Tree trunks were also added to hold the instruction signs and define more quadrant delimitation.
(5) Began working on a day/night cycle that also responds to the speed control script. The less a player moves the more possible it is they will get to experience night.
(6) Some design changes to make the world more atmospheric — sun shafts and tree particle systems (that also respond to speed control). The particle systems were also a tool in optimization, as I couldn’t have all organic systems procedurally generated as the project stands now.
(7) SFX for cigarette burning (particle system)
(8) Final puzzle – AI with NavMesh dynamic labyrinth, click to move grandma model (which moves slower) and have her meet running Romaine.
This week I scrambled to get everything together for my first user test. I had decided to have all the sections of the story up until 5,6, and 7 ready for AR, as well as their corresponding puzzles.
In order to do this, this week I: 1. Finished the section of the story about the cigarette guy.
2. Added a custom script so that the slider UI of the record player controls the world speed.
3. Finished the third puzzle, where you become a bird and have to find the grandma character in the clouds. Once you do that, a thumbs up appears and the next section of the story is unlocked (the conversation with grandma).
4. I added the script that checks whether 2/3 of the first puzzles have been completed, in order to get the fifth marker (for the story section about the birds).
5. I added the player one model, a model for Romaine, with a walking cycle and a running cycle. There are some issues with the mesh now so I can only add one material, but this will be fixed in the later iterations, as well as adding onto the model a vertex shader.
6. I made the UI for all the instructions and story AR markers I need for the first user test.
7. I made and built the app with the first four markers for iOS.
8. I added a pause menu so that the user can pause and/or quit the game.
There is still so much to do and polish, but I am confident I will have a decent proof of concept done by the end of the unit (June 19th).
Color pencil shader I decided to go with a color pencil shader, since I want to make the comic world and the game-world as consistent as possible.
2. Bird models In the same vein, I tried to use some nonlinear deformers to make my bird models look like scribbles. I can definitely push this method further.
3. L systems Another way I managed to achieve consistency, was integrating L system models into my world. My initial concept for this story-world was the organic growth of plants and how different speeds of time-lapses can give us much insight about their movement. A lot of the models in the world were made by L-systems, and what I did was add a line-renderer to the script that makes the 3D models to further make them resemble the more gestural drawings of the comic.
One thing to note is that having so many line renderers in my scene is very expensive because of all the vertices. Because of this, before my deliverable, I have to implement LOD design.
Below is a snippet of how these models will generate in real time and play into the main game mechanic: the world freezes whenever you move, and moves whenever you pause.
First puzzle prototype is done. A script checks whether both players have climbed on a separate platform and triggers an animation of what will be Romaine running.
2. Model for Koi put into Unity with a basic walking animation.
3. Section of grandmother’s conversation with Romaine storyboarded.
4. Second puzzle done, where the player jumps on the truck with “Cig Guy” and burns bushes down by throwing a cigarette around.
This week I set up the introduction to the game, the AR comic that will serve as the point of departure for the reader. It is inspired by the comics of Pablo Noriega, whose web series The Other Day speak of absurd happennings with an almost indifferent tone and narration.
So the introduction will be Romaine’s narration of how he died the other day while speaking to his grandma. There are other elements, namely his impressions as he realized they were going to die and a reflection on his grandmother’s music tastes. All of them are meant to punctuate a central theme, though, which is that of time and the perception of time. The grandmother character is chosen to represent another perception of time, since as one grows older, one tends to perceive and move much more slowly than before. This is at first a source of impatience and frustration for Romaine, who, on a hot day just wants to think about something else as his grandmother talks and talks.
In the game design document, I set out the general structure of the non-linear stories and the way puzzles would unlock them.
My next objective is to define the puzzles well and create a full prototype for them in Unity before beginning 3D modeling and animation (as well as construction and implementation of the comic itself).
The menu screen of the game gives you something you can scan with your phone in order to get the game background story on AR. A 12 year old boy, Romaine, is in a car with his grandmother who is trying to explain something to him. The car is leaking a lot of oil. Because of her old age, she explains rather slowly and he is losing his patience. He is in the middle of complaining, when a passerby throws a cigarette and their car catches fire. While he is airborne, time slows down, and he sees the game images flashing through his eyes. Then the user is prompted to go into the game.
The idea is that the game mechanics will be an exploration of time. The user can only come to observe and understand the game’s puzzles if they stand still. Every puzzle will unlock another answer or observation as a response to the grandma’s story. For now, I am thinking that the unlocked answers will be scannable for the user to see in their phone. The AR story should take prevalence over the game experience, i.e. the game experience is an elaboration of the concepts evidenced in the story. The AR story itself will be an exploration of the AR medium and what it can bring to comics…
In the beginning of the game, the user comes across a little pig that in some puzzles will transform into a more human version of itself. This will be the second player, who will be instrumental for some puzzles and will have some added abilities. At the end of the game, the boy meets his grandmother and they walk away together in the forest.
Here is a simple prototype I made in Unity. I split the “board” into four distinct quadrants. Each quadrant will be united through a linear stroll between trees and each quadrant will have a different key to the puzzles.
Here is a demonstration of the way time is affected. There is a script which accesses the animation controller and sets its speed to 0 once the player is moving, and to 1 once the player is still. There might be an added feature later on where each second the player stands still, there is an added speed to the animation (for example, 1 second still, 1.5 speed; 2 seconds still, 2 speed, etc.).
Demonstration of time mechanic.
In another quadrant, the characters are controlled separately and have to strategically be placed because once you go back to the center, the distance set will be preserved. This will be useful for the puzzles.
Demonstration of split screen quadrant. Right now the players are controlled with a separate set of keys.
Going forward, my intention for the CP unit is to measure both avatar and character embodiment. I want to see which factors affect not only feeling like the body belongs to you in the given virtual context, but also feeling like you have ownership of the character’s personality traits and emotional/mental space. Another priority is to finish this project with a working understanding of VRChat’s new language, Udon.
Over the break, I have been following some tutorials for the new language and thinking about what basic functionalities I can incorporate. I haven’t tested anything yet. Udon has a node-graph interface and it compiles in the Unity editor.
After my tutorial with Ana, I decided to look at some studies that examine people’s reactions to actual physical spaces given their different socio-political backgrounds and/or ethnic backgrounds. If I find one I think is of sufficient scale for this 10-week project, I will consider mapping the same environment in a virtual space and comparing user’s virtual interactions against the real-world ones.
Another possibility is to remain in the same vein as my project was before, i.e. to create a simple game in VRChat with a more mythological backstory. If I choose to do this, I will create my own set of characters and measure user identification with character clues along the environment.
I foresee my biggest challenge will be simplification. Because of this, it is even more imperative that I build a strong core idea in the following week.
Due to the pandemic, our on-site courses have been interrupted and we are taking on the current unit remotely. Not all of us have access to VR headsets, so the requirements have been adjusted accordingly…
Not only is the hand-in not a VR build, but we will be working independently. I have decided to build a puzzle-game that unlocks sections of an AR comic. The experience will have another narrative. Feel free to check it out under the category Romaine and Koi.