Blazing Marshmallow Postmortem

Blazing Marshmallow

Developing games has been a long-standing passion of mine. This class and this project have served as a real look into what game development is about and how a team internally manages themselves and deals with motivation, maintaining workflow, and iterating on an idea to fruition. I've started telling my classmates who are struggling with the major as a whole or unsure of what to do that this is the class they should get to as soon as they can because this class truly shows you whether or not you want to work in the games industry.

    One of the biggest takeaways we learned through this class is the importance of communication and the team being together in wanting a clear goal with what they want the game to be. At the start of development, we had a few different understandings of what the game's end goal was supposed to be. Some of us thought we were making a high paced platformer with various dilemmas for speed and burning while there were also conflicting concepts of it being a set speed auto runner game with the goal being the collect coins in the level. This lack of direction persisted into sprint 2 when we ended up having a proper sit down and discussion about our game and what the direction, while we didn't have everything fully panned out it helped bring us as a team together with a much clearer goal in mind. Putting more emphasis on having the team sit down and discuss the backlog more in depth would have been a great way to rectify this issue from the get-go.


Paper Prototype

    The paper prototype in our development was primary my job as the team member with experience in boardgame/DnD styled games. Core concepts were getting the games core mechanics tested in board game format that made sure players enjoyed the base idea. In testing this map worked as a test and our players were utilizing fire to complete the map and ending up on low health as a result. Other players were safely moving across making for a working cycle of dilemmas the player faced over the course of the level.




Development

     The first part of this game I helped develop was the basic movement controls. Our lead voiced how he wanted an auto runner that felt along the lines of Run2, temple run, or Subway surfer. I decided to start by making a movement similar to run 2 because it would give us the potential to evolve the concept of movement to be more dynamic and engaging for PC gameplay considering the other references were mobile games that have very different controls compared to what our game would be based on. For this movement a simple script that applied a transform position update was made. This was soon after changed to use rigid body systems with adding force for a more dynamic feeling acceleration over time. This included the left and right movement as well working on similar force-based inputs. At this point we had basic movement, but it felt horrible to play. The game was stale and had very little inputs from the player needed resulting in a rather dull experience. The grapple mechanics were implemented were great however there was a lack of control over these grapples, and they felt very erratic and awkward. To help give the player more control I created an addition aspect of the player controller that would give the player the ability to decrease and increase speed while in the air. However, there was a bug with this code that allowed the player to also increase their speed while jumping normally. This created a way for the player to rapidly increase their speed with a bunny hoping affect to progress the level far quicker than intended. This was the single best improvement our game had over its lifespan. Instead of getting rid of this bug I played into it and cleaned up what it gave to the player and the game was significantly more fun to play. I found myself actively playing just to play the game. With this new system also came some other problems that very rapidly were able to break the games levels. As a result, some rebalancing of the levels was needed and also reeling this new movement back a bit so that it would be a little more controlled and less buggy feeling. Next up for what went well in development was discussion of level tools. I noticed the lead was struggling with very few different ways to make variations to the level. Having an active discussion on ideas for the game led to the creation of weighted platforms, collapsing sections, and objects that could fly at the player. All of these changes born from just talking about the game together led to these additions. 


The Feeling of Speed

One of the most integral parts of any game that involves speeding up and slowing down is how the players camera reacts to such speed. There was a very recent example of this exact principle in a newly released game called The Finals, despite the fact that the players speed was not altered at all, the player base was crying out that the game felt a lot slower compared to a previous version. Turns out there were some animations changes that had occurred with the camera that resulted in players Thinking they were moving much slower, when in actuality they were moving the same speed. The camera POV is one of the most vital parts to how speed is interpreted. Even in modern Formula 1 this can be seen with the modern car looking slower than older cars that were slower. It all comes down to how the camera portrays the speed. For our game I knew i needed to add a camera effect for this speed so the player could A. know when they were moving faster or slower, B. Feel proper intensity when hitting fire and other speed boost effects. For a simpler game prototype, I decided adding a simple FOV to speed scaler would suffice for this.

Speed

The player has 1 specific way in our game to move faster than just holding down W. Fire. Fire in our game serves as a risk reward dilemma with which when hit will ignite the player on fire, causing them to lose health per second. However, the players base speed stats also increase while on fire. Since our game has speed running mechanics this presents huge opportunities to increase one's time. However, in playtesting the player wasn't really noticing this speed uplift. Since only the max speed increased there was no immediate effect that let them recognize this fact. So, adding an instant boost effect when the player collides with fire massively helped with this issue. Furthermore, the above-mentioned camera effects worked amazing with these.

Backend Tuning

Within our game there are various UI and collectables in the game we have two different collectables, Choco and Choco-bites. The smaller Choco-bites were just simple collectable coins that gave a small amount of health when picked up. The large Choco's however were rarer. There were only 3 of them in every level and they usually required a harder challenge to reach them. For the larger ones I made a special UI that had empty greyed out slots for them in each level and when u collected the chocolates it would fill in showing the player that had successfully collected them. This was relatively easy to create with UI Sprites, I had used Sprites for ability cooldowns in a separate project of mine before I worked on this card, so it was very simple to accomplish.


What went wrong?

As for what went wrong with our game. the main issues were lack of clear game idea at the start, once that was locked down game development was smooth sailing for much of the time. There were issues spawned from other classes causing over workloads, but overall development was without major issues. If I were to start from the beginning, I wouldn't have added collectable pickups at such an early stage of development instead focusing on the games core movement more. Sometimes cards would be all made right as a sprint started rather than being fully prepared so making this all fully in line with getting our cards ready in the backlog before sprint 1 would be ideal. Luckily with how agile development is structured we were able to add cards in and start filling up the backlog with things to pull from rather than making cards for what's needed in that moment.

Comments

Popular Posts