Now that I have finished my solo development games, it is time to work on assignment 3. This assignment is a group development assignment and is mainly revolved around the playtesting experience. As such, the first thing I needed to do was get into a group. I had already decided with two others (Winston and Ronan) that we were going to form a group together and decided to use Winston’s platformer prototype as our game development base. Another person in our workshop, Cane, liked the idea of the game we decided to work on and joined our group.
With our group formed and our game idea set, we could begin the further development of the game ‘Treasure Rush’. We started by splitting up the work between our group members, so everyone was contributing to the final design and to make the game development process much easier. We also set expectations as to when certain aspects of the final assignment were to be done to keep a somewhat timeline so we can get it all done on time.
My part of developing the game was to add the survival system and add the additional parts of the game created by my group members. First, I had to read through chapter 11 of Game Design Workshop: A Playcentric Approach to Creating Innovative Games, as it would help me design this part of the game to make it enjoyable. To make the survival system enjoyable, I tried to make it a challenge while stretching personal limits, where players do not need to retain all their coins but do so for the sake of completing the game with the highest score possible.
As the collation of all our individual work does not need to be created until the playtesting stage, I began work on the survival system. My idea of how the player will get hit and die will be similar to sonic, where once the player is hit, they lose their coins and need to pick them up again. However, if the player has no coins and gets hit, they will die and need to restart the level.
Adding this mechanic was easier said then done, as the previous code for the survival system was simply if the player got hit, they would be teleported to the beginning with a 1 frame animation of being hit. This was an issue as I needed an actual hit animation and death animation and, in the game’s current state, was difficult to find a viable solution. I ended up using a separate object for the death animation so when the player got hit with no coins, it would delete the player and create the death object where the player was. After the death object’s animation played, it would create another player at the beginning of the level. This was a simple solution to the problem of the player respawning one frame after being hit and not having a death animation.
Next, I needed to add the coins falling out system. This would be much more difficult than the death animation as the player would still need to be able to move and play after being hit. The way I intend to make this work is to make it so while the player is in the hit animation, all the coins will fly out until the player has no more. To make this work, I made a separate type of coin called a death coin that would despawn after 1 second. This death coin was then given the same properties as the normal coin so the player could pick it up and gain coins back. I then needed to make the coins fly out of the player, the two main issues being that the player currently was not staying in the hit animation for any longer than one frame and making the coins fly out of the player with a force and not just spawning on the ground.
I decided to work on the coins flying out first, as it was going to be much more difficult to make work. The first issue I encountered was that if I made the coins spawn on the player, they would immediately pick the coins up as it spawned. I made it so that the death coin, on spawn, would have a short timer in which they cannot be picked up, this seemed to do the trick. Now I am left with the player leaving one coin floating where they are once hit. Now I needed to make it so the coins were flying out. To do this, I made it so once the death coins spawned, they would get a random angle to fly out at between -30 and -150 at a speed of 80p/s. These angles have an upward angle to them so currently, the death coins were flying into the sky and then disappearing. To apply a pseudo-gravity effect, after 0.2 seconds I added an instant force of 90 degrees at 150p/s so the coins would fall down. This then caused the coins to have a nice-looking arc when spawned on the player but then would immediately fly through the ground. To counteract this, I made it so the coins would lose all force while colliding with the ground. This made the hit system work.
My next issue was that the player would only stay in the hit animation for one frame, and consequently, only one coin would fall out rather than all of them. To fix this, I made all the animations only occur if the player’s hit animation has finished, if the player had been in the hit animation. This allowed the hit animation to play to its full extent and allowed all the coins to fly out of the player and make these mechanics work.
The prototype ended up looking like this:
Fullerton, T. (2018). Game Design Workshop: A Playcentric Approach to Creating Innovative Games. ProQuest Ebook. Retrieved from:Â https://ebookcentral.proquest.com/lib/qut/reader.action?docID=5477698