Weensy and the Giant

Game Description

Weensy and the Giant is a 2-Player Co-Op VR game that encourages communication, exploration, and interacting with the environment. Players are able to shrink or grow depending on whether they are playing as Weensy or the Giant respectively. The environmental obstacles are designed to force the players to take advantage of these unique abilities to navigate the play space. Different zones in the area feature different minigames, and the experience of playing these games also changes depending on the player's size. 

Concept

Weensy and the Giant are a pair of friends that find themselves lost in a mysterious garden. Weensy is a jolly and whimsical child who can shrink in size, while the Giant is a solemn and mellow guardian who can grow in size. As they explore the garden, they must use their abilities to their advantage to make the most of the minigames and puzzles.

The Team

This game was a larger project that required collaborative efforts to accomplish. The team consisted of Hedy Fu, Roann Cordova, Mark Lin, Yilia Yi, and myself. We all took on different responsibilities which played to our strengths and skills. 

Skills and Tools

My involvement in the project included ideation, plot development, storyboarding, designing the interactions/obstacles in the environment, script-writing, coding mechanics, building the environment, and playtesting. 

All coding and environment-building was done using Unity and Visual Studio Code. 

The playtests were done by exporting the Unity files as APKs and importing them onto Meta Quest 1 and Meta Quest 2 headsets using the Oculus app. 

External Links

The dev logs and download links can be found here.

Our game document can be found here.

The project demo was also showcased in OCADU's Digital Futures Open Show, which is an exhibition where Digital Futures students display their work. 


Process Documentation

Since this was a collaborative project, I was not present in every part of the entire process. I had certain tasks alloted to me based on my strengths, and I will be demonstrating my contributions to this project. 

Ideation and Plot Development

Everyone contributed in the ideation process when it came to developing a concept for the game. We were inspired by Alice and Wonderland and that is where the idea of growing and shrinking came from. From this, we also decided to create a garden as our primary setting for exploration. 

In terms of gameplay, we really liked the idea of creating a two player game where both players have to complete individual tasks to collectively progress to the next stage. The main game that we felt inspired by was Fireboy and Watergirl and It Takes Two.


When designing the different characters, we felt that their appearance and personality should reflect their unique ability. Weensy is inspired by generalized children's drawings of people. The simplified appearance and forms reflect a childlike imagination and perspective that worked for our purposes. Another source of visual inspiration were the kodama spirits from Princess Mononoke. Weensy's name comes from teensy-weensy. We decided on this because it reflects the character's small stature and his childish personality.


For the Giant, we wanted a more solemn and stoic character. Since he acts as a guardian for Weensy, we drew inspiration from the Iron Giant. Visually, we took inspiration from Moai statues. His personality is also planned to be mellow to act as a foil to Weensy. A potential inspiration for this is Eeyore from Winnie the Pooh. We settled on naming him "the Giant" because it turns his character into an archetype rather than an individual. It also mystifies his character a bit, which we felt made the dynamic between Weensy and the Giant more interesting. 

Rough Plot

The main story focuses on Weensy and the Giant’s adventures through a garden that they play in. Exhausted from a day of playing, Weensy wants to go home but finds out that they have been locked out. In order to unlock the door and return home, they must find the three necessary keys that they seem to have lost while playing in the garden. They must then make a trip throughout the garden to retrieve their keys and return home. 

This served as our basis for establishing an objective in the game to guide the player's exploration of the VR space we created. While there are environmental obstacles that unlock different areas, the game is not meant to be centered around the puzzles. Instead, we want the primary focus to be about exploration while playing around with the unique VR-enabled experiences of growing and shrinking. 

Level Design and Script

Once we established a rough plot, I was responsible for designing the different rooms or "levels". I designed different puzzles and mini objectives that would guide the player's experience and progression throughout these rooms. I also wrote a script of dialogue that provides the players with information on the context of their journey as well as directions on where to progress next. We felt like auditory information would be a more interesting choice than to display directions in the form of floating text. 

After designing the puzzles and the room progressions, Hedy Fu, our primary concept artist, drew rough storyboards to visually demonstrate the progressions. 

The complete detailed level designs, storyboards, and script can be found in the game document

Planning Mechanics and Storyboards

For the game, there were a couple of set mechanics that we intended to include. The most important and centralizing ones being the growing and shrinking abilities. I created animated storyboards to illustrate some of these planned mechanics and visualize how they would play out in game. 

The game will feature interactable objects with detection zones. These are set in a "locked" state by default. When the user is within the vicinity of the zone, the interactable object will be "unlocked". This is to add object specificity so that users cannot activate all buttons simultaneously. It also requires proximity so that users have to traverse physical barriers to reach them. 

The Giant's unique ability is to grow. This will come with its own advantages and disadvantages. Placing a lever at a high elevation is one example of how growing might be used as an advantageous ability. When designing the puzzles and areas, it is important to include these things so that the ability to grow and shrink feel relevant to the gameplay.

Conversely, Weensy's unique ability is to shrink. This also comes with its own advantages and disadvantages. While Weensy may not be able to reach some of the higher placed objects like the Giant can, Weensy is able to shrink to access smaller passageways. These simple but unique abilities will force both players to work together to progress through the game. 

Coding Mechanics

For mechanics, I coded an events system which would enable all of the different interactions in the game between a trigger (buttons, levers, pressure plates, etc.) and a responder (doors, hidden passages, spawnable objects, etc.). I included all my code files for the event system here

The GameEvents.cs file is the main script that sets up the events. Every time a new event is to be created, it has to be added into this script. From there, there just needs to be two scripts to set up a full event. One script sends out a "signal" and the other receives it. In this specific case, the buttonInteract.cs file sends out the signal every time the button is interacted with, on top of animating the button. The doorController.cs file then receives the signal and animates the door to open. Since there are no dependencies, the doorController.cs script can be added to multiple game objects and they will all respond to the signal. Additionally, the code also allows for unique IDs to be assigned so that if multiple door objects have the doorController.cs script, only the ones with the correct ID will open. 

Since we only created a demo, the only interactions that occur are between buttons and doors. However, in the completed game there would be more signal senders and signal receivers. 

Building Playtest Area

To test the mechanics, we set up a playtest area to test the mechanics for interacting with objects, grabbing objects, the UI, walking around, growing, and shrinking. We also laid out the space to roughly resemble what the final area would look like.

First Version of the Game

After playtesting our mechanics and fixing bugs iteratively, we reached a point where we felt confident that our mechanics were working as intended. This is where I began to build the environment in Unity using 3D models that were built by Mark and Roann. 

I started by following a similar layout to our playtest area with the square hedges and the space in the center. This is where we placed our gazebo, which would also be the spawn location of the players upon first loading in. I set two pathways that lead to different rooms and created a forest behind the gazebo.

This is a bird's eye view of the entire space. There is a ring which confines the play area and two unique buildings that players may walk into. The beige building is a house, and the glass building is a greenhouse. 

I added lighting to the gazebo and played around with the color theme of the space. I initially tried a more naturalistic color palette, but this will be changed later on in the project. 

This is a view of the beige house. There are simple furniture pieces laid out which players can walk around. The lighting here was also set to red to evoke a warm mood, but this will also be changed later on. 

This is a perspective view from inside the gazebo and what players would see when they first load into the game.

I decided to add giant mushrooms around the perimeter of the forest to add a more surreal and magical feel to the environment. 

This is view of the greenhouse from the perspective of a normal height. We wanted the buildings to be large enough to amplify the perspective changes when the player grows or shrinks.

This is a bird's eye view of the entire layout of the first version of the game.

Final Version of the Game

After the first version, there were several small changes that were made that slowly accumulated over time. Unfortunately, I do not have saved intermediate versions. Through several playtests, many changes were made. One major issue was that size did not initially feel relevant to the gameplay in the first few versions. To combat this, I shrunk the size of the first house with the furniture down so that it can only be accessed through shrinking. I also added in more assets to make the environment look more polished and I changed the color scheme of the environment to adhere to a more magical atmosphere. The unnatural coloration works better in standing out and making the environment feel surreal, which plays to the strengths of VR. Rather than recreating reality, we want to deliberately create an environment that cannot be found in reality so that there is actual relevance in the VR. 

This is a bird's eye view of the entire layout of the final build. The color theme was changed from a more naturalistic palette to a more surreal one so that the garden feels more magical.

I added benches to the gazebo to fill up space and make it look more cozy. However, I also changed the warm lighting to cool lighting to make the space feel unreal and magical.

Pathways were added so that the direction towards the houses was more clear. I also added grass around the pathways, which shrunken players can run around in.

The house was shrunken so that only players that shrink can access the space. The lighting here was also changed to blue to make the space feel more magical. 

I added boulders, grass, and small mushrooms to the forest area to provide plenty of cover. This space can be used to play hide and seek and makes the space more exciting to play around.

The greenhouse was made taller so that players who have grown in size can enter through the door. There is also a button placed atop the hedge next to the door. This can only be reached when players grow.

Inside the greenhouse, there is a basketball hoop and several basketballs. This is to provide players with a play opportunity in this space. They can freely grow and shrink here, which may change their experience playing basketball. 

A maze was added to provide players with another minigame to play around with. Shrunken players can enter the maze while grown players can get on top of the maze. This way, the Giants can guide and direct the Weensies.

Using Format