Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2

Author Topic: Epilepsy-safe interface options? (For people who can't safely view the blinking)  (Read 5774 times)

gchristopher

  • Bay Watcher
    • View Profile

Hi, can anyone suggest options for the following problem:

A friend would like to play DF, but has a family history of epilepsy and the frequent blinking or alternating strobed characters cause an immediate headache, rendering the game unplayable. Tilesets don't seem to address the issue, as it's a combination of the speed of blinking and the abrupt transition from one image to another on the screen.

I didn't find any mods or tools for this specific problem. Can anyone here suggest something?

I've brainstormed ideas like intercepting SDL calls or finding another way to capture the screen output and adding a fade between frames. Just softening the transition should be enough. That seems to be a moderately intensive programming project, though. Has anyone seen an existing tool that could be used for something like that?

Thanks!
Logged

malvado

  • Bay Watcher
    • View Profile

I have an mild form for epilepsy due to some brain surgery done to me (damn those crazy dwarves) , bascially what's making the game playable for me is mayday or phoenix.
Game is unplayable though in ASCII now sadly :'( , I get some nasty visual "artificats" in real life out of it.
Logged

Funburns

  • Bay Watcher
    • View Profile

Though I don't know for certain if this will help, there is a way to reduce the maximum frequency with which the game's display will update every second. That would reduce the frequency of the blinking quite a bit, though it would also make the game look more like a slideshow proportionately to how low a number is used.

In the init.txt file under Dwarf Fortress's \data\init folder, there is a section that should look like this, as copy-pasted from my copy's file:

Spoiler (click to show/hide)

There are two forms of "FPS" here. The first, [FPS_CAP:100], is actually not the important one, because it caps the maximum speed at which the game will advance time by one step (there are 1200 steps in each dwarven day). The second one, [G_FPS_CAP:50], is the maximum Frames Per Second value that the game's display will update at, regardless of how fast the game time is being calculated.

Changing [G_FPS_CAP:50] to [G_FPS_CAP:1] will cause the game's display to update once every second, though creatures will move faster "behind" that speed (fast ones will appear to jump multiple tiles once per second). One frame per second is very slow, and may be slower than necessary to help your friend, if this does help.

If you use the above method, then you should also change [INTRO:YES] to [INTRO:NO] in the same file, because the intro movie's display speed can't be changed.

Another, more extreme (and possibly less effective), idea would be to change the colors DF uses in the \data\init colors.txt file so that there's less color variation. If I remember correctly, Dwarf Fortress uses only sixteen colors to fill in every ASCII character using the default rendering mode. (Graphics sets may use more colors and are not fully affected by colors.txt.) Changing all of the non-[BLACK:*:*] colors to a uniform shade of light gray would completely eliminate all color changes from any color that isn't black to any color that isn't black. Icons would still change as normal, but their colors wouldn't.

That would remove lots of visual information about objects on screen, but a bit of memorizing and checking with the loo[k], [q]uery and [v]iew commands could make up for that. There would be a few other issues, such as not being able to tell when one menu option was selected. To counter that, evenly spaced shades of gray could be assigned to each color in DF (or only four shades, or eight...). That would be a compromise between the full color and black and white options.

colors.txt changed to have only black and light gray:
Spoiler (click to show/hide)

colors.txt changed to have black, light gray (for all non-grayscale colors), dark gray and white, to help with menu navigation:
Spoiler (click to show/hide)

I hope some of this information may be of use.

htabdoolb

  • Bay Watcher
    • View Profile

I'm not surprised to see this thread at all. One of my first impressions of Dwarf Fortress, when I started playing it, was how terrible all the blinking designations could be for someone with epilepsy. The traffic designations are the worst, in my opinion, especially if you have high traffic(bright green) next to restricted traffic(bright red) on the screen at the same time. Burrows definitions(flashing blue) are headache inducing as well.
Logged

h3lblad3

  • Bay Watcher
    • View Profile

No way, man, the worst are definitely when you set Pasture/Fishing/Meeting zones.  Anything in the 'I' section. GAH! I don't even have epilepsy troubles and it bothers me so much.
Logged
I was talking about importing alimunim.
And we were hypothesising about the sexual relations between elves and trees.

Wayward Device

  • Bay Watcher
  • Has no dealings with the incarnations of gods
    • View Profile

You think that's bad? You have obviously never covered a Z level in gem windows. The blinking is enough to induce brain tumors.
Logged
or maybe Valve goes out of business because they invested too heavily in something which then fails - like, say, human civilization.
Alternatively, initiate strife to refuse additional baked goods, and then abscond.

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile

Actually, the worst was the trader access screen.  I think it's fixed, now, but go load up the old 0.28.181.40d, and check the wagon access screen.  (Don't do this if you actually DO have epilepsy, though, just the people without it.)

It's the same bright green and bright red flashing, except this one was much faster than all the other blinking lights, and cycled about 6-8 times per second, and covered the entire screen.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Miuramir

  • Bay Watcher
    • View Profile

Though I don't know for certain if this will help, there is a way to reduce the maximum frequency with which the game's display will update every second. That would reduce the frequency of the blinking quite a bit, though it would also make the game look more like a slideshow proportionately to how low a number is used.
...

Funburns has already given most of the core info, but some additional thoughts:

* It's probably best to keep FPS_CAP to an integer multiple of G_FPS_CAP.  It may also look better if both are integer multiples or divisors of the monitor refresh rate (usually 60 these days in the US).  Setting VSYNC:YES (or ARB_SYNC:YES if the video card supports it) will help reduce another source of flickering. 

* I'd actually recommend setting FPS:NO so as to *not* have a frame rate counter displayed, as the counter itself flickers pretty seriously. 

* Individual people vary, but it looks like 3 Hz is safe for almost everyone.  G_FPS_CAP:3 and FPS_CAP:60, with VSYNC:YES and FPS:NO would seem to be a good starting point.  If dwarves and critters "teleporting" about is bothersome, reducing the FPS_CAP further (30 or 15) will help, although directly slow down the speed at which the game happens. 

* The ITC / Ofcom guidelines seem to indicate that red saturated 80% or more is a much stronger problem than other colors; depending on details, it might be possible to get significant improvement just by changing the reds to orange or pink.  Other than that, strong luminance changes seem to be stronger problems than most color changes; making all the colors more faded or pastel, in particular making black a dark gray and white a light gray, may help. 

* Traffic designations and trade depot access are likely to be significant problems as currently drawn; while quite useful, it may be wise to avoid those screens. 
Logged

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile

In the init files, you can simply set normal traffic weighting to 1:1:1:1, which is recommended if you aren't going to be seriously optimizing your traffic patterns, anyway.  (And most people don't.)

That way, traffic designations lose all functionality, anyway, and your pathfinding goes faster, anyway.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Baughn

  • Noble Phantasm
  • The Haruhiist
  • Hiss
    • View Profile

In other news, I'm going to implement an epilepsy-safe mode for .04, or at least try my best.

I never considered how the game would look to anyone with epilepsy, and it should be quite doable.
Logged
C++ makes baby Cthulhu weep. Why settle for the lesser horror?

dreiche2

  • Bay Watcher
    • View Profile

I haven't been playing the game in at least a year, but assuming not much has changed visually I can confirm that the blinking can be problematic. I don't have epilepsy (though I do have occasional migraines), but most of the blinking used to annoy me (including hatches (?) and stuff) and the trade depot access screen would actually make me feel nauseous...
Logged

Baughn

  • Noble Phantasm
  • The Haruhiist
  • Hiss
    • View Profile

In your ideal world, what would DF look like?

There's a limit to how much I can change. I could blend temporally adjacent frames, but I'm not convinced motion-blur is the desired effect here.
Logged
C++ makes baby Cthulhu weep. Why settle for the lesser horror?

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile

If we're talking about a hypothetical ideal, use of transparencies would probably be the best way to handle such things. 

You could use an overlay of a solid green or red tile with 30% or 40% opacity to convey the same information as a blinking solid tile does. 

Likewise, blinking in general could be replaced with gradual transitions of a overlayed tile that fades in and out of opacity between 0% and 100% (or less) over a second or so of time. 
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Vherid

  • Bay Watcher
  • [CREATURE:SLARK]
    • View Profile

Theres a few things you can find about how specifically certain things can trigger photo sensitivity, such as the rate of changes in a small amount of time, and certain colors to other colors etc.

But looking around it seems smooth/gradient changes over direct "flicker" changes are much more safe. So some opacity smoothing thing would work I think.

Baughn

  • Noble Phantasm
  • The Haruhiist
  • Hiss
    • View Profile

I'm afraid the result is unlikely to be quite as pretty as it is now (mostly; smooth-scrolling the map might be nice), but I'll see what I can arrange. If it'll avoid triggering epileptic fits, that should be helpful in itself. :)
Logged
C++ makes baby Cthulhu weep. Why settle for the lesser horror?
Pages: [1] 2