Week 8: Putting it all together

This entry will be a joint entry for both units, since there is not much to expound on in any. The Fire Spirit is still on hold as we all go into our separate groups for the unit that is due next week: The Machine Stops.

As for The Love Machine Never Stops, we sat with sound students two whole days this past week to integrate their work with our project. We have mainly been using the Resonance plug-in to implement reverb audio rooms that respond to whatever sounds we want, i.e. worm movement and dialogue. Our sound artists have also been working with levels.

We also got some updated theme music tracks for different parts of the experience. Vier and I have been finishing up all the dialogue and animation triggers, as well as putting all of the buttons in place for the simulation scene and pleasure simulator scene. It has been a lot of adjust, test, and repeat. There is still much to do before our deadline Thursday, but we are confident we will be able to deliver an experience you can run-through fully.

It is worth mentioning that our team fully intends to keep on developing and polishing this experience after we deliver its first iteration. We will do user tests and begin thinking about distribution.

We were able to make our first build this past week, and it was successful.

Week 7: VR Chat Compatibility

This week, unfortunately, was rather uneventful for this unit since our deadline for The Love Machine is looming and we have a couple of more months for this one. Nevertheless, we gave a little bit more thought into what the redirection means for our project in terms of technicality and research.

I found out that VRChat users are just as protective of VRChat interactions as its developers, but there is still an overwhelming amount of people who wanted to be able to script their own interactions in their custom worlds. In fact, it’s a feature 400+ users voted for. You can read some of the hesitations there as well. These mostly revolve around controlling abuse.

VRChat responded to this feature request and worked on their own programming language, called Udon, that can be compiled in Unity. They spent two years working on it, and perhaps luckily for us, released it about two months ago. We will be looking into how useful this new release could be for our custom world.

In terms of research, we are embracing this redirection as a way to learn not only about an existing social platform and its ethics, but also about the possibility of future role-playing games being held in virtual platforms. Social virtual platforms have proved to be a host for all sorts of activities (baptisms, yoga, meditation, business meetings, you name it), so it is not such a long-shot to imagine games being designed specifically for these umbrella platforms.

Excited to see what we can achieve within these limits we have set for ourselves.

Week 7: Reverb, music, and lots of scripting!

This was an exciting week for the Love Machine team, both VR and sound alike, since we began to integrate everything. We got to add some room-specific reverb, our theme music, and script a lot of behaviors that we knew we needed and some whose necessity arose as we went along…

These scripts included:
(1) Our worm movement sound: the sound team gave us some squishy sounds to add to our worm avatar every time the user moves. The way we achieved this was by adding an audio source to the avatar prefab and a Worm Movement script that checks whether the x of the transform has moved beyond a certain threshold, and if so, it plays the audio clip.

(2) A wooping two new ones for our ladder: haptics + randomized audio on collision. The haptics were clear enough to script, since Steam includes a vibration action you can call and then give it overloads like duration, frequency, and amplitude. The randomized audio features an array of audio clips you can call on randomly upon collision with the ladder. This gives the climbing a more realistic feel, since it is a long section of the experience and hearing the same clunk over and over again would be off-putting…

(3) Material changing: our project already has two general interaction scripts, one for gaze and one for collision with buttons. These are identical scripts which call on arrays of game objects to activate or de-active, and animations to trigger. This week we added a material changer, where the script finds the mesh renderer of the object whose material we want to change, and feeds it a new material. This will be useful for the pleasure simulator scene, where the user touches buttons and gets reactions from the main character and now the general room, as well.

(4) State machine behavior script: some of our gaze interactions were triggering animations before their time, so we had to make sure a script checked whether others had been finished beforehand. We added a script to the animation controller that controls the state behaviors and creates a bool that is only checked once an animation state has finished. The next animation can only be triggered if that bool is set to true.

As a little preview: here is our theme tune for this experience. We will have variations on it throughout. Enjoy 😉

The tune was made by the sound artist Joey Sergi.

Week 6: Redirection

This week, I sat down with Alejandro from the Creative Tech Lab to discuss the possibility of a multi-player network. Although he is going forward with some Photon plug-in tests, our team decided we will pour all of our energy instead into creating an interesting environment for our game. Because of this, we will use VRChat and take it as an opportunity to research custom world creation, socialization habits, and interaction within the existing platform.

This past week I also wrote a script for the 360 filmmaking part of the experience, which will require a fair amount of compositing. Vier also modeled the forest scene for the game in TiltBrush.

Our next steps include research and design. We want to do a follow-up user test in one or two weeks time maximum.
(1) First, we have to see how to meet the requirements to upload our custom world to VRChat.
(2) Second, we need to research the extent of interactions we can include in our custom world.
(3) Lastly, we need to learn about code compatibility with VRChat.

Week 6: Two weeks to go

Final sunset scene by Vier.

Accomplished this week:
(1) Ladder movement scripted with our ladder model
(2) Avatar embodiment scripted
(3) Constellation scene modeled in TiltBrush
(4) Large machine atmosphere modeled in Maya
(5) Final sunset scene modeled in TiltBrush
(6) Main voice actor sent all recordings
(7) Second round of sound deliverables
(8) Main button functions scripted: trigger audio, trigger animation state, trigger change in render settings for fog, change in material and activation/deactivation of game objects
(9) Everything starting to be put together in Unity

Constellation scene backdrop I made.

We had been considering making our treatment of gender more consistent, but upon a chat with our team and tutors we decided it’s not necessary. The main theme of the work deals with desire and its role in our relationship with technology, so gender (albeit present) is a bit of a red herring.

Larger machine atmosphere designed by Vier. The user, as a machine worm, will be able to climb the large ladder to the outside world while taking the whole atmosphere in.

This coming week we will be integrating everything into a single Unity project, finishing animations, and sitting down with the sound team to work the sounds into the experience. We have two weeks before the delivery date.

Week 5: Learning from our first user study

This week we reviewed our first user-study results and with the help of our tutor, realized a follow-up is in order. This coming week we will contact our users via email in order to schedule a follow-up interview. In addition to this, we will complete some other things we missed:
(a) A consent form
(b) An info sheet
(c) Include and be led by research terms about existing games (e.g. social interaction in platforms like VRChat)

Week 5: Gender as theme

First, a succinct update of this week’s progress.
(1) We received the first round of recordings from the voice actor.
(2) Vier and I have begun animating the main worm character.
(3) Our sound colleagues are due today for their first round of deliverables, which include:
(a) voice editing of the dialogue between mother + Kuno.
(b) the sound of worm eyelids (the user’s) opening at the beginning.
(c) variations for all sorts of buttons.
(d) the atmosphere of the larger machine, as experienced while the user climbs the ladder in the huge, dark shaft.

We had our mid-term crit this past week, and we prepared our presentation alongside the sound artists. An interesting thread came up which underlined the whole project: a sort of gender fluidity. As I presented, I kept on misgendering the main mending worm, despite being adamant about making the character ambiguous. Of course, a deep Barry-White-like voice is gendered in itself. Nevertheless, the body is less straight-forward. The contrast in itself is what at this point remains interesting to me: that out of a worm-like machine, a hearty (and perhaps gender-less) voice projects itself.

We later realized there was another event in which we played with gender subconsciously. One of our male sound colleagues recorded the voice for the mother. Next week, we will have a conversation about this as a group so we can clearly define how we are applying this theme of gender fluidity to romance, technology, and dystopia.

Week 4: User Test #1

This week, we tackled two big challenges:
(1) Setting up a multi-player network and
(2) Testing whether our version of Werewolf/Mafia actually works.

(1) As for #1, I was able to get a simple 3D game in Unity to work within the same computer. The editor served as the host, and the build file served as the client. Both updated in real time.

It became trickier when I tried to run the game, simple 3D or VR, in another computer. I don’t have a degree in Computer Science, so there is a lot that goes over my head in terms of networks and servers. I have been using the Mirror networking plug-in. It seems, however, that I need to add a matchmaking plug-in, since the error I was getting was that the host computer was actively refusing the client. I don’t know if this has to do with firewalls, since we were using the university’s computers, but I have been told by an associate lecturer that one way she side-stepped this problem in one of her former projects was to source her own router and have that be the server that all players match through.

(2) User test #1: We wanted to test if the game worked at all and how we could make it more enjoyable to the groups.

We found a group of five friends in the school canteen and wanted to proceed as follows:

We would play four versions of the game, seeing which roles we needed and which were ornamental.
a) A game with all roles (trickster, healer, and forest spirit)
b) A game with trickster + healer
c) A game with trickster + forest spirit
d) A game with only trickster.

We used the platform VRChat to find a campfire world and have our players meet there virtually.

The questions we asked them later all related to enjoyability per version and what interactions they would have liked with the environment and with each other.

By far, the most enjoyable version was the version that featured all roles: the ability to shape-shift/silence another, the ability to heal those that have been silenced, and the ability to be immune to being shape-shifted.

In terms of interaction, they would have liked for a custom world that reflected their roles. They would have liked “the role to be in the game,” as one user put it.

Further, two/five wrote they would have have liked to push the avatars of their friends. One wrote they would have liked the ability to throw objects at their friends. Another two/five asked for a chat room with word bubbles, and the ability to secretly speak to others in order to plot together.

Going forward, we need to solve the multi-player network and create our custom space for the game to unfurl and be more enjoyable to players. The more narrative we can insert in the interactions with the environment, it seems, the more enjoyable it will be for the user. Also, friends need to be able to affect the others’ virtual avatars or they experience more dissatisfaction. The same goes for being able to privately message each other during the game.

Week 4: Recording dialogue

Art by Vier for the initial scene.

Fortunately, more than a handful of things were accomplished this week.
(1) We recorded dialogue for the mother and Kuno.
(2) Vier Nev finished the concept art for the rooms, the escape shaft, and the final scene. (Find them under the list)
(3) Sound artists experimented with procedural sound for the outside scene, made some ambisonic recordings for the simulation scenes, created some custom reverb for different spaces, and started experimenting with variations on sounds for buttons, loading scenes, and the heart fractal generator.
(4) Vier scripted the room-scale portal exploration.
(5) We modeled and rigged the mending apparatus, the room, and the barn scene for one of the simulations.

And here’s a sample of the barn, made in TiltBrush:

And, finally, (6) we set specific deadlines for deliverables, leaving two weeks for debugging.

Unit 3, Week 3: Character Backstories

Color scheme by Vier.

Two main things we had to do this past week,
(1) Figure out the character backstories for the narrative aspect of the experience.
(2) Delegate tasks for the first user test we will conduct before or on February 10th.

(1) For our character backstories, we settled on a very elemental paradigm. The origin story involves a forest spirit discovering the power of fire. First, he is lost and can’t see, and the fire gives him light. Then, he needs to cook, so he uses the fire to make food. Finally, he wants to tell someone a tale, so he uses the fire to create shape-shifting shadows.

The forest spirit ends up being so grateful, they decide to give the fire spirit three gifts, which will be scattered among all their kin. First, because of the ability to see in the darkness, the fire spirit can see visions. Then, because of the gift of cooking, the fire spirit can now heal others. Finally, because of the shadow stories, the fire spirit can now shapeshift.

Today, one of the fire spirit’s descendants is misusing their power. They are making others shapeshift irresponsibly, so the forest spirit summons a healer, a seer, the shapeshifting trickster, and the fire spirit in order to get to the truth. The users must now figure out who is who in this mysterious campfire in the forest.

by Vier.

(2) For our first user test, which we have about a week for, we need to have three things in place:
(A) A research question that will help us improve our next iteration of the tale
(B) A multi-player network
and (C) customizable avatars.

We have a lot of work ahead of us, but the tale is shaping up quite nicely. It will be a light-hearted experience for friends to gather to.