Posted October 06, 2024 by Mrmagic1
This week largely focussed on the UI of the game, such as menus, a timer displayed on the screen and saving the players best time.
The three screenshots above show some of the menus that are currently in the game. The main menu is presented when the player first starts the game, with the buttons allowing you to go to level 1 (starting the game), the instructions screen and the screen where the player's best time is saved (more on this later).
A lot of time and effort had gone into the timer this week. It was an aspect of the time that I thought would be quite simple but turned out to be rather complex, and a few tutorials were used in order to get it to work (referenced below). I needed the timer to start when the player starts the game, pause when the player pauses the game (shown in gif below) and pause during transition areas between levels (also shown below).
The above gif shows the game paying when the Escape button is pressed. From the pause menu, the timer pauses, and the player can choose to resume or return to main menu. There was a bug when implementing the pause screen which enabled the player to shoot while the game was paused, leading to potentially an infinite number of bullets on the screen at once. This has been fixed, but required some modifications to the code that allows the player to shoot.
This gif shows the player reaching the end of level one, which causes the first level transition screen to load. In this screen, the player has the choice to continue the run (move to level 2), or if they are unhappy with their time, they can restart the run and try again from the beginning. The main difficulty here was getting the timer to pause in these transition screens. The tutorial by Kozmobot games greatly assisted in enabling this feature.
Saving the players best time was also a slight challenge and took some time to solve. A tutorial by Bmo was very useful in getting this feature to work. So now, when the player crosses the finish zone in the last level, the time is saved and stored as long as it is faster than any previous times (unless it's the first time the player records, in which case it will automatically be the best time).
Feedback has been very divisive, as some players have mentioned how the game is too difficult and others say it is too easy (for the first level). I would like the make the second and third levels more challenging than the first, however if people are already struggling with the first level I may need to make it easier, as it is only meant to act as a tutorial. having hard and fast routes as well as slower yet easier routes in the coming levels may be necessary in order for all players to complete and enjoy the game.
Known Issues:
• Currently on Itch the timer does not pause while in the transition screens (works in Unity).
• Screen size problems
• Been told through feedback to change the pause button from Escape as escape also takes you out of fullscreen
Fixed Issues:
• No more "super jump" as the way the player character detects the floor has been changed.
• A cooldown timer to shots has been added (this was mainly to address the pause screen issue, however as mentioned in the last developer log, it could be used to prevent players from trivialising some parts of the levels).
References:
Rehope games: https://youtu.be/POq1i8FyRyQ?si=CatsJJolRuLqUpZC (for making the timer)
Kozmobot Games: https://youtu.be/GNnG13nv-Sc?si=dvE1YoucdJetbBw7 (for making the timer work between scenes)
Solo Game Dev: https://youtu.be/G1AQxNAQV8g?si=QyuUSwvc_QjZ8HuV (for pausing the game)
Bmo: https://youtu.be/x-5lrUSBwXY?si=gPSAzB9GTni_LUE2 (for saving best time)