Flame Sword: Blog #13: Key Rebinds and Menus

It has been a dull week in terms of having flashy new things to show. The artist has worked out a mock up of a more finalized look for the menu:

So before replacing the original menu, I may as well show it off with key rebinds!

I have made quite a few games now with key rebinds and it’s always a few hour process. In this case, four hours. There’s all sorts of logistics that go into it, such as preventing the player from key doubling (Q cannot be both attack and jump!) along with the annoyance of key codes vs text. Luckily with this project and previous projects, I allowed for variables that hold keys, this saves a lot of time when setting up key rebinding to a 3 month old project. To prevent accidental key rebinds, I force the player to hold a key for half a second. There is also no way to back out of setting a key. That’s a whole new bag of worms if you let a player out of a change key via back button or push escape. What if someone wants escape to be the key? What if there’s a menu item? So at least for the moment there is no way to go back. You can always set the key to the same key.

In previous games, I allowed the player to double bind keys, but the player was forced to stay in the menu until that was fixed. The problem with that is what happens if a player binds Q to the up key and the down key? There are all sorts of ways to soft lock the player into being unable to proceed, so it’s best to refuse a double key. I personally find it a bit annoying to be refused a key.


While I’m here, I should add that it’s good to have dual keys for one thing. Such as to move left, have A or the left arrow key. Not everyone wants the same configurations and it’s nice to have variety. If a person feels more at home with their right hand controlling the movement or their left hand controlling the movement. It should be mentioned that German keyboards tend to have Y and Z transposed, so it could be best to avoid Z X and keep it X C for the default if not Z and Y X. Some people argue P is the best pause, while others say it’s escape. This is of course if you don’t have key binds or a game that requires an entire keyboard of hot keys. I still recommend a controller for most action games or platformers, but not everyone has a controller.


Since this is a title screen menu without an actual title screen, a few weeks ago, I added the background silhouettes to add something special. Other than that, the pause menu adds a Gaussian blur to the game. You can see a lot of color and movement in this generic menu. It’s a video game, people should see movement. Hence the video. Screenshots will always look subtly different. Players can tell there’s something going on and the game isn’t frozen.


In the photo above, you can also see that there is a default controls option if anyone needs it, and it’s always best to warn a player they’re about to do anything drastic such as deleting a file, exiting a level, or reset things. You can also see the little warning make an appearance at the bottom. Not so much a warning as a notification. It’s very subtle as it fits in with the notification system such as you’ve taken a screenshot. Since there is white text already at the base of the existing menu, a semitransparent background was added, but it probably needs to be less transparent to truly hide the white beneath. Perhaps a true warning would be front and center and in this case it should be more prominent, so that’s a detail to be added at a later time. Warnings and notifications can be two different things.


Watching your own material is good for noticing what it’s missing. In this instance, I can see there’s a need for visual feedback that the player is pushing a key and how long the player needs to hold that key before it’s locked in. the warning should be brought front and center. There needs to be key indications for the bottom of the menu rather than empty boxes. Oh and the .gif compression seems to drop a few frames as it’s not as lively outside of .mp4 or playing the game, but I can’t post the .mp4s here.

I like this default menu too much to let it go, so I’m sealing it off to keep the code and in the future, once something better is added, it will be replaced.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s