My WIP already has a cheat menu, one I put in for developing purposes as I was going through. You might think “Well then, you’re all set, just leave that in and you’re good to go” but there are a few problems with that:
First: It’s awful. Like I said, it’s for development purposes so it’s just one big
*choice with options like “set flags” that make no sense to anyone who isn’t me.
Second: It’s for me. This is different for the first point because it’s not just that the UI was made to be understood by me, but the cheats only do what I need them to do. Namely:
Set flags: My game has a number of one-off flags for things of the form “did you make X choice because I want to reference it later if so.” The ‘set flags’ choice turns them all to true so I can make sure the special-case code is working. Many of these flags are mutually exclusive, so for a non-developer playing through they’re guaranteed to see things referring to events that never happened.
Randomize Stats: I don’t have a choice to max out stats. I need to make sure my failure paths are working as well as the success paths, so I have a choice to randomize them, so I can be good at some things and bad at others. Also, this option often puts stats at points unachievable through normal gameplay, and has no consistency whatsoever.
Jump to File: Of course non-developers have no idea what my files mean, they’re named significantly for me :). And jumping ahead (or back!) is a sure way to make the narrative go completely off the rails.
So it’s not just an issue of an author having to do extra effort to make a cheat system. For someone like me, it’d be an issue of juggling two cheat systems: One for me and a completely separate one for the player.