Making the End Screen

A winner is you!
So this post is about the process of making the end screen for a level. For starters, it was going to be a 3 star rating system, because its simple and effective. Plus, since the game uses limited tries, I figured that it was close enough to golf to apply similar rules - so each level has a "par" number and a "bogey", which translates to the signals left to give you a 3 or 2 star rating, after which you only get 1 star meaning you completed it. And of course no stars for a failed attempt. With that in mind I ran a few more ideas in my head of how the general structure of the thing would be, then sketched it down. The buttons are based on the standard symbols you find on phones for their corresponding tasks. This is a good inspiration for these kind of design choices.

Totally makes sense. Yep.

Then I made some more place holder images and put them in the game. Since everything up to now has been very smooth, the animations may as well be like that too. The end screen box thing itself was easy, since I just added some GUITextures for the box, stars and buttons and made them do the things that they need to do (such as stars being filled in when conditions are met).

To animate them I had a float increase using Time.deltaTime from the moment the game is registered as ended. Google has some great stuff on really cool animations. The problem was that this would mean the cool halo expanding thing on clearing a level was mostly obscured when the box appeared - and I like the cool expanding halo thing.

The solution to this was to only set the game to actually end once the expanding effect is done expanding. However I am very much aware of how much people want to skip things after the first few rounds (the same reason why I have a tap and hold functions to speed up the signals in motion), so as well as the time variable increasing at a faster rate when held down, the game end and dialog box opens up as soon as you tap the screen on clearing it, regardless of the halo expanding thing.
The rest of the elements were simply timed to appear based on the timer variable.

Another problem I'm debating is how to handle the lose screen - Should the buttons stay where they are or re-arrange so they cover the centre area, muscle memory or no. A big problem I have had in the past with games is when a button is not where you think it is, or where it was before, and even worse when another button is there in its place for a different function.

No comments:

Post a Comment