elise ngo

Autonomy

Autonomy is a game where the player is faced with different choices they have to make throughout their lives. The choices they make will affect the outcome of their life. To play, use WASD or the arrow keys to move around and step over the teleporter pads to choose an option.

Concept & Ideation

The primary concept behind my project is the illusion of choice or the idea that we have more control over our lives than we actually do. With that said, I tried to create a game that revolves around the player making choices at every stage while going through the cycle of their life. I wanted the players to be under the pretense that they have the ability to influence their in-game life through the choices they make. In reality, everything has already been predetermined by me, the Game Lord. I wanted the course of the player's life to be determined by exaggerated gender and social class biases to highlight how the opportunities we receive in life are determined by factors that can't be controlled.

From my initial concept and sketches, I created my 3D model by building rooms to represent every stage and added scripts for the player to move around. To teleport the player from stage to stage, I used a teleport pad asset and teleportation script. I also added a UI dialog asset for the storyline and wrote a script to have the dialog pop up when the corresponding teleportation pad is triggered by the player. Like the title, I wanted the audio to contradict the dismal theme which is why I chose an upbeat, light-hearted sound to make the player believe that it would be a fun game. I also added an ominous, haunting 3D sound that plays when the player approaches the "wrong" door to hint to them that the option shouldn't be chosen.

Initial Idea

Adding the 3D model, player interactions, teleportation, and dialog

Refining 3D models with textures; Completing storyline dialog and stages

Successes, Failures, & Future Directions

I think the teleportation between stages and dialog aspect turned out really well because I was able to use them to lead the player through my storyline in a simple way. Something that did not work as I intended was the currency system. I really wanted to add a currency system that displayed a player's current balance as they go through each stage to illustrate the impact of money in life, but the currency variable would not update. I tried to script it in a different way, but it would not work when decreasing currency. That's why I decided to forgo the idea and implement it through dialog instead.

If I were to extend this project in the near future, I would try to implement and debug the currency system again with the addition of the player's other stats on the UI, such as gender, social class, occupation, and more. I think I would also try to flesh out the storyline better and extend it to be longer to include more decisions and routes, like if you were born as a male or in an upper-class family, and illustrate how the opportunities you get would differ. I also was thinking of tackling deeper issues, like abortion, which was my original inspiration, but I decided to tackle my theme in a more subtle way in order to make the game more entertaining and less imposing. I think this project would also make a very interesting VR game because it's already optimized in a first-person, 3D world. If I were to turn it into a VR game, I think it would be very similar to how it is already where the player would go through stages and choose between different options.

Assets & Textures

I used free assets from the Unity Asset Store. The textures and decorations came from Mega Fantasy Props Pack, the audio came from Free Horror Ambience 2 and Soft RPG Music Pack, the dialog UI came from Dialogue Editor, the teleportation pads came from Custom Teleporter Pad Script, the background came from Ultra Skybox Fog, and the player controls came from Mini First Person Controller.

I created the 3D models for the rooms/stages and wrote the script to trigger the conversation when stepping on the teleportation pads. I also attempted to write the script to create a currency system and UI, but it did not work :(