[HN Gopher] Hostile Volume - A game about adjusting volume with ...
___________________________________________________________________
Hostile Volume - A game about adjusting volume with intentionally
bad UI
Author : Velocifyer
Score : 66 points
Date : 2026-03-14 18:39 UTC (4 hours ago)
(HTM) web link (hostilevolume.com)
(TXT) w3m dump (hostilevolume.com)
| Findecanor wrote:
| I have encountered the rate-limited spinner (#8) and the self-
| resizing slider (#5) in real desktop UIs.
|
| #3 are almost like Google Maps' zooming buttons. They jump around
| more, making you click on the map itself or swap in/out.
| jupin wrote:
| Laughed out loud but gave up at level 5
| Retr0id wrote:
| There are two types of volume slider I've encountered thus far,
| "too logarithmic", and "not logarithmic enough".
| embedding-shape wrote:
| That's because one ear is logarithmic-based and the other is
| exponential-based. Which one differs per person.
| JulianWasTaken wrote:
| Do you have a source, that seems unlikely at face value to
| me, though I've never gone and looked for perception studies
| myself.
| KolmogorovComp wrote:
| It's satire.
| JulianWasTaken wrote:
| Always hard to tell.
| graypegg wrote:
| I think they're joking, this is on a thread about silly
| volume control UX
| ErroneousBosh wrote:
| It's actually possible to turn a linear pot into an
| approximation of a log pot by wiring a resistor in parallel
| with the wiper and one end. The volume pot is a voltage divider
| so the amount it "scales" by is given by Scale = Rbottom /
| (Rtop + Rbottom).
|
| But, if you put a resistor in parallel, you need to work out
| that:
|
| R = 1 / ((1 / R1) + (1 / R2)) or Rbottom = 1 / ((1 / Rbottom) +
| (1 / Rfixed)) where Rfixed is the amount you're "bending" it
| by.
|
| So you could make the amount of "logness" be adjustable by
| having another (linear) control to vary Rfixed.
|
| You'd work out, for a pot rotation Vol from 0 to 1:
|
| Rbottom = 1 / ((1 / Vol) + (1 / Rfixed)) Rtop = 1 - Vol Scale =
| Rbottom / (Rbottom + Rtop)
|
| Now for those better at arithmetic than me, how can you reverse
| this? Imagine you've got a pot in a piece of equipment with a
| resistor between the wiper and ground giving a log curve, and
| you've got to read that with an ADC and turn it back into the
| linear position of the wiper.
|
| It ought to be possible but I've always sucked at arithmetic.
| dsmason321 wrote:
| Level 17 is NOT bugged. The slider is backward and the volume
| nonresponsive. Its a planned feature.
| apublicfrog wrote:
| Yes, this took me a very long time to work out.
| tobr wrote:
| Meanwhile, iPhone is still using this design
| https://xkcd.com/1884/
| jimkleiber wrote:
| Got an error on Level 17, just a heads up.
|
| Love the game, btw.
| dsmason321 wrote:
| Its intentional. Glad you like it!
| chaps wrote:
| Yeah, I took that to mean to refresh the game and so I did....
| and then lost my progress :(. I really want to play the rest
| but I don't want to go through the rest of the levels.
| tenderfault wrote:
| that's not an error
| TheLNL wrote:
| Finished the game. It was fun to play. I got stuck for a while on
| the opposite level where the display doesn't update, but was able
| to go through the rest just fine
| macromagnon wrote:
| I could tell in edge that right side was muted based on the
| icon next to the address bar and noticed you could use arrows
| to move one by one so just pressed left 25 times.
| apublicfrog wrote:
| Much harder on a mobile device!
| xnx wrote:
| The worst volume control UI in the world (2017):
| https://news.ycombinator.com/item?id=27819384
| graypegg wrote:
| This is not an issue at all, but when ever I come across
| something like it, I like to poke at the frontend in dev tools a
| bit. You can pass most levels with `setVolume(25)` in the web
| console, since that function is just sitting in the document
| object. That feels like the ultimate volume UI puzzle heh.
| dsmason321 wrote:
| I'll have to patch that!
| wizzwizz4 wrote:
| I had to use it for #19, since YouTube doesn't load on my
| machine. Patching it would make the game unplayable past
| level 19.
| diacritical wrote:
| Please don't. The game was fun, but level 22 didn't work on
| Tor Browser due to CORS errors. At first I thought the
| "NETWORK ERROR. TRY AGAIN" was part of the game until I saw
| the actual network tab. I wouldn't have made it past level 22
| if not for the console command. Plus, if someone wants to
| cheat, why not?
| DrSiemer wrote:
| Plenty of annoyance in here for sure. Looks like 17 cannot be
| finished on mobile though. Switching to desktop view resets
| progress.
| dsmason321 wrote:
| It works fine on mobile. Planned feature. You'll encounter the
| same offscreen popup on desktop.
| RRRA wrote:
| Not sure how on desktop either, I've inspected the value and
| set it to 25 to no avail :P
|
| edit: ok... somehow my approach didn't work the first time, but
| got to 18!
| apublicfrog wrote:
| Look where the slider sits initially at 75%, not the same as
| earlier levels ;)
| jonathanlydall wrote:
| My favourite bad volume control was in Real Player around 1997
| where changing the volume in the application actually changed the
| global volume of Windows.
| whycome wrote:
| That was a hardware/software thing as far as I remember. If it
| was using something like DirectSound it would adjust the audio
| independently. Other media players did the same thing.
| anyfoo wrote:
| I feel like that was super common. Apart from changing the
| volumes of entire _channels_ (e.g. changing the level of Line
| In vs. digital sound), volume was a relatively "global" thing.
|
| And I'm not sure if that was still the case in 1997, but most
| likely changing the volume of digital sound meant the CPU
| having to process the samples in realtime. Now on one hand,
| that's probably dwarfed by what the CPU had to do for
| decompressing the video. On the other hand, if you're already
| starved for CPU time...
| Waterluvian wrote:
| I was so confused by the CD drives of that era. They all had a
| volume wheel and a headphone jack, but never once did I
| experience those working. The audio CDs were always "owned" by
| the OS, which piped the audio through the normal channels out
| my speakers or the PC headphone jack.
|
| I imagine the existence of those means that CD drives had their
| own DAC and other logic. I guess there was an idea of wanting
| to play CD audio without it being a PC concern? Or on PCs
| without audio capability?
| wizzwizz4 wrote:
| Did you ever try using the drive with the computer switched
| off?
| kibibu wrote:
| They absolutely had a DAC. The earlier commercial CD-ROM
| drives used an internal audio cable connected to a dedicated
| input on the sound card pcb for cd-audio. It was years before
| audio players used digital audio streams.
| Zardoz84 wrote:
| I remember my father powering one of these old cd ROM drives,
| without a computer and using it to play music CDs using these
| jack connecter
| spicyjpeg wrote:
| Almost all IDE and SCSI CD-ROM drives were indeed capable of
| playing audio CDs fully autonomously, with the host PC
| basically only sending them the command to start playing;
| many drives took it one step further and provided a play
| button in addition to the usual eject button, which worked
| even if the drive wasn't plugged at all into a machine. The
| audio was typically output both to the front panel headphone
| jack and to a 4-pin connector on the back of the drive, which
| you were supposed to connect to one of your sound card's aux
| inputs so that it would get mixed into the system audio
| output.
|
| Unfortunately, a decent number of machines were not fitted
| with the relevant cable. Combined with the low-quality DACs
| that most drives used, the compatibility issues that plagued
| ATAPI implementations and the dramatic increase in CPU power
| and sound card quality throughout the mid-to-late 90s, this
| led media player software to quickly move on from drive based
| playback to so-called "digital audio extraction", where the
| CD is basically ripped in real time and streamed to your
| sound card's own DAC. Thus, unless you played older games
| that relied on hardware CD-DA playback [1], it's somewhat
| unlikely you ever experienced it under, say, Windows 98 or
| XP.
|
| [1] As offloading playback to the drive had no CPU overhead,
| games often stored their music as additional tracks on the
| game disc and played it that way. Incidentally, basically all
| CD-ROM-based game consoles and arcade systems relied heavily
| on hardware accelerated playback as well, with some going
| even further and allowing for _compressed_ (ADPCM) CD audio
| streaming with no CPU intervention.
| darknavi wrote:
| It's funny because Microsoft Teams does this today, in 2026.
| Insanity wrote:
| Happy I never had to use Teams so far. Only heard bad things
| about it lol.
| danjl wrote:
| ...and, of course, there's really no need for a volume control in
| any app, since there's already a system volume...
| f1shy wrote:
| There are cases where you want to have 2 applications running
| and playing sound, and want to set the relative volume of
| each...
| XorNot wrote:
| I mean technically that is a system level feature...and
| there's nothing really wrong with an application adjusting
| it's own volume as defined by a system level volume setting
| _for that app_.
| Pipe94 wrote:
| somehow i'm amazed and annoyed at the same time
| wild_pointer wrote:
| Hilarious, some of them are easy with the keyboard
| LoganDark wrote:
| These mostly seem to be variations of "takes a long time / is
| tedious" rather than "annoying/fiddly / takes skill / is
| creatively bad", which is a little disappointing.
| pimlottc wrote:
| This works for almost all levels: for (i = 0; i
| < 50; i++) { document.querySelector("#l3-down").click(); }
| burgerone wrote:
| Prwtty neat. Unfortunately wasn't able to solve the UI desync one
| :/
| cue_the_strings wrote:
| It's inverted, 100 == 0, 75 == 25
| mdx97 wrote:
| Level 27 is not possible.
| apublicfrog wrote:
| Great fun, well done to the horrible person who made it.
| Apparently my RSS reader leaves the browswr live in the
| background, as the audio is still playing. Horrible to do on a
| mobile device. Worst level by far was 17.
___________________________________________________________________
(page generated 2026-03-14 23:00 UTC)