Inspiration
In keeping with the theme of environmentalism, we wanted to tackle a topic that would showcase the importance of environmental consciousness. At the same time, we didn't want to lessen the focus on the consequences of modern consumerism. Consequently, we needed to build our project around an idea that reflected both of these issues. Thus, we found our perfect topic - Taylor's Version!
What it does
Presented through an interactive and immersive experience styled after the classic Atari Breakout, our project "Breakout! Taylor's Version" follows the journey of a Taylor Swift (no resemblance to the actual individual for all legal intents and purposes) who has acknowledged the consequences of carbon emission-intensive transportation and her attempts to use her considerable resources to atone for her environmental misdeeds. The country music that plays represents Taylor's return to her roots as a country singer, just as humans must return to their roots in nature.
How we built it
Using Unity and its related tools as a GUI and C# for the main coding language, we were able to create basic functionality within the project. For example, using C# functions in Unity such as ''' private void OnCollisionEnter2D(Collision2D other) { if (other.gameObject.tag == "Ball") { ballMovement.playClip(); gameManager.killEnemy(); Destroy(gameObject); } } ''', we were able to detect collisions between objects (like the ball and the various blocks to be destroyed), cause object movement, receive player input, and play sounds. Using GitHub for version control, we were able to collaborate on the project as we each worked on separate parts before ultimately polishing up the finished product.
Challenges we ran into
We ran into many challenges during the creation of our project. One of the main ones appeared because of Unity's constant updates: many forum posts detailing how to solve various problems or use different functions were deprecated and consequently no longer valid. For example, when creating player movement, some tutorials on Unity 2D movement will use deprecated methods. After implementing one such method, we ran into massive compiler errors as Unity threw errors about the code causing large memory leaks. Instead, we ended up using an InputSystem along with built-in functions like '''void FixedUpdate()''' in order to properly get player input and display the paddle object's movements.
Accomplishments that we're proud of
We're proud of finishing a project that satisfies our creative vision within the time limit! This is our first hackathon, and we're proud of getting the project to run without major bugs or warnings from Unity.
What we learned
We learned a lot about Unity's game development environment and its in-built functions. Many times, we were forced to review the components we had added to make sure Unity had not added certain characteristics by default. For example, when adding a sound to an object (for example, to the ball, so that it can play the sound when colliding with bricks), it's important to deselect the '''Play on Awake''' field to prevent the audio from immediately playing when the game starts.
What's next for Breakout! Taylor's Version
First, to increase replayability, we could add cutscenes and levels that trigger as the players beats each level. A high score counter would also help in allowing the player to record how well they did, compared to past attempts. To widen the scope of Breakout! Taylor's Version, we could include environmental activists from around the world, explain their impact on environmentalism, and create levels for each activist to allow the player to understand the many forms that environmental work can take.
Log in or sign up for Devpost to join the conversation.