top of page

Prom: Paradise and Pandemonium

Prom: Paradise and Pandemonium is a game created for the 48-hour Texas Game Jam. The theme of this year's (2024) jam was "it takes two to tango".

​

Awarded Best Use of Theme, Judges Choice, and Runner-up for Best Overall.

​​

Details:

  • My role: Gameplay Programmer and Game Designer

  • Team size: 10

  • Dev time: 48 hours

  • Contribution: 

    • Mechanics Design

    • Game Design

    • Gameplay Programming

Made with: 

62e131df7fe3599fdd46ecb3.png

Premise

In Prom: Paradise and Pandaemonium, you and your polar opposite of a dance partner must synchronize your movement to make your way across the gymnasium, achieving objectives on the way to teenage stardom. It’ll take all of the coordination you and your partner have to not step on each other's feet, and that’s before you take into account making the most of the night by checking off every item in your itinerary! Steal the show and dance your way to the top of the class… or fail and die of embarrassment!

In Action

Game Design

Pre-Production

When the theme of the game jam was first revealed, our team knew that many other groups would create games centered around dancing. How could we possibly set our game apart from the others? The first idea that came about was to create a dancing game with an unconventional control scheme. How could we justify using such a control scheme? Dancing with someone (especially if you don't know how) can be extremely awkward. Where might one find a place full of inexperienced dancers? We all unanimously agreed that the most awkward dance setting was a slow dance at a high school prom.

After figuring out the setting, we began ideating on pen and paper (I unfortunately no longer have access to these sketches) and decided upon the main elements of the game.

​

From these elements, I was tasked with designing and implementing the player movement and enemy behavior.

Player Movement

The two main things I knew were key going into designing the player movement was to capture the awkwardness of the game's setting and to require teamwork. Narratively, the characters (a devil and an angel) are opposites, so I wanted to make sure that while playing the game, players felt that they were stepping on each other's toes and that they weren't really a match. Communication (usually just arguing) between players should be heavily encouraged through the movement.

First Iteration

This is the first iteration of the players. As a team, we decided that the players would not be able to separate from each other, so techically, the players are one entity controlled by two players. To match the theme of slowdancing at prom, the players would also constantly be spinning.

In my first attempt at designing the player movement, I made it so that the players would only move when each player was pressing a movement key (WASD and arrow keys). Though this first iteration worked, it didn't capture the awkwardness of prom night slow dancing, as the rotation of the players didn't affect the movement of the players at all.

Above is a later iteration of the character. The characters spin counterclockwise at the speed displayed above.

Second Iteration

In the second iteration, I kept the element of both players having to press a key to move. However, the key difference in this iteration is how the players move in relation to the rotation of the players. First, each player's forward key is in relation to each character's forward position. This means that since the players are facing each other if they press W and the Up Arrow key, the players don't move anywhere since they would be moving into each other. If each player presses their respective backward key, the players still don't move since they can't move away from each other. On top of this, the players move according to their rotation, so it's almost impossible to move straight (unless you and your partner are pros).

Final Iteration

Another team member added the F and RShift keys as the interact keys for the players when they reach one of the objectives. With the player control scheme and movement being figured out, some tweaks to the players' speed, and the implementation of the player sprites, the player movement mechanic was complete! I really felt that the player movement was successful in capturing the overall mood we were going for. Players of our game also expressed this same sentiment. It was very amusing to see players try to figure out how to work together to move the characters.

Enemy Behavior

Enemies in this game aren't really enemies, they're just other students at prom trying to steal your shine. Really, they're not too different from the players. If you and your dance partner bump into them, they'll see you as being lame. In order to keep their popularity up, players need to avoid these enemies. With the popularity bar set to drain on default, these enemies are another added obstacle for players. My main task was to implement random movementdamage to the players, and a way to indicate that the players had bumped into them.

Test Iteration

I knew that in order to get random movement down for the enemies, I could use Unity's navmesh package. Luckily, I was able to find a repo online that made navmesh in 2D games much easier to implement. I set up this donut shape so that enemies could freely move around the gymnasium without immediately rushing players at the start of the game. Enemies will select a random spot within the navmesh and once they arrive, after a few seconds they will pick another spot to go to. If they get in each other's way, they will move in another direction.

Final Iteration

For the final iteration of the enemies, the artists made enemy assets for me to place into the game. Behavior-wise, they are pretty much the same as in the test iteration. In the test iteration, I noticed that other than the players' popularity meter depleting, there was no feedback to the players that they bumped into the enemies. To give players some feedback, I added knockback to whenever players bumped into the enemies. I also added some more juice as well.

I created these particle effects using icons I made in photoshop. Whenever a player bumps into an enemy, a particle will randomly spawn within the particle system to indicate that the enemy is annoyed that the player bumped into them. A little juice will always go a long way.

Post Mortem

In the past, my experience with game jams had not been that great. The last time I did the Texas Game Jam, my group didn't even have a finished product. With a couple more years of game dev experience and an amazing team, I was really satisfied with my work for this game jam.

​

Through this project, I saw how having a diverse group of people with different skill sets is key in creating a game. Having many unique perspectives on how we could carry through with our game only helped us. The premise of the game itself only came about because we were all bouncing ideas off of each other on the first day. I felt the game successfully brought the player to feel the stress of trying to become teenage royalty. The unconventional control scheme also successfully brought players to work together to win, but also captured the awkwardness of a prom slow dance.

​

I've never really been into making 2D games, but because most of the team was experienced in 2D, I tried my hand at it. Of course, I quickly figured out that what matters isn't the dimensions of the game, but just how fun it is. I hope to participate in more game jams in the future.

​

Check the link below to play the game, learn more about the other mechanics, and meet all the cool people who made this game possible.

bottom of page