Posted September 17, 2021 by bryqu
Phew, implementing the controller support was surely time-consuming! The good news is that it's done. Surely, there will be some changes in the game's UI, but I have all the code/design base to handle both types of input in place, so altering this stuff will be simpler from now on.
Some parts of the UI had to be redesigned to make sure that gamepad navigation makes sense. Man, it's a good thing that I bought that PS4 last year - I had time to play some games and familiarize myself with best practices on implementing gamepad support.
The thing that I wanted to avoid (and I did avoid it) was to display a mouse cursor when using a gamepad and force the player to move the cursor with the gamepad's stick. The navigation should be always focus-based, not pointer-based. The map/mission loadout screen was the biggest challenge, as it had two different focus groups that the player needs to navigate between.
Here's a comparison of how selecting the next mission and distributing supplies works when using a mouse and a gamepad (gifs too big, had to embed a YT video):
Oh, I'm not sure I mentioned that I've also added player profiles recently. Each of them is basically a save slot and stores profile-level achievements (like the number of enemies that have been killed by this profile in total). These will be handy when dealing with character/weapon upgrade unlocks.
There's one more technical task ahead of me that I will be addressing in the nearest weeks, and that is localization support. I can already feel it's gonna be interesting. And challenging as hell, but hey - I'm creating a game here!
Take care everyone, and do join our Discord server - there's lot of interesting discussions happening there recently!