Please add volume controls.
This is actually two requests: volume controls for the PICO-8 native apps, and volume controls for the web player (exported and BBS). BBS games in particular are always at full volume, and I rely on web media players to give me a volume setting I can adjust on a per-player basis.
Windows has an app-specific volume mixer built-in, yes. I wouldn't be surprised if some flavors of Linux include one, though I've never seen one. macOS, I'm 99% sure, does not have app-specific volume mixing built in. I know of a third-party app but have never used it.
I don't think I'm unusual in keeping my browser media players at a middle volume when possible e.g. YouTube, which remembers the YouTube-specific volume setting for new players. Web videos are mastered inconsistently and a middle volume just for YouTube prevents a loud video from being too loud and gives me headroom to turn up a quiet video. Most web-based music players seem to start at a middle volume by default for this reason. In contrast, the PICO-8 web player plays at full volume only.
If browsers are at middle volume then I need other apps to also have some kind of volume control. Music apps tend to have built-in volume controls. I'm not sure what to say about native games' default behavior. Many games have volume sliders buried in settings, but I rarely have a game that starts too loud, and I don't know if that's because they're middle by default or just have a standard definition of loud. I wonder if there are published best practices for initial volume level in native apps.
For what it's worth, I'm not sure PICO-8 developers use volume consistently either. Picking a bunch at random from my downloads folder, I'm seeing maximum volumes ranging from 5 to 7 (actual max is 7). Ones that use a lot of 7s are obnoxiously loud with my usual master volume settings.
I know it's an inadequate workaround that only works for the native apps, but there are config.txt settings you could modify:
sound_volume 256 // 0..256 music_volume 256 // 0..256 volume 256
I assume that's for sfx() calls, music() calls, and a master volume.
I agree that it would be very good to have these values adjustable by the player in some way, maybe through a "SYSTEM" or "SYSTEM OPTIONS" submenu off of the pause menu. This would be consistent with what we see on most consoles.
Such a submenu could be useful for setting other config.txt options, like joystick_index or button_keys to configure controller layouts/simulation. If it were me, I'd also add some stuff for when it's in a kiosk environment and people don't see the "bios" screen at boot, like an option that says "ABOUT PICO-8" or "SYSTEM INFORMATION", with software version and such. It's always good to give the player something to be curious about. :)
[Please log in to post a comment]