Author Topic: Blind Players  (Read 46190 times)

0 Members and 2 Guests are viewing this topic.

Offline Calypso

  • Administrator
  • Full Member
  • *****
  • Posts: 133
    • View Profile
    • Email
Blind Players
« on: September 15, 2013, 10:27:33 am »
We have enough blind players  8) to justify changing some things around to make it fair for them. Anything that relies on color as an indicator should be changed. For instance, instead of having a colored tier bar in front of a mob, we can use T4 or |||| as an indicator. And instead of the skills/spells being in green to indicate which ones a player can train, just use a *. 

Can you think of anything else like this?
I get my energy from my Inner G.

Offline Bane

  • Coder
  • Full Member
  • *
  • Posts: 197
    • View Profile
    • Email
Re: Blind Players
« Reply #1 on: September 16, 2013, 10:04:46 pm »
Has anyone actually taken the time to talk to the blind players?

Calypso does have a point, Someone should take some time to chat with one of our blind players and see what annoys them on here or what suggestions they may have that would make the game better for them to play.

I know at least in mushclient you can do quite a few things with texts in colors, If its something we cant add to the code its something that could be whipped up as a plugin for mushclient. I have a full plate of things I need to do on here so I wont say Ill take on the project but id be willing to help anyone who would take on this task if its under lua.

But I will add there has been one player I never knew was blind for a very long time and was quite in shock when I found out the news on how far he managed to get into this game. I believe this has actually been brought up in another post, or least something Molly has brought up somewhere here on the forums to make the mud more friendly to our blind players.
« Last Edit: September 16, 2013, 10:21:07 pm by Bane »

Offline Molly

  • Administrator
  • Hero Member
  • *****
  • Posts: 691
    • View Profile
Re: Blind Players
« Reply #2 on: September 17, 2013, 02:12:13 am »
Some of the blind players have actually contacted the staff and told about problems, and we've made some fixes already.

The tier symbols havn't been fixed yet however, and I really hope some coder will do that soon.
Do you hear me, Coders? ???

One of the main problems is of course ascii art, which comes out as gibberish.
We don't have much of that in 4D, just a few rooms in the Mediterranean Sea, and I don't think these are a problem.
One particular problem mentioned was however the archeology quest in Carthage Bay, where the shards you collect are represented as ascii pictures that you are supposed to puzzle together, so we made some additions there. I believe what I did was to add info about the number of pieces to each item, and each set of shards also has a different feel desc, so you can identify what item the pieces belong to).

The only other places where I know that ascii art is used are the Worth and Gold commands, but I think they can read the text part on those regardless. At least to my knowledge nobody has complained about those so far.

But talking to the blind players and finding out what else we can do is a good idea. Perhaps someone could ask them about the worth and gold commands.



Offline Bane

  • Coder
  • Full Member
  • *
  • Posts: 197
    • View Profile
    • Email
Re: Blind Players
« Reply #3 on: September 17, 2013, 09:49:43 am »
Do we have any suggestion as to what we want the tier symbol to be?

Offline Calypso

  • Administrator
  • Full Member
  • *****
  • Posts: 133
    • View Profile
    • Email
Re: Blind Players
« Reply #4 on: September 17, 2013, 10:04:18 am »
Well it could be one tier bar for each tier. Or we could simply add T# in front of it. Otherwise perhaps use a symbol to indicate certain tiers. I.E. v for T1, < for T2, ^ for T3, and > for T4.
I get my energy from my Inner G.

Offline Bane

  • Coder
  • Full Member
  • *
  • Posts: 197
    • View Profile
    • Email
Re: Blind Players
« Reply #5 on: September 17, 2013, 11:31:10 am »
Well it could be one tier bar for each tier. Or we could simply add T# in front of it. Otherwise perhaps use a symbol to indicate certain tiers. I.E. v for T1, < for T2, ^ for T3, and > for T4.

My initial thought myself was using the T symbol but the problem with that is we already use [T] for trainers. I dont think Id really like the idea of having ||||| to represent a tier 4 mob. Im not really sure how that would sound over a screen reader. Seems long to me, This is where we need some input from the players who will benefit from this.

I took a look over the code it doesnt seem a big challenge to do. I think if we start adding things for blind players we need to have a option under character creation also that blind players can select that will toggle a the handicap options in game for them.

As far as the gold display and such if we have a blind toggle we can just have it list out the gold rather than use the graphic ASCII. ex

Gold Carried 1,200,000
Gold In Bank 5,000,000
Total Gold 6,200,000
Gold Tokens 1
Silver Tokens 2
Bronze Tokens 3
Brass Tokens 1


personal note I wont be doing any coding as of now as much as I want to dwell into our code and start tinkering with things I have a long over due promise I need to finish first on here and thats going to be my primary focus on this game for now.
« Last Edit: September 17, 2013, 11:36:52 am by Bane »

Offline Calypso

  • Administrator
  • Full Member
  • *****
  • Posts: 133
    • View Profile
    • Email
Re: Blind Players
« Reply #6 on: September 23, 2013, 07:00:15 am »
Has anyone done anything? At least fix the skills available indicator. That's a simple fix. Just put a star next to the ones that are available instead of or in addition to it being green. That one seems to be a bigger problem run into more frequently.

I love the idea of having a toggle for screen readers.
I get my energy from my Inner G.

Offline Calypso

  • Administrator
  • Full Member
  • *****
  • Posts: 133
    • View Profile
    • Email
Re: Blind Players
« Reply #7 on: September 23, 2013, 08:22:17 am »
These are the things I have gathered so far.

-Brief mode skips too many important things. Definitely want to see each room just don't want to read the same thing over and over again. Is there a way to make it so that players can skip through room descriptions that are repetitive, like in mazes?

Personally, I would suggest using brief mode and typing look if you want to see something, but the complaint is that brief mode would skip the important items too, not just the unwanted stuff.

-  Put the mobs and objects before room desc.

- Convert the [#####--] max 600 to  80% used, or 480 used out of 600- on containers.
- Convert all spells and skills percentage used indicators to a number rather a [####---]

- Remove the ascii art from score, worth, and gold. 

- Maybe make a stats command where you can just see:
 STR: 22/30    INT: 22   WIS: 18   CON: 22   DEX: 22   CHA: 35

- The login and menu screens are super spammy. Can we remove the art and move the ABOUT info to a menu option?

I get my energy from my Inner G.

Offline Kvetch

  • Administrator
  • Hero Member
  • *****
  • Posts: 729
    • View Profile
    • Email
Re: Blind Players
« Reply #8 on: September 23, 2013, 11:59:28 am »
In response to the brief command, that's the chance ANYONE - blind or not - takes when they use brief.  Should we make it reveal MORE information just because it's annoying to have to walk through a maze that has mostly the same description?  Even I find that tedious, but there is usually a reason for such mazes.

As for the log in ascii art, I'd hate to lose the almost only picture 4dimensions has that's been around for longer than I have.

I believe the credits on the log in screen have to remain there via the diku/circlemud credit rules - though anything related specifically to our mud could possibly be moved.  It seems outdated by a few years anyway.

As for the rest, it would require a coder to do and they all seem to either not care enough or are too busy. 

Offline Calypso

  • Administrator
  • Full Member
  • *****
  • Posts: 133
    • View Profile
    • Email
Re: Blind Players
« Reply #9 on: September 23, 2013, 12:49:28 pm »
Let me offer this motivation. There is a group of visually impaired folks that were going to start their own mud but lack the funding and time it takes to do so. They are all planning to come invade 4D partially due to the assurance I made that we are looking into making some changes and wish to have their input.

I agree about not wanting to lose a lot of stuff like the art. What I am suggesting is more a toggle option than a mud-wide conversion.

I tend to agree with you about the brief command. There doesn't seem to be much we can do about that barring we put bright neon signs up saying :QUEST HINT- THE ITEM YOU NEED IS RIGHT HERE: and of course that would take the fun out of the game.

I hear what you are saying about time constraints. Is there anyway we can get outside help with this? I know that requires pulling a favor but I am thinking this is a worthy goal. We talk about needing to increase our player base- well here is a group of players who could contribute a lot to our game if we let them, not to mention our small crew of V.I. folks that already call 4D home. And the cause is a worthy one regardless.

Granted, I have the same amount of coding knowledge that a rock would have, but it seems to me that some of these changes aren't that hugely major, like putting the mobs and objects before the room description and switching the [####--] to a number-based indicator, and adding a star in front of the skills that are available rather than depending on color. I make all these suggestions as a toggle rather than a mud-wide conversion.

Molly? Xerxes? Any thoughts?
I get my energy from my Inner G.

Offline Bane

  • Coder
  • Full Member
  • *
  • Posts: 197
    • View Profile
    • Email
Re: Blind Players
« Reply #10 on: September 23, 2013, 03:12:17 pm »
As far as the the skill % thats something we already have in game, it just only shows when our wisdom I think has reached a certain point. So thats a really easy fix.

I think the the best results we can do right now would just setting a toggle to display different scores/gold/practice skills&spells/worth wit no special characters. I would just go straight down a line and list the information.

Still need to come to some conclusion of how to interpret different tiers.

Ill look but I cant promise anything in a timely fashion. For one I cant pull down our latest code down till I speak with Thotter. Not sure If that will affect anything if not.

Nay nay to removing 4d skull.

As far as changing the credits location we can not I found this under the License agreement.

The login sequence must contain the names of the DikuMUD and CircleMUD creators. The 'login sequence' is defined as the text seen by players between the time they connect to the MUD and when they start to play the game itself.

« Last Edit: September 23, 2013, 03:24:42 pm by Bane »

Offline Bane

  • Coder
  • Full Member
  • *
  • Posts: 197
    • View Profile
    • Email
Re: Blind Players
« Reply #11 on: September 23, 2013, 03:41:16 pm »
Also I asked Calypso to gather more information like what type of client they use and what screen reader they use. I know under mushclient i could easily create a plugin to gag alot of the stuff at log in.

Offline Molly

  • Administrator
  • Hero Member
  • *****
  • Posts: 691
    • View Profile
Re: Blind Players
« Reply #12 on: September 23, 2013, 04:37:14 pm »
I am not prepared to remove something that a majority of our players are used to and like, to accomodate a very small minority, however sympathetic I may be to making it easier for blind players. That goes for both the log-in screen and the worth/gold commands. I also don't see the log-in screen as a big problem for blind players, since you only come across that once in each session.

My recommendation would definitely be a toggle, so that you can turn the graphics off if you want to. Toggles are generally good, since they leave a free choice.

The same thing goes for Brief. I don't see any way around that, you either toggle it on or off, and if you toggle it off, you WILL risk missing info. It's a choice you'll have to make. (And it's not like we have that many repetitive descs either, it's usually just in mazes and grids).

The credits to the original Diku teams are obligatory, we'd violate the Circle Licence if we removed them, so that is a big NO.

I'm not sure it's such a great idea to put the mobs and objects before the room desc. Again we have to consider that there is a majority of players who also have preferences, and that there is a reason for things being set up in the order they are now. To me the room desc is usually more important than the mobs. And given the fact that there can sometimes be scores of mobs in the same room, the negative outweighs the positive to me.

Also putting objects before the desc in a room would immediately reveal the fact that there are !display objects in the room, to everybody BUT the blind players, meaning that it would just put them at another disadvantage.

One thing that WOULD be nice is if it could be set up so that several similar mobs would be bunched together on the look, scan and look <direction> commands, in the way that several similar objects are bunched together in the inventory command. So it would say for instance "You see (5) the soldier:  immediately to the west" instead of "you see the soldier, the soldier, the soldier, the soldier, the soldier: immediately to the west".

The other suggestions sound good to me.

Tiers should definitely be displaysd in another way, perhaps t1, t2 etc. to separate it from the [T] for trainer?

Offline lharc

  • Newbie
  • *
  • Posts: 5
    • View Profile
    • Email
Re: Blind Players
« Reply #13 on: October 06, 2013, 02:15:10 am »
I prefer to address any user inclusively by using 'our' rather than 'they'.

If I may think about our current userbase and future userbase more generally in mind, I see following categorization:
* a user who uses a braille display.
* a user who uses an audio converter.
* a user who whishes for a easer/compact english.
* a user who has seen the same room thousand times and whishes more silent output unless something extraordinarly happens in the environment.

Anyway, looking at the tbamud I've added a BRAILLE and AUDIO option to preferences. For now the option is toggable, and survives a server-restart  :P
Patch:
Code: [Select]
Date:   Sun Oct 6 09:02:09 2013 +0200

    braille/audio toggle

diff --git a/src/act.h b/src/act.h
index 7ec7f94..dd70496 100644
--- a/src/act.h
+++ b/src/act.h
@@ -226,6 +226,8 @@ ACMD(do_gen_tog);
 #define SCMD_WIMPY       30
 #define SCMD_PAGELENGTH  31
 #define SCMD_SCREENWIDTH 32
+#define SCMD_AUDIO       33
+#define SCMD_BRAILLE     34
 
 /* do_quit */
 ACMD(do_quit);
diff --git a/src/act.informative.c b/src/act.informative.c
index 6a4c15d..2da81cc 100644
--- a/src/act.informative.c
+++ b/src/act.informative.c
@@ -1843,6 +1843,12 @@ ACMD(do_toggle)
     {"compact", PRF_COMPACT, 0,
     "Compact mode off.\r\n",
     "Compact mode on.\r\n"},
+    {"audio", PRF_AUDIO, 0,
+    "Audio mode off.\r\n",
+    "Audio mode on.\r\n"},
+    {"braille", PRF_BRAILLE, 0,
+    "Braille mode off.\r\n",
+    "Braille mode on.\r\n"},
     {"notell", PRF_NOTELL, 0,
     "You can now hear tells.\r\n",
     "You are now deaf to tells.\r\n"},
diff --git a/src/act.other.c b/src/act.other.c
index a579ac0..447498e 100644
--- a/src/act.other.c
+++ b/src/act.other.c
@@ -670,8 +670,9 @@ ACMD(do_gen_tog)
     "Nohassle enabled.\r\n"},
     {"Brief mode off.\r\n",
     "Brief mode on.\r\n"},
-    {"Compact mode off.\r\n",
-    "Compact mode on.\r\n"},
+    {"Compact mode off.\r\n", "Compact mode on.\r\n"},
+    {"Braille mode off.\r\n", "Braille mode on.\r\n"},
+    {"Audio mode off.\r\n", "Audio mode on.\r\n"},
     {"You can now hear tells.\r\n",
     "You are now deaf to tells.\r\n"},
     {"You can now hear auctions.\r\n",
@@ -738,6 +739,12 @@ ACMD(do_gen_tog)
   case SCMD_COMPACT:
     result = PRF_TOG_CHK(ch, PRF_COMPACT);
     break;
+  case SCMD_BRAILLE:
+    result = PRF_TOG_CHK(ch, PRF_BRAILLE);
+    break;
+  case SCMD_AUDIO:
+    result = PRF_TOG_CHK(ch, PRF_AUDIO);
+    break;
   case SCMD_NOTELL:
     result = PRF_TOG_CHK(ch, PRF_NOTELL);
     break;
diff --git a/src/interpreter.c b/src/interpreter.c
index 248f7bb..7339357 100644
--- a/src/interpreter.c
+++ b/src/interpreter.c
@@ -123,6 +123,9 @@ cpp_extern const struct command_info cmd_info[] = {
   { "consider" , "con"     , POS_RESTING , do_consider , 0, 0 },
   { "commands" , "com"     , POS_DEAD    , do_commands , 0, SCMD_COMMANDS },
   { "compact"  , "comp"    , POS_DEAD    , do_gen_tog  , 0, SCMD_COMPACT },
+  { "braille"  , "braille" , POS_DEAD    , do_gen_tog  , 0, SCMD_BRAILLE },
+  { "audio"  ,   "audio"   , POS_DEAD    , do_gen_tog  , 0, SCMD_AUDIO   },
+
   { "copyover" , "copyover", POS_DEAD    , do_copyover , LVL_GRGOD, 0 },
   { "credits"  , "cred"    , POS_DEAD    , do_gen_ps   , 0, SCMD_CREDITS },
 
diff --git a/src/prefedit.c b/src/prefedit.c
index 64cb894..e99c7fb 100644
--- a/src/prefedit.c
+++ b/src/prefedit.c
@@ -243,7 +243,8 @@ static void prefedit_disp_toggles_menu(struct descriptor_data *d)
   send_to_char(d->character, "\r\n"
                              "%sOther Flags\r\n"
                              "%sF%s) No Summon    %s[%s%3s%s]      %sH%s) Brief    %s[%s%3s%s]\r\n"
-                             "%sG%s) No Repeat    %s[%s%3s%s]      %sI%s) Compact  %s[%s%3s%s]\r\n",
+                             "%sG%s) No Repeat    %s[%s%3s%s]      %sI%s) Compact  %s[%s%3s%s]\r\n"
+                             "%sY%s) Audio        %s[%s%3s%s]      %sZ%s) Braille  %s[%s%3s%s]\r\n",
              CBWHT(d->character, C_NRM),
 /* Line 10 - nosummon and brief */
              CBYEL(d->character, C_NRM), CCNRM(d->character, C_NRM), CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM),
@@ -252,7 +253,11 @@ static void prefedit_disp_toggles_menu(struct descriptor_data *d)
 /* Line 11 - norepeat and compact */
              CBYEL(d->character, C_NRM), CCNRM(d->character, C_NRM), CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM),
              ONOFF(PREFEDIT_FLAGGED(PRF_NOREPEAT)), CCCYN(d->character, C_NRM), CBYEL(d->character, C_NRM), CCNRM(d->character, C_NRM),
-             CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM), ONOFF(PREFEDIT_FLAGGED(PRF_COMPACT)), CCCYN(d->character, C_NRM)
+             CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM), ONOFF(PREFEDIT_FLAGGED(PRF_COMPACT)), CCCYN(d->character, C_NRM),
+/* Line 12 - audio and braille */
+             CBYEL(d->character, C_NRM), CCNRM(d->character, C_NRM), CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM),
+             ONOFF(PREFEDIT_FLAGGED(PRF_AUDIO   )), CCCYN(d->character, C_NRM), CBYEL(d->character, C_NRM), CCNRM(d->character, C_NRM),
+             CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM), ONOFF(PREFEDIT_FLAGGED(PRF_BRAILLE)), CCCYN(d->character, C_NRM)
              );
 
   /* The bottom section of the toggles menu */
@@ -264,19 +269,19 @@ static void prefedit_disp_toggles_menu(struct descriptor_data *d)
                              "%sP%s) UTF-8        %s[%s%3s%s]      %sR%s) MSP      %s[%s%3s%s]\r\n"
                              "\r\n",
              CBWHT(d->character, C_NRM),
-/* Line 12 - 256 and mxp */
+/* Line 13 - 256 and mxp */
              CBYEL(d->character, C_NRM), CCNRM(d->character, C_NRM), CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM),
              ONOFF(d->pProtocol->pVariables[eMSDP_XTERM_256_COLORS]->ValueInt), CCCYN(d->character, C_NRM), CBYEL(d->character, C_NRM), CCNRM(d->character, C_NRM),
              CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM), ONOFF(d->pProtocol->pVariables[eMSDP_MXP]->ValueInt), CCCYN(d->character, C_NRM),
-/* Line 13 - ansi and msdp */
+/* Line 14 - ansi and msdp */
              CBYEL(d->character, C_NRM), CCNRM(d->character, C_NRM), CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM),
              ONOFF(d->pProtocol->pVariables[eMSDP_ANSI_COLORS]->ValueInt), CCCYN(d->character, C_NRM), CBYEL(d->character, C_NRM), CCNRM(d->character, C_NRM),
              CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM), ONOFF(d->pProtocol->bMSDP), CCCYN(d->character, C_NRM),
-/* Line 14 - charset and atcp */
+/* Line 15 - charset and atcp */
              CBYEL(d->character, C_NRM), CCNRM(d->character, C_NRM), CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM),
              ONOFF(d->pProtocol->bCHARSET), CCCYN(d->character, C_NRM), CBYEL(d->character, C_NRM), CCNRM(d->character, C_NRM),
              CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM), ONOFF(d->pProtocol->bATCP), CCCYN(d->character, C_NRM),
-/* Line 15 - utf-8 and msp */
+/* Line 16 - utf-8 and msp */
              CBYEL(d->character, C_NRM), CCNRM(d->character, C_NRM), CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM),
              ONOFF(d->pProtocol->pVariables[eMSDP_UTF_8]->ValueInt), CCCYN(d->character, C_NRM), CBYEL(d->character, C_NRM), CCNRM(d->character, C_NRM),
              CCCYN(d->character, C_NRM), CCYEL(d->character, C_NRM), ONOFF(d->pProtocol->bMSP), CCCYN(d->character, C_NRM)
@@ -624,6 +629,14 @@ void prefedit_parse(struct descriptor_data * d, char *arg)
       case 'I':
         TOGGLE_BIT_AR(PREFEDIT_GET_FLAGS, PRF_COMPACT);
         break;
+      case 'z':
+      case 'Z':
+        TOGGLE_BIT_AR(PREFEDIT_GET_FLAGS, PRF_BRAILLE);
+        break;
+      case 'y':
+      case 'Y':
+        TOGGLE_BIT_AR(PREFEDIT_GET_FLAGS, PRF_AUDIO);
+        break;
         
       case 'j':
       case 'J':
@@ -755,6 +768,12 @@ void prefedit_Restore_Defaults(struct descriptor_data *d)
   /* PRF_COMPACT    - Off */
   if (PREFEDIT_FLAGGED(PRF_COMPACT))
      REMOVE_BIT_AR(PREFEDIT_GET_FLAGS, PRF_COMPACT);
+  /* PRF_AUDIO      - Off */
+  if (PREFEDIT_FLAGGED(PRF_AUDIO))
+     REMOVE_BIT_AR(PREFEDIT_GET_FLAGS, PRF_AUDIO);
+  /* PRF_BRAILLE    - Off */
+  if (PREFEDIT_FLAGGED(PRF_BRAILLE))
+     REMOVE_BIT_AR(PREFEDIT_GET_FLAGS, PRF_BRAILLE);
 
   /* PRF_NOSHOUT       - Off */
   if (PREFEDIT_FLAGGED(PRF_NOSHOUT))
diff --git a/src/structs.h b/src/structs.h
index 758652b..6a9ce0d 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -272,8 +272,10 @@
 #define PRF_AUTOMAP      31   /**< Show map at the side of room descs */
 #define PRF_AUTOKEY      32   /**< Automatically unlock locked doors when opening */
 #define PRF_AUTODOOR     33   /**< Use the next available door */
+#define PRF_AUDIO        34   /**< Text through audio */
+#define PRF_BRAILLE      35   /**< Text through braille display */
 /** Total number of available PRF flags */
-#define NUM_PRF_FLAGS    34
+#define NUM_PRF_FLAGS    36
 
 /* Affect bits: used in char_data.char_specials.saved.affected_by */
 /* WARNING: In the world files, NEVER set the bits marked "R" ("Reserved") */



Offline Molly

  • Administrator
  • Hero Member
  • *****
  • Posts: 691
    • View Profile
Re: Blind Players
« Reply #14 on: October 07, 2013, 11:54:16 am »
Excellent idea.

I'm not a coder myself, but we do have several, although not very active.

But hopefully one of them will find the time to implement this.

Then we can announce it on the Mud sites, and hopefully get some new inflow.