2017-05-15 15:54:14

Hi, this is cool indeed, but a slight issue. Replacing some of those words would cause problems in other applications. For instance, now I wouldn't be able to find an OK button in a diolog, or even know I'm in one. I think this is where ARIA steps in gracefully, taking center stage. I am not a developer, especially a web de, but I know many things these days use ARIA to deliver accessible content on the web, my bank's site uses it, my credit agency's site, and amazon to name a few off the top.

But this is cool nonetheless, you're experimenting, and that's gonna lead to cooler stuff in the future, I appreciate your efforts to break us out of the sapi tyrany, tongue. Screen readers can use sapi voices, its true, but NVDA especially has many voices you can download / buy that interface with it directly with out the speech API. This does two things, makes it interrupt well, and reduces latency to the realm of imperceptibility. Oh, and when i say interruptability, I'm referring to how well the voice stops one bit of text and starts with another, the default microsoft sapi voices in windows, well, everything, but especially in windows 10 are bad at this, they will sometimes do it, and sometimes not.

I am not sure whether dictionary entries in NVDA are able to be set to configuration profiles or not, I could make one for firefox, and use that for liberum engine, mainly because I use chrome as my daily driver, but still, some sites work better in firefox, and if say, perhaps I forgot about those dictionary entries, I'd be fumbling around for 15 minutes trying to figure out why one day this one particular site was working, and now its not, smile

Facts with Tom MacDonald, Adam Calhoun, and Dax
End racism
End division
Become united

2017-05-15 17:06:28

Hi Zersiax,

I will look into this. Not sure it will be as simple unfortunately as the only html is the generated index.html file, which doesnt hold any data, but could potentially be done via an ajax call.

Zersiax wrote:

Hi LiamT,

There may be a slightly easier way of doing this, but I would need to see the files and I'm a little swamped right now. Some questions:
- Is the text that the screen reader is to speak present in the DOM?
- If so, consider using a <div> and the aria-live parameter. If not, you , instead of using a dialog, might want to inject the text into a an invisible <div> with aria-live using JavaScript, that way you don't have to worry about alert, dialog etc. being replaced smile

Zersiax

2017-05-15 17:09:32 (edited by liamt 2017-05-15 17:16:37)

Valid points smile wondering if I can make a config file thats exportable to make it easier for those with NVDA. I'll defo keep exploring more options though.

[edit] looks like making an AppModule would be a better move smile that adds app-specific accessibility configuration to a particular application.

ironcross32 wrote:

Hi, this is cool indeed, but a slight issue. Replacing some of those words would cause problems in other applications. For instance, now I wouldn't be able to find an OK button in a diolog, or even know I'm in one. I think this is where ARIA steps in gracefully, taking center stage. I am not a developer, especially a web de, but I know many things these days use ARIA to deliver accessible content on the web, my bank's site uses it, my credit agency's site, and amazon to name a few off the top.

But this is cool nonetheless, you're experimenting, and that's gonna lead to cooler stuff in the future, I appreciate your efforts to break us out of the sapi tyrany, tongue. Screen readers can use sapi voices, its true, but NVDA especially has many voices you can download / buy that interface with it directly with out the speech API. This does two things, makes it interrupt well, and reduces latency to the realm of imperceptibility. Oh, and when i say interruptability, I'm referring to how well the voice stops one bit of text and starts with another, the default microsoft sapi voices in windows, well, everything, but especially in windows 10 are bad at this, they will sometimes do it, and sometimes not.

I am not sure whether dictionary entries in NVDA are able to be set to configuration profiles or not, I could make one for firefox, and use that for liberum engine, mainly because I use chrome as my daily driver, but still, some sites work better in firefox, and if say, perhaps I forgot about those dictionary entries, I'd be fumbling around for 15 minutes trying to figure out why one day this one particular site was working, and now its not, smile

2017-05-15 20:14:27

I cannot get screen reader mode to work at all in either chrome or firefox using NVDA. I also cannot get the voice commands to work, except list voices which only shows one, and that's the one its already using.

Facts with Tom MacDonald, Adam Calhoun, and Dax
End racism
End division
Become united

2017-05-15 20:26:27

reader on

...apologies I should have been more clear the voice commands affect the browser text to speech only, not NVDA (the screen reader voice is entirely controlled by NVDA)

2017-05-15 21:11:11

yeah that's what I typed, reader on, I realize that the voice commands control the browser voice but they're not working. I tried that stuff after turning speech on after reader wasn't working.

Facts with Tom MacDonald, Adam Calhoun, and Dax
End racism
End division
Become united

2017-05-15 23:43:00

OK, now I tried again and it is working, cool. So one thing that keeps happening is that in firefox, it wants to heavily lock down the keyboard, so its hard to get out of, even putting NVDA in browse mode doesn't always work. can we have an edit box on the screen that we can tab to, and review, because also, as you type, you can't review it to see if you made any errors. Also, somehow I keep going back one page, I think sometimes if I hit backspace this will occur if for some reason it wasn't in  focus, I am alt tabbing back and forth bewtween the game engine in firefox, and the PDF manual which I've got loaded in Chroem. But yeah, the nvda is a lot better than the sapi, and I'm glad that's working, it will be even better if we can have it just send text to nvda without those dialog boxes, but i understand this is all new, aand I think accessibility stuff can be tricky.

Facts with Tom MacDonald, Adam Calhoun, and Dax
End racism
End division
Become united

2017-05-16 21:53:25

I had to place NVDA in focus mode to get it to lock to adlengine's keyboard. Did you try this? I will see what I can find out about doing it without a dialog and will look at adding a text entry field. Not sure whether NVDA will be able to get access to it though.

2017-05-17 18:12:25

I'm thinking I will try creating a version that uses a text entry box to see if that helps with screen readers.

2017-05-17 18:59:26

I've never seen it fail to get to something on a page before, it may not always identify what's there, for instance, it may not always read the label associated with a text box, but you usually can get to it. Yes, I did make sure it was in focus mode.

Also, I was trying it today and could not get some commands to work. I was trying to set up a scenario where I could create a table, then break / fix it with custom commands, that part worked. What didn't work is the custom message when examining the table, it refused to change. I also tried to create a glass beaker, then create a situation where if you dropped the beaker, it would smash, and then delete itself, but you get the message like it smashed. I couldn't get that to work either. Also, couldn't get on event stuff to work as far as changing the it worked message when I made the table breakable. But as far as building exits and describing rooms, building objects and stuff, that's all fine, I'm sure its me doing something wrong tongue

As far as a text box, I really do think we need one that is fully reviewable, because if I write a description out for something, then make an error near the end, and not sure what I did, how far back to go, etc. then I have to write it over again. If I make a game on here and provide the file for others to try, I want it to be free of spelling and grammar errors. So, if I'm doing more than a liner description, I'll often times write it in Jart, and spall check it ,and review it before using it. I have done MUD building, and still do, and this one MUD I play lets you build your own stuff like space stations and stuff, and I like to provide a good rooleplay experience, so my descriptions of things tend to be more than one liners. It's hard to force myself to type slow, I'm a fairly fast typist, but not always an accurate one tongue

Anyway, thanks for sticking it out and working to make the engine accessible to us. I have some ideas for when we have the ability to check if you're carrying something, and stuff like that. Maybe even a puzzle where you put together something. Say you have a door, but to open the door, there isn't a lever, knob or switch as usual. Say you have a source of water, you have a small jug that you can fill with water, there is also a contraption there that has a large weight on one end, and a bucket on the other. What you have to do is use the small jug as transfer medium to get water from the water source, and pour it into the bucket, when you do this enough, you balance out the weight on the other end, and start to tip it the other way. When the weight is such that the mechanism can reach the bottom of its travel, the door opens.

Also, maybe a scenario where you find yourself trapped in a room, not unlike the demo scenario, but this time you are kidnapped, the only thing in there is a cot, a sink with paper towel roll over it and stuff. Well, I like open ended puzzles that have more than one solution. So, maybe the first solution is you harvest the cot for its springs. You could use the search command and have it build a spring.obj or something. Or make a custom command, I don't know if you can make prebuilt commands do stuff like that, but either way, it is something that is likely doable. Anyway, when you get a spring, you need to flatten it out, so put some weight on it to uncoil it. Then you need something else to make it a little more rigid, so you rip the paper towel rack down from above the sink, and take the wooden dowel and use the corner of something, or the one end of the spring itself to cut a little furrow in it where you can attach the spring, then you make a little hole with the uncoiled end, sort of drilling it in like an auger, so that you can then take the other end, which still has a few coils, ram it in there, and let the coils fall into the little furrows you carved. Now you have a rudimentary lockpick. You could even maybe have a little lock picking minigame where you guess a number from 1 to 10, you get 3 guesses and you get a hint to whether the number you guessed is higher or lower than the computer generated number. If after 3 attempts, you don't get it, you go back to what you were doing, and there is a chance that you broke the lockpick.

Facts with Tom MacDonald, Adam Calhoun, and Dax
End racism
End division
Become united

2017-05-17 21:08:03 (edited by liamt 2017-05-17 21:22:46)

Ahh I think what you've experienced is a bug I've just noticed with creative mode. It was disabling itself so then some commands aren't registering. Fingers crossed that should be fixed now.

Here's an example of a basic if that drops an object.

if take dirt then drop dirt
on take dirt say the dirt slips through your fingers

build beaker.obj (.obj on end makes it takeable)
if drop beaker then delete beaker and build glass
on drop beaker say whoops
on delete beaker say the beaker smashes on the ground leaving glass everywhere

New version is now available: download version 11504

Some cool ideas you have there, next time I'm on we'll try building a few. I've still to add some form of CHECK functions to allow a command to happen. For example you wouldnt want a custom command for open door be allowed to be used if the door was locked e.g. that's coming next. Bit trickier though so will take a while to get my head round.

Your feedback has been great too, really appreciate it. Helps refine the engine.

ironcross32 wrote:

I've never seen it fail to get to something on a page before, it may not always identify what's there, for instance, it may not always read the label associated with a text box, but you usually can get to it. Yes, I did make sure it was in focus mode.

Also, I was trying it today and could not get some commands to work. I was trying to set up a scenario where I could create a table, then break / fix it with custom commands, that part worked. What didn't work is the custom message when examining the table, it refused to change. I also tried to create a glass beaker, then create a situation where if you dropped the beaker, it would smash, and then delete itself, but you get the message like it smashed. I couldn't get that to work either. Also, couldn't get on event stuff to work as far as changing the it worked message when I made the table breakable. But as far as building exits and describing rooms, building objects and stuff, that's all fine, I'm sure its me doing something wrong tongue

As far as a text box, I really do think we need one that is fully reviewable, because if I write a description out for something, then make an error near the end, and not sure what I did, how far back to go, etc. then I have to write it over again. If I make a game on here and provide the file for others to try, I want it to be free of spelling and grammar errors. So, if I'm doing more than a liner description, I'll often times write it in Jart, and spall check it ,and review it before using it. I have done MUD building, and still do, and this one MUD I play lets you build your own stuff like space stations and stuff, and I like to provide a good rooleplay experience, so my descriptions of things tend to be more than one liners. It's hard to force myself to type slow, I'm a fairly fast typist, but not always an accurate one tongue

Anyway, thanks for sticking it out and working to make the engine accessible to us. I have some ideas for when we have the ability to check if you're carrying something, and stuff like that. Maybe even a puzzle where you put together something. Say you have a door, but to open the door, there isn't a lever, knob or switch as usual. Say you have a source of water, you have a small jug that you can fill with water, there is also a contraption there that has a large weight on one end, and a bucket on the other. What you have to do is use the small jug as transfer medium to get water from the water source, and pour it into the bucket, when you do this enough, you balance out the weight on the other end, and start to tip it the other way. When the weight is such that the mechanism can reach the bottom of its travel, the door opens.

Also, maybe a scenario where you find yourself trapped in a room, not unlike the demo scenario, but this time you are kidnapped, the only thing in there is a cot, a sink with paper towel roll over it and stuff. Well, I like open ended puzzles that have more than one solution. So, maybe the first solution is you harvest the cot for its springs. You could use the search command and have it build a spring.obj or something. Or make a custom command, I don't know if you can make prebuilt commands do stuff like that, but either way, it is something that is likely doable. Anyway, when you get a spring, you need to flatten it out, so put some weight on it to uncoil it. Then you need something else to make it a little more rigid, so you rip the paper towel rack down from above the sink, and take the wooden dowel and use the corner of something, or the one end of the spring itself to cut a little furrow in it where you can attach the spring, then you make a little hole with the uncoiled end, sort of drilling it in like an auger, so that you can then take the other end, which still has a few coils, ram it in there, and let the coils fall into the little furrows you carved. Now you have a rudimentary lockpick. You could even maybe have a little lock picking minigame where you guess a number from 1 to 10, you get 3 guesses and you get a hint to whether the number you guessed is higher or lower than the computer generated number. If after 3 attempts, you don't get it, you go back to what you were doing, and there is a chance that you broke the lockpick.

2017-05-17 22:14:02

Yeah, would be cool to build something together. Nice one fixing that bug.

Facts with Tom MacDonald, Adam Calhoun, and Dax
End racism
End division
Become united

2017-05-20 21:21:21 (edited by liamt 2017-05-20 21:21:51)

New version uploaded: download adlengine v11508

Lots of bug fixes including a better demo file and controls command now works for exits.

i.e. hatch controls u
everything done with the hatch i.e. unlock / lock / close / open is now mirrored onto the direction specified.

Currently working on a Demo video / Promo Video, any advice would be welcomed for making the video more accessible.

I will post the video once I've finished it. smile

2017-05-21 02:13:58

Ah, Looking at the video now, right, for us there is nothing we can use, its all visual, the audio is the typing sounds and the music. In the future, if yo uwant to create videos, do a voice over where yu talk about what is going on on the screen, and comment on what you're doing. Actually, you could try live commentary, and only do voiceovers where needed. I'll try the new stuff.

Facts with Tom MacDonald, Adam Calhoun, and Dax
End racism
End division
Become united

2017-05-21 02:23:38 (edited by liamt 2017-05-21 03:36:56)

I forgot to enable speech synth, doh. I'd literally take forever getting my voice to fit the video big_smile

I'll work on a voice-over and re-upload early next week smile

2017-05-22 01:15:16

Ok I've created a new version of the video with a commentary overlay, just in the process of uploading the new video, however you can also listen to it at https://soundcloud.com/user-379931558/a … commentary

2017-05-22 04:50:18

Yeah, I listened to it on sound cloud, not bad.

Facts with Tom MacDonald, Adam Calhoun, and Dax
End racism
End division
Become united

2017-05-22 07:41:41

This is a great video for sure.

Best regards SLJ.
Feel free to contact me privately if you have something in mind. If you do so, then please send me a mail instead of using the private message on the forum, since I don't check those very often.
Facebook: https://facebook.com/sorenjensen1988
Twitter: https://twitter.com/soerenjensen

2017-05-22 10:05:33

Thank you smile

Here's the link to the new video with commentary https://www.youtube.com/watch?v=vvbl6IdR6Uo&t=5s

2017-05-22 11:15:39 (edited by liamt 2017-05-22 11:15:51)

You can also download the trapped code in a pdf to build it yourself at https://www.adliberum.com/engine/diy/trapped.pdf

2017-06-01 01:46:51

Hmm. I wonder if this is complex as the Adrift engine, like the ability to add events and such.

I've always liked how BBen designs his games in Adrift, with cut scenes that play out like video games in text.