My Experience Playing BGA Totally Blind

Discussions about BGA (all languages)
Forum rules
Warning: challenging a moderation in Forum = 10 days ban
More info & details about how to challenge a moderation: viewtopic.php?p=119756
Caplin
Posts: 8
Joined: 15 July 2021, 23:08

Re: My Experience Playing BGA Totally Blind

Post by Caplin »

One more thing I just remembered, and why I like RFTG, is that headings are useful to separate parts of the game. I appreciate being able to easily distinguish between my tableau, my hand, my opponent's cards, etc.

That's not to say it's perfect, there are some things like selection status of cards which could be conveyed to the screen reader, but it's far more comprehensible than many other offerings I've tried thus far.
Caplin
Posts: 8
Joined: 15 July 2021, 23:08

Re: My Experience Playing BGA Totally Blind

Post by Caplin »

APologies for the double post. I just got to wondering what sorts of scripting might be possible to improve the accessibility of individual games?

I know that probably skirts a line and I have no desire to cheat. I am aware of tools which would permit the creation of user-genearted scripts, but don't know much beyond that they exist. I hope they might at least make it possible to put names on icons for some games, and so on.

Just a thought :)
pjt33
Posts: 248
Joined: 05 April 2020, 15:35

Re: My Experience Playing BGA Totally Blind

Post by pjt33 »

Caplin wrote: 21 October 2023, 10:52 The more info which can be communicated in screen-reader-accessible text without having to move the mouse from place to place, the better. I'd love to play, say, Catan or Agricola but it's tricky right now because the board(s) are kind of black holes.
Catan seems like it would be very difficult. Your mental model needs to include the terrain and number on each hex, the roads on the edges of the hex, and the villages and cities on the corners. Would you want the hexes labelled with all that information and hotkeys to select the adjacent hex in each direction?

(To be clear, I'm not the developer and am just asking from curiosity).

With respect to your question about user customisation, there is half-hearted support for user CSS in profile, settings, advanced. I use it to improve the graphics on a few games I play, but you might be able to use it to label icons if your screen reader handles ::before or ::after selectors.
User avatar
Sjarmtrollet
Posts: 86
Joined: 02 July 2023, 00:45

Re: My Experience Playing BGA Totally Blind

Post by Sjarmtrollet »

pjt33 wrote: 22 October 2023, 07:44 Would you want the hexes labelled with all that information and hotkeys to select the adjacent hex in each direction?
If we could just navigate the whole board with the keyboard, that would be really cool....
User avatar
Mathew5000
Posts: 661
Joined: 02 January 2021, 01:41

Re: My Experience Playing BGA Totally Blind

Post by Mathew5000 »

pjt33 wrote: 22 October 2023, 07:44
Caplin wrote: 21 October 2023, 10:52 The more info which can be communicated in screen-reader-accessible text without having to move the mouse from place to place, the better. I'd love to play, say, Catan or Agricola but it's tricky right now because the board(s) are kind of black holes.
Catan seems like it would be very difficult. Your mental model needs to include the terrain and number on each hex, the roads on the edges of the hex, and the villages and cities on the corners. Would you want the hexes labelled with all that information and hotkeys to select the adjacent hex in each direction?
One suggestion I made for Catan, more than a year ago, is more detailed information in the game log, such as saying the exact location where roads and settlements are built (rather than merely, "the player built a settlement"). I was not thinking of accessibility issues in making this suggestion. Link: https://boardgamearena.com/bug?id=67462
Caplin
Posts: 8
Joined: 15 July 2021, 23:08

Re: My Experience Playing BGA Totally Blind

Post by Caplin »

Yeah. The game log in general is super useful, but I guess that's one more thing which is subject to the whims of game developers.

I do wonder how a lot of the game state is stored internally. Surely there's some kind of representation of the board or other info, depending.
User avatar
RicardoRix
Posts: 2540
Joined: 29 April 2012, 23:43

Re: My Experience Playing BGA Totally Blind

Post by RicardoRix »

Caplin wrote: 28 October 2023, 04:44 I do wonder how a lot of the game state is stored internally. Surely there's some kind of representation of the board or other info, depending.
When the web page loads, all the data from the server is in a variable called this.gameui.gamedatas
for instance this.gameui.gamedatas.players is an array of all the players at the table.
this.gameui.gamedatas.gamestate.name will be the name given to the current game state.
These 2 examples are true for all games. But each game will also have it's own uniquely named data specific to the game itself. Mainly somewhere though is the all of the game tokens, where they are, how many, their state, etc.

Afterwards during the game it gets a bit more complicated with data passed in notifications, but at most times refreshing the page (F5) you will get an update of everything in this.gameui.gamedatas. My guess is that it's impossible for you to get to notification data in any way, but this is the way the game state gets updated after some user interaction.

If you're using chrome browser, you can open the developer console using F12 and type in this.gameui.gamedatas.gamestate.name
I just did this in Century Spice Road, the command returns: playerTurnAction

To save typing, you can make a little short cut: g = this.gameui.gamedatas;
and now you can type g.gamestate.name;
hopefully that makes sense.
User avatar
robinzig
Posts: 459
Joined: 11 February 2021, 18:23

Re: My Experience Playing BGA Totally Blind

Post by robinzig »

RicardoRix wrote: 29 February 2024, 21:46
Caplin wrote: 28 October 2023, 04:44 I do wonder how a lot of the game state is stored internally. Surely there's some kind of representation of the board or other info, depending.
When the web page loads, all the data from the server is in a variable called this.gameui.gamedatas
for instance this.gameui.gamedatas.players is an array of all the players at the table.
this.gameui.gamedatas.gamestate.name will be the name given to the current game state.
These 2 examples are true for all games. But each game will also have it's own uniquely named data specific to the game itself. Mainly somewhere though is the all of the game tokens, where they are, how many, their state, etc.

Afterwards during the game it gets a bit more complicated with data passed in notifications, but at most times refreshing the page (F5) you will get an update of everything in this.gameui.gamedatas. My guess is that it's impossible for you to get to notification data in any way, but this is the way the game state gets updated after some user interaction.

If you're using chrome browser, you can open the developer console using F12 and type in this.gameui.gamedatas.gamestate.name
I just did this in Century Spice Road, the command returns: playerTurnAction

To save typing, you can make a little short cut: g = this.gameui.gamedatas;
and now you can type g.gamestate.name;
hopefully that makes sense.
FWIW there's no need for

Code: Select all

this
in any of that:

Code: Select all

gameui
is a global variable so

Code: Select all

gameui.gamedatas
is enough. (It works with

Code: Select all

this.
before it simply because in random expressions put in the console,

Code: Select all

this
will reference the global

Code: Select all

window
object, on which all global variables are stored.

(In terms of the point of this thread - I don't think it's reasonable to ask blind players, who are likely not developers and may have no familiarity with Javascript, to access this often very complex and deeply-nested object in the Javascript console and figure out from that what might be going on in the game. But I guess it's certainly better than nothing!)
User avatar
RicardoRix
Posts: 2540
Joined: 29 April 2012, 23:43

Re: My Experience Playing BGA Totally Blind

Post by RicardoRix »

robinzig wrote: 01 March 2024, 01:25 (In terms of the point of this thread - I don't think it's reasonable to ask blind players, who are likely not developers and may have no familiarity with Javascript, to access this often very complex and deeply-nested object in the Javascript console and figure out from that what might be going on in the game. But I guess it's certainly better than nothing!)
Please read the quote I used from them, and don't infer things. They asked for an insight. I just provided that. You have to start somewhere.
I am not expecting anything from them. They can take it or leave it. No harm, no foul.

If he can navigate BGA games without sight, which already seems mind-boggling to me, it would seem feasible that they can use the F12 console. Perhaps it's far more user friendly with it's simplicity over noise, but I wouldn't really know. Hopefully we'll find out.
Caplin
Posts: 8
Joined: 15 July 2021, 23:08

Re: My Experience Playing BGA Totally Blind

Post by Caplin »

I had almost forgotten about this thread :)

Since making my last post here I've discovered a couple more games which are mostly playable, but the vast majority are still kind of opaque. It's purely a matter of UI, and a bit of unfamiliarity with the physical board(s), in some cases.

Thanks for the javascript insight. I'm not entirely sure how useful it'll be but perhaps I can explore a bit.

I've noticed that a lot of the games do log actions in a form I can read even without doing any code diving, though it obviously varies.

Another common thing I've noticed is a tendency to use CSS background images (?) fortooltips etc. So it'll say something like "Gain 3," but the specific resource is represented by an icon. Understandable but still a little annoying. Some are a lot better about this than others.

Ironically, despite all its problems BGA is definitely the friendliest platform for online gaming I've yet come across.
Post Reply

Return to “Discussions”