Birdman Scores
As this game had replayable levels, it made sense to have a score system, encouraging players to return to each one, in order to have a truly replayable scoring system there would have to be several different ways for a player to get a score, that way the player could combine trick shots with precise aim to get the best scores. It’s also important when different behaviours are scored independently that each element of scoring is of a similar value to others, relative to the challenge involved, for example, if the time taken to make the shot grants the player a score in the thousands, and the number of shots taken only rewards in the hundreds, there would be no incentive to aim shots, and the player would instead fire quickly and carelessly for the best score. In addition to scoring the number of shots taken and time taken to hit a target, the player is scored on whether they hit the VIP (of which there is one on every level), how many objects their spit bounced on, and a score penalty for using the power-up. The penalty is balanced by the fact that using the power-up will cause the spit to multiply into several spits and the player received a cumulative score for each one that hits a target, so all five spits hitting the VIP would yield 3750 points from the VIP bonus. To add flair to the game I decided that at the end of the level, each bonus would count up on the screen one after another, followed by the final score. I think this added a lot to the aesthetic, rather than simply showing the score when the player won. To code this I made a text render object for each score, and made a loop that would iterate through and check whether each number in the render object was equal to the score, if it wasn’t it would increase or decrease the number and break the for loop, otherwise it would move onto the next element of the loop. If they were all at the score they were supposed to be, the final score would do the same. If at any point during this, the player pressed the A button, the scores would immediately show their total value, allowing impatient players to skip the count. If A was pressed after the count, the player would return to the main menu.