Accessibility - how we've made settings
Thought it would be a good idea to repost this, as the jam is ending ☻
Most game jam games don't have things like: options or remappable input. Sometimes they are just using the default settings in the game engine, but most of the time there is nothing. I understand for like webGL to not have resolution settings, but it still sucks for some folks with different keyboards that may not work for every game. That's why in this project we used a demo version of qASIC (my tools that I hope on releasing soon) to compensate for that.

Settings
Yes, we have them. In unity. As with every demo, things didn't want to work, but they are fixed now. I've created my own scripts (took like 5 minutes) for swapping between options by pressing on them. This will probably be added to qASIC in the future, but for now I had to do it on my own. Most people will probably just copy the settings from the example scene and call it a day, but I couldn't get them to look good in time.

Small microscopic problem. The options didn't work. I mean they did, but not 100%. You couldn't select the last option. What that means is that: you can't set the native size, or set framerate cap to 240! When we realized that, we've updated the itch page to help users fix this, by using another tool which I will talk about more soon

Also, the specific option system works that you add fe. a slider controller to a slider and fill out the name of the option. Say goodbye to long confusing walls of option scripts.

Remappable buttons
Our keyboards are different. This is why it's so frustrating when some buttons don't work the same for everyone. In our game you can change the buttons however you want. Well, on the jam version every time you loaded a scene they were being reset, but that's fixed now. We just had to add one component to be called on awake and load our key preferences and that was it. User preferences also get saved, so you don't have to remap them every time you boot up the game. We just had to use the input system in qASIC (that's using the legacy input system, that will change one day) and call GetAxis("Up", "Down") instead of the unity one.

Later we added a remappable console button, since not all people have the back quote button and I wanted to show of some little cheats.

Audio
Normally in jams I write my own custom audio manager that uses tags and other things. Luckily as qASICs job is to have "quick basics" there was already one built in. It also could change different parameters and save them. So, all I had to do was to add a component to a slider and assign the parameter name. Just like that, I was done.

Console
In the beginning I mentioned, how our settings were broken and we had to fix them. Instead of having players play the game in 480p, we left a note on how to change that using the console. The in game console is one of the first features ever added to qASIC and it's solid. It's easy to add commands, customize colors and configurations. It also has some built in commands. One of them is changeoption, which was used, before we could update the game.

Excluding accessibility the console was used rather a lot during this jam. We only added one command: noclip, but later for some screenshots we've added: ai, interact, speed, while for testing we used aidebug. Noclip has proven to be one of the most fun commands for players, when they realized there was a console. It was also used for screenshots, fall damage testing and even AI at some point.

I cannot stress how useful these tools are and how quickly you can debug things. People still don't believe me that "a console is useful" or that "it suits a small game". One of the biggest praises we got was that we've added a dev map, where you could explore different testing places, or fly around, or even try to break the game.

I don't think we could have finished our game without qASIC, so if you are interested, please try to use it now and wait for the official demo release, which will hopefully happen soon.

Btw: here's our game, but I think it's already to late for that ☻