alt.hn

3/14/2026 at 6:39:10 PM

Hostile Volume – A game about adjusting volume with intentionally bad UI

https://hostilevolume.com/

by Velocifyer

3/14/2026 at 8:13:27 PM

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.

by jonathanlydall

3/14/2026 at 9:17:15 PM

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?

by Waterluvian

3/14/2026 at 10:03:53 PM

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.

by spicyjpeg

3/14/2026 at 9:51:33 PM

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.

by kibibu

3/14/2026 at 9:22:40 PM

Did you ever try using the drive with the computer switched off?

by wizzwizz4

3/15/2026 at 5:44:33 PM

When a computer crashed, cd audio continued to play. My PC just kept playing trough a hard reset/reboot, in fact. It would only stop playing when DOS booted far enough that it loaded mscdex, a step I could skip with a startup menu. I've always wondered why it managed to survive a reset pulse on the wire.

by hyperman1

3/14/2026 at 10:01:01 PM

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

by Zardoz84

3/14/2026 at 9:52:27 PM

It's funny because Microsoft Teams does this today, in 2026.

by darknavi

3/15/2026 at 8:23:15 AM

I almost didn't believe this, but I just tested and you're absolutely right.

I've never noticed because I use a Steel Series headset which presents as two output sound devices to Windows, the idea being that you can independently control the volume of your "game" and your "chat" application. Turns out it's useful for Teams as well.

by jonathanlydall

3/15/2026 at 12:23:13 PM

Good solution that works is setting up something like voicemeeter, passing audio through a virtual device and then muting it in vb panel

by arnitdo

3/15/2026 at 11:36:56 PM

Until you invariably end up dealing with sampling rate disparities and other bugs that lead you to hear crackling or make you sound like a robot.

by malnourish

3/14/2026 at 10:15:31 PM

Happy I never had to use Teams so far. Only heard bad things about it lol.

by Insanity

3/14/2026 at 11:22:35 PM

Then you knowall there is to say about it.

by drfloyd51

3/15/2026 at 12:58:04 PM

I'm writing this, rather than use teams.

by Ylpertnodi

3/14/2026 at 8:39:35 PM

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…

by anyfoo

3/15/2026 at 8:29:04 AM

I mentioned this in another thread now, but it was definitely noteworthy to me that it did this since I was used to other programs not doing so, for example Winamp, I would also have thought Windows' Media Player did not do this, but I can't remember for certain.

by jonathanlydall

3/16/2026 at 8:36:28 AM

Winamp had a software equalizer with a preamp, which was noteworthy. Are you sure changing the volume did not mean changing the preamp level in Winamp?

If you turned off the preamp (could be directly done in the EQ window I think), what did the volume control actually do?

by anyfoo

3/16/2026 at 9:01:29 AM

Maybe we're not understanding each other correctly here.

It's 30 years ago now, but my recollection is that Winamp did not change Windows' global volume.

I am less certain, but I thought Windows' own Media Player similarly also did not change Windows' global volume.

What I definitely recall correctly is being surprised that Real Player would change the Windows' global volume and this would not have been so noteworthy to me unless it was unusual compared to other applications I typically used.

by jonathanlydall

3/14/2026 at 8:33:47 PM

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.

by whycome

3/15/2026 at 8:27:50 AM

It was definitely noteworthy that it did this since I was used to other programs not doing so, for example Winamp, I would also have thought Windows' Media Player did not do this, but I can't remember for certain.

by jonathanlydall

3/14/2026 at 11:50:09 PM

I often write small userscripts to neutralise hostile or annoying UI patterns. I played the 'Hostile Volume' game for a while. Nice game! After a while, I wondered: if this were a real hostile website, could I write a userscript to make each level happy? Here is the script:

  // ==UserScript==
  // @name  Hostile Volume Winner
  // @match https://hostilevolume.com/
  // ==/UserScript==
  (function () {
    const s = document.createElement('script')
    s.textContent = `
      (function () {
        function visible (id) {
          return !document.getElementById(id).classList.contains('hidden')
        }
        function win () {
          if (visible('victory-screen')) return
          if (visible('instructions-modal')) {
            document.getElementById('start-btn').click()
            setTimeout(win, 2000)
            return
          }
          setTimeout(function () {
            document.getElementById('l13-age-input').value = '01011970'
            window.cancelAnimationFrame(levels[currentLevelIndex].frame)
          }, 100)
          window.setVolume(25)
          setTimeout(win, 3500)
        }
        win()
      })()
    `
    document.body.appendChild(s)
  })()
If you don't have a userscript manager, you can just copy the script between the two backticks and paste it to the web browser's Developer Tools console.

by susam

3/14/2026 at 7:43:43 PM

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.

by graypegg

3/14/2026 at 7:55:31 PM

I'll have to patch that!

by dsmason321

3/14/2026 at 10:29:05 PM

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?

by diacritical

3/14/2026 at 9:23:49 PM

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.

by wizzwizz4

3/14/2026 at 7:14:05 PM

Level 17 is NOT bugged. The slider is backward and the volume nonresponsive. Its a planned feature.

by dsmason321

3/15/2026 at 1:55:14 AM

I still like to pretend that everyone played flash games growing up

by washadjeffmad

3/14/2026 at 10:40:14 PM

Yes, this took me a very long time to work out.

by apublicfrog

3/14/2026 at 7:11:34 PM

There are two types of volume slider I've encountered thus far, "too logarithmic", and "not logarithmic enough".

by Retr0id

3/14/2026 at 7:38:50 PM

That's because one ear is logarithmic-based and the other is exponential-based. Which one differs per person.

by embedding-shape

3/14/2026 at 7:43:44 PM

Do you have a source, that seems unlikely at face value to me, though I've never gone and looked for perception studies myself.

by JulianWasTaken

3/14/2026 at 7:50:04 PM

I think they're joking, this is on a thread about silly volume control UX

by graypegg

3/14/2026 at 7:48:55 PM

It’s satire.

by KolmogorovComp

3/14/2026 at 7:51:49 PM

Always hard to tell.

by JulianWasTaken

3/14/2026 at 10:25:15 PM

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.

by ErroneousBosh

3/15/2026 at 12:55:00 AM

I am familiar with this game. I play a variant of it on iOS everyday, sometimes multiple times a day, with my AirPods and iPhone. I'm not very good though. Somehow iOS always wins and finds a hostile volume to initiate playback with regardless of what I do with the UI.

by ua709

3/15/2026 at 11:26:43 AM

iOS is great! I especially like how they tied the "alarm through speakers" volume to the "notifications through earbuds" volume so that you can choose between "loud enough to wake you up in the morning and also burst your ear drums when you receive a notification with earbuds in" and "quiet enough to make notifications comfortable and also not wake you up in the morning". Truly genius parody of hostile UX.

by mort96

3/15/2026 at 12:41:16 PM

Their audio router (if any) needs a rewrite

by ikekkdcjkfke

3/15/2026 at 12:57:36 PM

I particularly love how they will periodically choose to only use the selected Bluetooth device for audio output, and will instead switch back to the builtin microphone. The builtin microphone may be in my pocket or across the room, and so the only indication I get is when the person on the other end of the line says that I’ve dropped off.

Nothing changes in the UI to indicate this, nor could I find any setting to change this. Sometimes swapping the audio away from the headset and back to it helps, but it it at best a temporary fix.

by MereInterest

3/14/2026 at 10:21:49 PM

This works for almost all levels:

   for (i = 0; i < 50; i++) { document.querySelector("#l3-down").click(); }

by pimlottc

3/14/2026 at 7:06:45 PM

Laughed out loud but gave up at level 5

by jupin

3/14/2026 at 10:42:46 PM

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.

by apublicfrog

3/15/2026 at 1:06:01 PM

[dead]

by dsmason321

3/14/2026 at 7:40:49 PM

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

by TheLNL

3/14/2026 at 9:01:54 PM

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.

by macromagnon

3/14/2026 at 10:39:59 PM

Much harder on a mobile device!

by apublicfrog

3/15/2026 at 2:24:26 PM

Very interesting idea! Was happy when It was over haha good work!

by ironcow

3/14/2026 at 7:22:17 PM

Got an error on Level 17, just a heads up.

Love the game, btw.

by jimkleiber

3/14/2026 at 9:09:28 PM

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.

by chaps

3/14/2026 at 7:31:52 PM

Its intentional. Glad you like it!

by dsmason321

3/14/2026 at 11:04:47 PM

ok but i manually used arrow keys to set it to by clicking right 25 times, and that didn't work, so i gave up.

by deanCommie

3/14/2026 at 9:16:10 PM

that’s not an error

by tenderfault

3/15/2026 at 9:18:29 AM

Ended on the wheel of misfortune. Ain't nobody got time for dat!

by Culonavirus

3/15/2026 at 7:01:56 PM

It's a bit of misdirection, since you actually have more options than just clicking the button.

by zeknife

3/15/2026 at 12:33:10 PM

level 19, after watching the video a wonderful 4 times it doesnt unlock anything to change the volume. the only saving grace setVolume(25) has been patched :(

by VerifyID

3/14/2026 at 7:03:35 PM

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.

by Findecanor

3/14/2026 at 9:24:07 PM

Hilarious, some of them are easy with the keyboard

by wild_pointer

3/15/2026 at 12:48:55 PM

Unbearable. 9/10

by ahme

3/14/2026 at 10:28:01 PM

Level 27 is not possible.

by mdx97

3/15/2026 at 2:17:33 AM

[dead]

by dsmason321

3/14/2026 at 7:50:21 PM

Plenty of annoyance in here for sure. Looks like 17 cannot be finished on mobile though. Switching to desktop view resets progress.

by DrSiemer

3/14/2026 at 8:30:00 PM

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!

by RRRA

3/14/2026 at 7:55:05 PM

It works fine on mobile. Planned feature. You'll encounter the same offscreen popup on desktop.

by dsmason321

3/14/2026 at 10:41:01 PM

Look where the slider sits initially at 75%, not the same as earlier levels ;)

by apublicfrog

3/14/2026 at 8:49:55 PM

somehow i'm amazed and annoyed at the same time

by Pipe94

3/15/2026 at 5:02:31 PM

What the hell. I got so annoyed at level 5 I had to quit :D But I love the idea. It can actually teach you a lot of things about UI design.

by Leomuck

3/15/2026 at 1:18:38 AM

Im just happy theres someone out there who cares for masochists.

by sourcegrift

3/14/2026 at 10:22:51 PM

Prwtty neat. Unfortunately wasn't able to solve the UI desync one :/

by burgerone

3/14/2026 at 10:36:08 PM

It's inverted, 100 == 0, 75 == 25

by cue_the_strings

3/14/2026 at 9:42:17 PM

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.

by LoganDark

3/14/2026 at 8:31:15 PM

...and, of course, there's really no need for a volume control in any app, since there's already a system volume...

by danjl

3/14/2026 at 8:41:15 PM

There are cases where you want to have 2 applications running and playing sound, and want to set the relative volume of each...

by f1shy

3/15/2026 at 12:44:48 PM

That’s what your system volume app does - each process outputting sound has its own slider and you can mix them at various levels.

by hdgvhicv

3/14/2026 at 9:44:50 PM

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.

by XorNot

3/16/2026 at 8:26:01 AM

Please dont. I do not want to do that much clicking to mute your app. Have own slider and have it easily instantly accessible.

by watwut

3/15/2026 at 5:56:19 PM

14m45s. 1,042 victims before me.

Diabolical villainy in this game

by LocalH

3/15/2026 at 11:50:48 AM

That was terrible. Thank you.

by hsuduebc2

3/15/2026 at 7:43:16 AM

[dead]

by benryanx

3/14/2026 at 7:28:06 PM

[dead]

by Daminoup

3/14/2026 at 7:56:11 PM

[flagged]

by anwar_nairi