The next thing I added to the game was a score. Since I was mostly interested in the mechanics and narrative of the game, I decided against implementing some sort of scoreboard. Instead I kept the score system to just one value that resets to zero each game. To encourage the player to fly closer to the sun, the score increases by the value of Icarus’s Y coordinate. So the higher Icarus is flying, the faster the score increases. To avoid the score decreasing, it only adds the Y values when it is greater than zero. This also means that the score will only rise when Icarus is in the top half the screen. I displayed the score using a text object, placed in the top right corner of the screen.
Of course, without a sun to melt the wax in Icarus’s wings, the player will be free to fly at the top of the screen as long as they please. I made a sun sprite and added it to the game. To melt the wings, I defined a value for the melting point and had a variable that stores how hot the wings are. The variable only increases when he touches the yellow of the sun’s heat and resets to zero when he moves below the yellow. Similar to the score; the closer Icarus is to the sun, the faster the heat variable goes up. I also added a particle system that shows the wax dripping. The emission rate of the wax particles is proportional to the heat of the wings. So the player knows how close the wings are to melting, I created a red bar that stretches across the top of the screen, from left to right. When it reaches the right side of the screen, the wings have reached their melting point and Icarus falls. When it is halfway across the screen, it starts flashing and displays text, warning the user that the wings are melting.
The following gif shows the score increasing and the wings melting as I have described.
Of course, without a sun to melt the wax in Icarus’s wings, the player will be free to fly at the top of the screen as long as they please. I made a sun sprite and added it to the game. To melt the wings, I defined a value for the melting point and had a variable that stores how hot the wings are. The variable only increases when he touches the yellow of the sun’s heat and resets to zero when he moves below the yellow. Similar to the score; the closer Icarus is to the sun, the faster the heat variable goes up. I also added a particle system that shows the wax dripping. The emission rate of the wax particles is proportional to the heat of the wings. So the player knows how close the wings are to melting, I created a red bar that stretches across the top of the screen, from left to right. When it reaches the right side of the screen, the wings have reached their melting point and Icarus falls. When it is halfway across the screen, it starts flashing and displays text, warning the user that the wings are melting.
The following gif shows the score increasing and the wings melting as I have described.
The game now matches the rough design I described in my first post. It is at this point that the design flaw I then mentioned becomes clear. I intended the player to move Icarus up and down to avoid the sea and sun. After only a few moments of play though, it becomes clear that by tapping the screen at a slow, steady pace, it is easy to keep Icarus in the middle area of the screen. This results in Icarus surviving indefinitely whilst the player’s score still rises. As there was an obvious strategy to succeed at the game that required no challenge, the player had no meaningful choices to make. I needed to alter my design to fix this.