With my game project, I want to explore ideas of subculture and social belonging. Many subcultures feature a very distinct aesthetic style that separates them from the mainstream culture. For example, people who participate in goth subculture often dress in dark, Victorian influenced clothing contrasted with a style of pale makeup. Sometimes certain movie or literature genres are associated with a subculture. Oftentimes, music is also a defining attribute of a subculture, such as with the culture surrounding jazz or punk rock. In short, belonging to a subculture influences a person’s entire lifestyle, from the media they choose to consume to the way they express their self to the world.
When someone plays my game I want them to experience the sense of community and belonging that comes with immersing oneself in a subculture and befriending others who are passionate about the same interests. At the same time though, I want to show some of the tension that can arise when you center your core identity around a specific set of things but also like and participate in things that are outside of the subculture.
The existing game that I’m going to adapt is the 2D platformer. However, I’m going to change the example’s coin pickups and scoring system. Instead of coins, there will be sprites that correspond to items associated with a subculture such as pieces of clothing or music albums. In general, the game’s aesthetic will be closely tied into the aesthetic of subculture, and I will probably get most of the assets online and from Unity’s asset store. However, if there is enough time, I’d like to try creating my own with Adobe Illustrator.
The game’s scoring system will have two meters, reputation/popularity and credibility (labeled ‘poser’ in game). When picking up items associated with a subculture that the player chooses at the beginning, their popularity goes up and they make more friends within the subculture. These friends follow the player around as they navigate through the level, but don’t interfere with the gameplay. When picking up items from other subcultures, the player’s credibility goes down, and the ‘friends’ may muse about the player’s authenticity.
The idea for this game came from my experiences in middle and high school, where cliques were mostly formed around specific interests, and people would point to those interests as part of what makes them different and ‘better’ than anyone else. The implication was that if you liked things that those outside of your group were interested in, you were no longer cool. Although that was my thinking in the past, I’ve now realized that people have many rich and varied interests outside of their special interest. I want my game to reflect my feelings from both points in time. During the game, I want players to feel the dilemma of picking up things that they like versus things that they think they should like (and maybe do also like). However, at the end of the game, each of the friends that the player made from their community will come up and talk about a common interest that they share that is outside of their shared subculture.
MIDTERM DOCUMENTATION ADDENDUM
Project Zip file: https://drive.google.com/file/d/1dwZk56L6hQybyI_dO7r9k8SmqBDsiKCM/view?usp=sharing
Overall, I think that the end result of my project adhered to the majority of what I laid out in my proposal. In the end, the focus shifted away from specific subcultures and more towards the general concept of social groups. “Subculture”, as it manifests in my game, is mostly expressed through the type of media the player and their friends like to consume, though the usage of different background art based on which interests are picked in the beginning gestures towards how people can orient their whole lives around a subculture. Although I only created content for two different groups (as opposed to my original intent of 4) I feel that the content I do have is developed in a way that drives home my theme.
When watching people play my game, they exhibited the behavior I expected and wanted them to. At first, they would try to pick up everything in the level. However, once they realized that the friends who follow you around disapprove of items from the “out-group”, they started going out of their way to avoid those items, and only picked up the ones that increased their popularity. This perfectly mirrored the real life behavior that I wanted to model, how peer pressure influences people’s media consumption. This was really exciting to observe in playtests.
On the other hand, I feel like I could have done a better job of making the player aware of their own behavior. After the ending scene, players realize the message of the game, but I think there may be more ways to communicate that there’s nothing wrong with picking up the things you enjoy during the game. This is hinted at by the heart that appears above your head even if your friends disapprove. I wonder what could be less subtle than that, but still isn’t immediately obvious in the first minutes of gameplay. Nevertheless, the people who playtested my game seemed to really enjoy the ending and the message it imparted. For the most part, the criticism they gave was on the smoothness of the controls, like the player getting caught on the side of platforms.
The most challenging part of actually creating the game was probably the code for the friends that follow you around. To get them to follow the player, I use the lerp function, with the target being the player’s transform plus an offset. However, once more friends show up, they all kept bumping into each other constantly because they were all trying to be in the same place. To get past this, I had to make a list of all the friends in the player script. When a new friend spawns, they are added to the larger list, and their follow target is actually the previous friend in the list. After finishing all this logic, I realized that it only worked when moving to the right. Then I had to add in lots of conditionals to make it so that the friends properly move and follow you when the player turns around. Even after all of this, I also had to take into account following you on the Y axis. When the player jumps, it also makes the friends jump, but they often do not manage to get onto the same platform. In response, I wrote a function that puts the friends in the same Y position as the player if they cannot be seen. This still doesn’t quite work properly if the player is standing in a spot where the friends are constantly falling down. I have not figured out how to stop the rubberbanding that the friends do in this scenario.
On a more positive note, I discovered a couple of really cool tools within Unity while creating my game. The first is the ability to alter prefab settings from a C# script. Any prefab that you want to change by using a script should go in a folder called “Resources”. Then you can call the really awesome function Resources.Load() which will allow you to load the prefab as a game object. Any changes that you make to the prefab game object afterwards will apply to the entire prefab, not just that current scene. I used this function in the scene where the player chooses their interests in order to apply the correct tag, friend prefab instance, and audio to the player prefab.
To give some background for the other feature that I discovered, when I made a text-based Unity game in the past, all of the UI elements looked perfectly fine in the editor, but when I built and ran the game, all of the text was tiny. This happened again when I made Social Rhythms. Then, I noticed something I had never seen before while I was trying to debug. If you click on the canvas in the inspector, there is a component called Canvas Scaler (Script) with an option called UI scale mode. By default, this is set to Constant Pixel Size. However, it can be changed to Scale By Screen Size, which fixed my aforementioned problem. Discovering this feature felt absolutely revolutionary.