Note from Cal: Hi! I know this page is really long but i'd encourage you to atleast skim the entire thing, a lot of effort went into this project and I believe it shows! <3
Splat! is a third person gravity based game where you fall through a series of increasingly complex levels, trying to reach the end without going Splat!
Developed for PC, Splat! is the second game I have released to Steam, with part-time development beginning at the start of November and finishing/releasing in Mid-January, this game was developed with a very short turnaround.
The game was developed with Unreal Engine 5.2.1 (later upgraded to 5.3.2) and uses my CommonUI Menu Pack developed for the purpose of saving myself time in future projects. All assets in the game (aside from sound effects and music) were created by myself soley for use in this game.
A lot of effort was put into making sure the UI for the game was as good as it could be. To accomplish this I used Unreal's built-in "Common UI" plugin for the first time.
All menus are activatable widgets, using custom animated buttons as well as some additional effects (pulsing text, etc.)
I can't quite describe how much pride I take in Splat's main menu, it is by far my favourite interface I've designed. Not only does it have a exciting dynamic background featuring both Playable characters in animated scenarios, it opens with a unique, eye catching sequence that lets you know the tone of the game immediately.
The Main Menu changes depending on whether or not you have completed a level, if you have then you will have Level Select unlocked and avaialbe, if you haven't then the button will not appear. Clicking the "Play" button from the main menu will lead you directly into the map following the map you last completed.
the Level Select menu itself features a scrolling interface, with buttons for each level being dynamically added once you complete them, when hovering over a level button in the menu a Stats pop up screen will appear next to it showing you your best time and the amount of times you failed during that run.
Splat! Opening Sequence
Click To Open
Main Menu
Click To Open
Level Select
Click To Open
Pause
Click To Open
Quit when on the Title Screen
Click To Open
Quit when in Game
Click To Open
Level Completed Interface
Click To Open
Level Failed Interface
Quitting the game from within or without the Main Menu will yeild different results, if you are not in the main menu a "Quit to Title" button will appear alongside the "Quit to Desktop" button, if you are in the Main Menu then this button will not appear, a similar function adds or removes the scrolling egg background from menus depending on whether or not you are in the Main Menu.
Click To Open
Gameplay HUD & Countdown Timer
Click To Open
1st Tutorial
Click To Open
2nd Tutorial
Click To Open
3rd Tutorial
Click To Open
4th Tutorial
Click To Open
Controls Pop Up
Click To Open
Controls Pop Up (Controller)
Settings such as quality, resolution and volume are not only stored in the GameUserSettings ini file but also have an additional Save Game class, which overrides the GameUserSettings to ensure that the user's chosen settings do not change unless the user changes them, this also serves as a backup in case the game crashes during settings changes (changes are only saved AFTER the user confirms them.)
Changing Resolution or Screen Mode (Fullscreen, Windowed, Borderless Windowed) are the most common problem points when changing settings, as such a timeout confirmation screen appears after these settings have been altered, where the user only has a set amount of time to confirm the settings before the revert, giving a much needed safety net to these settings.
Click To Open
Options
Click To Open
Choosing Resolution
Click To Open
Confirming Resolution/Window Mode Changes
Click To Open
Windowed Fullscreen Disables Resolution
Click To Open
Quality Settings
Click To Open
Allows for Custom Settings
Click To Open
Clear saves button added in Patch
When iterating between resolutions, all other options buttons are disabled (due to them saving settings changes when clicked.)
A lesser known fact about changing Screenmodes in Unreal is that selecting Windowed Fullscreen automatically sets the screen resolution to your monitors native size, overridng any changes youve made to the resolution. Rather than try and work around this I made the decision to disable the resolution button whilst in Windowed Fullscreen mode, this makes it clear to the user that the resolution can no longer be changed.
Whilst Unreal does have a built in volume slider, this does not behave in the same way the CommonUI buttons work, for instance whilst CommonUI buttons can change colour and size by simple Hover/UnHover events, I had to tie multiple different events such as On Mouse Capture (Begin/End), On Controller Capture (Begin/End), and On Added/Removed from Focus Path to create my own Hover/Unhover events for the slider, I also manually set focus when hovered to ensure that the controller is positioned on the correct item should the player switch to it.
PATCH v1.1 CHANGE: Following Splat!'s Steam Release, a user reported a bug that they ultimately solved themselves by clearing saves, after I patched this bug with the help of their feedback, I realised that the game did not have an option to Clear Saves within the game itself, I rectified this by including a "Clear Saves" button in the options menu.