megan kennedy

games - about - itch.io - linkedin

simulation

Simulation was developed in Unity in collaboration with Soph Katsivelos and Arshia Jaiswal. I was responsible for gameplay design and implementation, namely designing how the player would interact with the world around them and implementing this into Unity using the Meta OpenXR package. I also was responsible for implementing passthrough and handling in-game interactions like breaking walls and sound effects and animations playing in response to certain triggers. The gameplay of Simulation centers around spawning cubes (by hitting the B button on the righthand controller) and then throwing them, initially at the passthrough walls that surround the player and mimic a fully passthrough scene, and then at the muppets and objects within the scenes behind the passthrough walls after uncovering them. The decision to make throwing the cubes the primary mechanic was motivated both by the limitations of VR controller technology—in that the focus on mimicking real-life hand movements mostly boils down to being able to pick up objects and throw them, as opposed to the more fleshed out button-based control scheme found on console controllers—and the assumed idea that players, when placed in a VR game, will tend to turn to throwing whatever they can pick up fairly quickly.

The player begins the game in passthrough, which is actually six planes placed around them all with a selective passthrough material assigned. after throwing a cube, when the cube collides with one of the passthrough walls, it deactivates and reveals one of four scenes behind it, each of which then has puppets and other objects within it that can be interacted with by throwing a cube at it. Hitting a muppet with a cube will result in a random voice line from a selection playing, and some objects will also react when hit (the toilet will start overflowing, the plunger can be knocked over, etc.). After playing for long enough, the scene will begin literally burning down, representing the simulation falling apart.

The in-game environment and placement of the passthrough walls is modeled off of the dimensions of the spatial computing room of Pratt Institute, where this game is intended to be played.

Simulation is available for download on itch.io.

postmortem

As simulation was designed as a final for a mixed reality course where game design was not the focus, playtesting prior to the final presentation was largely for the purposes of functionality testing. While the game is functional and worked as intended in the final showcase, there are several changes I would have made based off of player feedback received at the showcase if I were to continue working on this project.

First, as the in-game environment (particularly the passthrough cube that the player begins in) is mapped to the dimensions of the room, Soph and I designed the game so that the player would have to walk around the room in order to break the different passthrough walls, the placement of which would correspond to the location of the real life walls in the room. However, players found the act of walking around the room while wearing a VR headset to be unintuitive; most players instinctively stayed in place while wearing the headset until otherwise prompted, which made it difficult for some players to break the passthrough walls (as they were standing physically in the center of the room and could not reach them). The dimensions of Pratt Institute’s spatial computing room is also seemingly larger than what the Meta Quest 2 can handle as its maximum room space size, so if we were to display this project again, mapping it to a smaller room (particularly one where the player doesn’t necessarily have to walk around) would be ideal.

Additionally, though we chose throwing to be the method by which the player interacts with the environment, we found that throwing as an action (as it is incorporated through the Oculus framework) can be somewhat finicky and not quite as consistent as we would have liked it to be, both in terms of getting an object to actually register as being thrown and in terms of the accuracy of the object’s trajectory once thrown. Though I think throwing the cubes around is fun and engaging to the player once they’ve gotten the hang of it, having the player treat the controller as a kind of gun and instead having them shoot the passthrough walls and objects around the room via pressing a button would likely have solved our issue of throwing being somewhat mechanically unreliable and the player not always being close enough to a wall to deactivate it.