Fight Pot

Fight Pot is a competitive cooking game made for TOJam 2022 All Twogether.

 

Take Aways

I went into the project with idea of making a networked game as experiment to see how difficult it is, and to better understand what tools are needed to support it. Thus, a large portion of this project was focused on the functionality of the game, rather than its design or feel. As with any game jam game, the end product could always be better, a small-time frame doesn’t allow for too big a scope. However, I took a lot of time to research how to do networking the week before, that research continued until the project concluded. There is never enough research, because there’s always an opportunity to learn new and helpful things.

 

This short project was made for TOJam 2022 All Twogether, under the theme of “That Shouldn’t be here…”. The topic that my team decided on was centered around the theme and genres that we were familiar with. This was to create a game centered around our own culture surrounding food, and our love of co-op cooking games.

 My primary role for this project was programming, I handled gameplay logic, asset implementation as well as the networking aspects of the game. The project allowed me to understand the required coding knowledge to create a networked game.

Process Work

 

Experimenting With Tools

A week before the official start of the Game Jam, I had decided to research and develop base line network usability for our game. The easiest way to do this was to begin researching and understanding possible tools that handle networking.  I had previously worked on a project that used the now depreciated Unet, so I looked at Mirror first.

As I began researching and attempting to use mirror, I discovered that the method I was using would have required the players themselves to run their own server, as well as needing to port forward to be able to connect with each other. While this was functional, I didn’t want players to preform extra steps just to play the game, so I looked for alternative options.

I then discovered Photon, which had built in Player-to-Player support, (it was limited by the number of players it supported at a time though) However for a Game Jam that was more than enough to avoid having players and testers do extra set-up. I was able to get a base line structure for what I wanted the game to be like, and saved the remaining coding for the duration of the Game Jam.

Designing Around Limitations

As I developed features, I discovered that many of the solutions I would often use to solve coding problems weren’t as efficient or wouldn’t have worked within the networked code frame work. A lot of the features I had intended to put into game need to be rethought in order to fit within what I knew at the time, as to still be within scope of the project.

A lot of the redesigns focused on players and servers holding onto important data like score, or current orders. However, I struggled to consistently get data to be transferred between players over the network, as the game required each player to be aware of each other player’s score and order status.

Thus, instead of having individualized score, the players were put into teams, and anything score or order related would be managed by the host player, and sent out to connecting players. This change was important for me to understand what I could foreseeably do for remainder of the game jam. Through focusing on the functionality of the game, I could better prepare myself to do finishing touches on the game.

Final Touch-Ups

After the developing the functionality of the game, the remaining time during TOJam was to pretty up what was in the game, and to ensure that players had feedback for their own actions, in addition to the other players’ actions.

After learning from the various mistakes and success during the early progress of the Jam, I was more able to understand how to implement Sound Effects and Particle Effects, and ensuring that they were synced. I spent time to learn how players being kept track of with Photon, and was able to split the players into two separate teams, visible by their coloured names.

There are still many touch-ups to do, but I’m satisfied with what I’ve learned for this project, and can now understand difficulty in networking. As well as showing me that there’s always more to learn.

Art Pass for the main level

 
Previous
Previous

Apart of this Path

Next
Next

Astrowatch