Menus, Settings, and Time Trials
This build introduces several menus, including a main screen, level select screen, and settings menu. It also introduces a consistently used font, a new play mode known as "Time Trial", and introduces an additional level. This level is likely to be the final level for this stage of development, as this game was developed for a university project.
Menus
Main Menu
The main menu screen that appears when the player first begins
The menu is fairly simplistic, and the font introduced is "Almendra", which may be found here, and its license here.
For the backgrounds, I decided to use simple tilesets of fake scenes in the same style as the game, with varying levels of zoom to fit each menu.
The Start button takes the player straight to the first level, with default settings, on the Normal difficulty. If these settings are first changed in the Settings menu, they remain through use of a singleton object that is persistent throughout all scenes of the game, including menus and levels, unlike GameManager, which only exists in the game levels. This was a minor problem when introducing non-game levels, but the fix was simply to check for an instance of the Player in the onSceneLoaded event exposed by the SceneManager.
Because the game may be started before the player goes to the first level via "Start", the settings manager is instantiated as soon as the player opens the game.
Level Select
The level select menu
The Level Select menu was made through trial and error, with a few variations being tried before this one was settled on. Level Select screens can be quite varied in games, and while level previews would be nice, I'm definitely not an artist, and strongly prefer the programming side of development, and I would have spent far too long on finding assets that fit a theme I liked for menus. However, by using doors here, I think the menu is nice enough for my purposes.
This menu shows the first mention of the Time Trial mode, which is discussed below.
Settings
The settings screen, with a fake player character there for flavour
The settings screen exposes 3 settings, and one button to change between presets. The options available for Respawn Amount are None, Low, Default, and High.
The difficulty button allows the player to choose a difficulty level without customising each setting individually. When settings are chosen this way, the difficulty chosen is shown in the upper right corner in game. If they're customised such that they don't match any difficulty, the word "Custom" replaces this spot in game.
The difficulty presets are as follows:
- Easy:
- Respawn Amount: High
- Stunning: Off
- High Speed Death: Off
- Normal:
- Respawn Amount: Default
- Stunning: On
- High Speed Death: Off
- Hard:
- Respawn Amount: Low
- Stunning: On
- High Speed Death: On
Note that the respawn amount "None" never appears here; it may only be selected by the player manually. This setting is also utilised for the Time Trial mode.
Time Trial
Time trial is a mode that attempts to encourage speed runs of individual levels. When selected via the Level Select menu, the player is taken to a specific level, and they may attempt the level under specific conditions, outlined below.
Timer
For the purposes of Time Trials, a timer was implemented that appears in the upper left of the player's screen. However, this timer is not limited to the Time Trial mode; it also appears in Play mode (the default), but does not freeze when the level is completed, instead resetting for the next level.
This timer is freezable via a public singleton boolean, and it's current time is editable externally the same way. External accesses of the timer are as follows:
- When the player dies, the timer freezes until the player respawns. This is to prevent the player feeling punished for dying beyond the time delay of being sent back in the level, as it felt harsh to keep timing when the player has no control over what's happening.
- The timer also freezes when dialog appears and locks the player's movement. Not all dialog does this, but when it does, it feels unfair to keep timing for the reasons stated above.
- The timer is reset if the player dies, and they have not yet achieved any checkpoints. This is to avoid the player feeling like the need to reload the entire level, being punished for dying even though they're starting at the same place as the start of the level. This only occurs on the first checkpoint; beyond that, it simply freezes until they respawn, when it restarts from the same time.
Gameplay
When in Time Trial mode, settings are overridden; the game is locked to Hard, but instead of showing Hard in the upper right corner, "Time Trial" is shown instead. In addition to the Hard settings, checkpoints are entirely disabled (set to None). This means a speed run must be from start to finish without any errors.
When the player reaches the end of the stage, instead of moving to the next level, an end message will appear to allow the player to see their time for that level, before pressing Escape to return to the main menu.
Additionally, all dialog triggers are disabled while in Time Trial mode. While the timer does freeze during dialog, it would not be conducive to speed running to be interrupted.
The player after completing a speed run of stage 4.
For anyone who likes a challenge; here are my personal best times for all 5 levels. Send me a screenshot if you beat any! I'd love to see how fast they can be done.
Level 1) 33.01 seconds
Level 2) 20.79 seconds
Level 3) 37.17 seconds
Level 4) 17.15 seconds
Level 5) 47.23 seconds
Feedback
There was very little feedback this week due to a busy schedule.
Level 5 is the bane of my existence rn but i'm loving it
This is exactly what I hoped the game would become; challenging, but fun the whole way through. I wasn't sure about level 5 as the start can be a bit tricky if you're not sure what you're doing, but this confirms that it's still fun.
Get Magic Is Hard
Magic Is Hard
You're a wizard! But it turns out casting spells isn't so easy. Magic Is Hard.
Status | In development |
Author | J Weber |
Genre | Platformer |
Tags | Difficult, Fantasy, Flight, Funny, Magic, Singleplayer, Wizards |
More posts
- Axes & SpikeballsJan 21, 2021
- Crossbows, Boulders, & UI UpdatesJan 19, 2021
- Lights, Lava, & LevelsDec 11, 2020
- DocumentationOct 15, 2020
- User GuideOct 15, 2020
- Game TestingOct 06, 2020
- Moving Traps & Graphical FixesSep 24, 2020
- Dialog & Level IterationSep 18, 2020
- Levels, Mechanics, and IterationSep 09, 2020
Leave a comment
Log in with itch.io to leave a comment.