<Index> - >DevDiary< - <Characters> - <Lore>
This week, I implemented difficulty levels into SDR.
Honestly, there is not much to say about the difficulty levels that hasn't been already said. The core philosophy behind the difficult levels was based on a short article I read in the mid 00's about the obscenity of difficulty levels in games. Its author ultimately said that games tend to be well-tuned in difficulty up until they go beyond the "Hard" difficulty and become unplayable tedious messes. "If the game has a difficulty level labeled "Hard", play on that. Otherwise, play on the second to last difficulty", he said. While I don't know how applicable this advice is (especially now, over a decade later), it has become my own philosophy as a game creator. As such, Hard Mode is the last "playable" mode in SD2020 and in SDR, whereas Pain Mode is deliberately wacky and lacks the warranty of being beatable.
As of now, all enemies in SDR change their behavior depending on the selected difficulty level. The differences tend to be minor between Fair and Hard, and drastic whenever the game is pushed into Easy or Pain. The high difficulty level does not necessarily prevent the player from beating each individual level: it is very possible to faceroll any level in the game, but the number of lives is still limited. Going through the entire campaign without seeing a single Game Over is expected to be much, much harder on higher difficulty levels than on lower ones. This, I imagine, will encourage the player to keep track of how many levels in a row they can clear without getting hit once.
A showcase of all four difficuly levels.
From the top left, clockwise: Easy, Fair, Pain, Hard.
One funny oversight that I encountered had to do with the Bomb's newly added friendly fire. On Pain Mode, the Bomb creates an explosion when it lands, and initially it resulted in the Bomb commiting suicide. This has been fixed with a restriction that Bombs cannot explode themselves or each other.
Now that the enemy behavior has been fully implemented, I have to port the meta functionality, like starting a level, finishing a level, getting a Game Over, pausing and resuming the game.