The original way to change keybinds and control settings for AquaNimble were cumbersome. You had to set them up, one-by-one. Since this was a pain, a few months ago, I had a system where when you first start the game, it asks you for a control scheme. Well setting up one control scheme is useless if you had to go back in and change everything from a keyboard to a controller or if you had multiple players. People would just assume since player 1 had a controller setup, then player 2 had a fine controller setup as well. You still had to update each control one-by-one.
The New Preset System
Today I have made a new control configuration that lets you make preset controls that will allow any player to setup a controller or keyboard in a quick fashion. The keyboard and controller presets are different, so you can pick one or the other, without having to set each and every control. This should expedite things for multi player as well since now players no longer have to have player 1 holding controller 1.
There are 4 presets for each control method, but more than that, there are 2 default settings for the keyboard and one for the controller. Adding a visible default into the presets was a task, since I had rigged the preset system close knit and universal. If I had added only one keyboard default it would have been easier, but people like to have WSAD while some prefer keys although I have found 2 arrow keys + space bar + something else will disable one of the two arrow keys. Its quite the interesting limitation to most keyboards.
Like always, there are checks to ensure that no controls are duplicated. Any duplicates show up in red. This was easier to do with the new system, since it doesn’t cross over with the other control schemes, these are all presets and individual. The system prevents you from saving or switching presets when you have an error or duplicate button. With that in mind it frees up so much screen space having only one to edit at a time.
Remade Pause System
I had to remake the system that calls the pause menu. It was a bit dated already, but because you can adjust the presets in the pause menu, the pause menu needs to determine which player paused the game. This system works, but it should be a bit more descriptive, such as which player paused and why only that player can resume the game or cycle through menu options. The original pause system was far too long and now that I’ve been programming the game 14 months, my skills have come a long way.
Possible New Game Mode?
While making this happen, I stumbled across a way to test four players by myself. With a single player, controlling all four vessels with one controller to simulate having four players. To my surprise, the game kept running smooth. I had always expected the game to grind to a halt when there’s that much chaos and bullets going on. I could probably make a game mode out of one player controlling all four vessels.
In terms of a time frame, this remake of the keybindings control settings has taken around eight hours. The previous system took days or a week and its perhaps the second time that I’ve remade the system in general. At least I’m getting more efficient at it.
With the quick presets, new vessel selection system, controller and keyboard selection, it should speed up the process and make it more inviting for multiplayer.