Today’s devlog is all about the keyboard. Why? Because it has been a key part of our development all this time. From the very start, the keyboard gave us issues and we’ve been trying really hard to get it all fixed.
We’re going to show some of the tricks we’ve used to solve these issues and the solutions that we came up with!
Issues with keyboards
There are tons of issues with keyboards, although the most known one are the different layouts of keyboards that exist. This makes it hard to come up with good key definitions that work well for all layouts.
Another one, and this one becomes more important later on, is that the quality of your keyboard actually matters to be able to play a game. Several keyboards have different input/reaction intervals and sometimes you can’t press multiple keys at the same time. - We’ll discuss this in a later stage.
Why are there so many keyboard layouts?!? - You may wonder why, but the answer is actually very simple. It depends on the language of the people using the keyboard.
For example; In Germany, the AZERTY keyboard (where the Q and A switch place, aswell as the W and Z), is set up this way because German words rely more on A and Z and therefore are more in reach, compared to other keyboards.
This applies to other languages to, especially when languages have variants of letters that are used very often, such as æ, ö, ß, etc. - In these cases, keys are often switched out to contain these letters, which (in some situations) drastically changes the layout.
So… how do we solve this problem with keyboard layouts? The way many games do this, is by allowing keybindings. You can easily hop into a keybindings menu and simply adjust your keys to wherever you want them to be! - It’s a simple and clean solution that allows any layout to participate.
However, that won’t work for us…
Limited key presses
Remember at the start where we mentioned how the quality of the keyboard matters? This is directly in conflict with the custom keybindings.
Our game requires you to push multiple buttons at the same time; Up to four at once, actually! However, not all keyboards allow you to do this… with all button combinations.
It’s pretty common for a keyboard to allow WASD to be pressed simultaneously, often extending a bit outwards to allow ASDF and sometimes even ZXC. This depends on your keyboard and the price range of that keyboard. The more expensive the circuit board under your keys, the more key inputs it can process at once and sent to the computer.
But how do we solve this?
If we would allow everyone to pick their own keyset, they would probably run into trouble when getting to a part of the song where multiple keypresses are required; Only for it to not respond. - This would be frustrating and annoying, as you cannot know which combinations work beforehand and thus not adjust your keys properly.
But we can do this for you!
We’ve built a system into our options menu, which allows you to pick a certain keyboard layout and combine it with a "template". These templates will adjust your keys based on your layout and make sure that one of the combinations is bound to work on yours.
For example: We both own a QWERTY-layout ourselves, which allows Shift, A, S, D & Space to be pressed at the same time, however, we can’t use the Shift, Z, X, C, Space layout, which is more common to work for AZERTY-layouts.
The templates also work for both left-handed and right-handed people. There are a couple of templates with the mouse on the left side, and some with the mouse on the right side, allowing players to pick the one they like best, without having to mess up their setup (moving things around, etc.)
Besides this, we added some extra confirmation where the player must press allkeys to start the song. You can test your layout in the options menu by pressing the keys, but in case you forgot, you won’t be able to actually start the song, meaning you’ll never get halfway into the song, only for you to not be able to play any further.
Alright! That’s all we have to say for today. We hope you had some great insights today into the keyboard and perhaps learned a thing or two about it (we didn’t know about those simultaneous key presses not being allowed when we started!).
Have a great day and we’ll catch you all later!