2019-07-08 14:50:11 (edited by daigonite 2019-07-11 15:16:31)

Hey there everyone,

So I've been working *really really* hard on this project and its basically the accumulation of my work I've done in the last few years here.

https://github.com/labadore/maxseer

Wiki:

https://github.com/labadore/maxseer/wiki

Demonstration video:
https://youtu.be/UJqYG4ng5hs

maxseer basically reads your collision and positional data to do things like:
- Wall proximity detection
- Footstep sound effect
- Sound emitter management
- Map labels (which read themselves out when you approach them)
- Sound paths (allowing blind players to follow a path to a destination)
- TTS/NVDA support

It's designed to be extremely easy to implement so that there's basically no excuse for at least some level of blind accessibility.

maxseer is 100% open source with a BSD-2 license, to try to encourage adoption in commercial SDKs but also allow indies and small development companies to be able to have a means to easily interact with accessibility. Right now it just uses the XNA Audio for its sound, but it has the capability to let you create your own Sound Controllers that use whatever engine you want. A major goal for maxseer in the future is translating it into different engines and languages.

Feedback would be greatly appreciated, thanks!

Note: I'm still working on documentation, but I figured since the build is stable after its last refactoring that I thought I'd share.

you like those kinds of gays because they're gays made for straights

2019-07-08 16:18:14

Hey, this looks interesting. Had to step back from audio game development for a few months while starting a new job, but I'm always on the lookout for new engines/improvements to existing ones. Few questions:

1. Your wiki includes dotnet CLI instructions for installing your package. My understanding is that the dotnet CLI only worked with Core, not Mono, and that Monogame only worked with Mono/official .Net, not Core. Is one of these no longer correct? Can dotnet install Mono/traditional .net dependencies, or does Monogame now work with .net Core?

2. Do you have any examples of this toolkit in action? Is it something I can use with any other Monogame tutorial, just adding in accessibility support as needed? Or do I have to build my game a certain way from the start--using your map classes, your collision detection, etc.?

3. What would be required to support other platforms? If I used this, I'd need Linux support, and would be happy to add it and submit a PR if implementing it wouldn't be too difficult.

Still fairly heavily invested in Lua/Love2D at the moment, but if their Android/console story doesn't improve, then I may be looking for another engine, and this might be just the ticket.

2019-07-08 16:34:58

Any hope for MacOS support? I don't Know c#, but i would be happy to help where i can. I'm kind of been looking to add MacOS support to some other game libraries like Universal Speech and others. but got derailed with finishing up school in the last year.

I don’t believe in fighting unnecessarily.  But if something is worth fighting for, then its always a fight worth winning.
check me out on Twitter and on GitHub

2019-07-08 17:15:03

at post1,
Great to hear and I really do admire your work. Unfortunately monogame is so much lost in our community but it has to finally claim a position on the bord for itself. From my experience it is very usable and your classes and work made it even better. Even the pipeline tool is enough accessible to do the required things.

---
Co-founder of Sonorous Arts.
Check out Sonorous Arts on github: https://github.com/sonorous-arts/
my Discord: kianoosh.shakeri2#2988

2019-07-08 19:12:13

Just an FYI, maxseer is a tool for developers, not end users. It's intended to make implementing accessibility into games extremely easy for developers.

Your wiki includes dotnet CLI instructions for installing your package. My understanding is that the dotnet CLI only worked with Core, not Mono, and that Monogame only worked with Mono/official .Net, not Core. Is one of these no longer correct? Can dotnet install Mono/traditional .net dependencies, or does Monogame now work with .net Core?

I only included those instructions because they are part of the nuget package's instructions; I've never worked with the dotnet CLI before actually. I ran a super quick test in Mono and it seems to be fine with downloading the nuget package normally.

Do you have any examples of this toolkit in action? Is it something I can use with any other Monogame tutorial, just adding in accessibility support as needed? Or do I have to build my game a certain way from the start--using your map classes, your collision detection, etc.?

I don't have any videos but you can read this article here on how to set up maxseer. https://github.com/labadore/maxseer/wik … ng-Started

Also, my game "Color Chromatics" (rebranding as Spectrum) intends to showcase this engine by creating a game that is practically equally playable to sighted and blind. I shifted focus to maxseer though because it can easily be replicated.

maxseer could potentially be used with any game but its specifically designed with games with a top down interface, such as Pokemon or Legend of Zelda. All it requires to function is the listener position (almost always the player's position) and collision data represented as an array of Vector2 or Vector3.

What would be required to support other platforms? If I used this, I'd need Linux support, and would be happy to add it and submit a PR if implementing it wouldn't be too difficult.

To support other platforms it would require converting the source into other languages; to help with this, the project has been heavily documented. maxseer is more of a concept than just an engine in of itself; I just built it in monogame first so that it would have an initial prototype (that I can also use directly in my own development). If I have the time I intend to also make a Unity3D version of maxseer as well so people can just put it in their games

mac support

I don't know much about macOS but if it has mono support it should have some support, but it won't support TTS. Linux does not support TTS at this time (if anyone knows how to link the screen reader to Mono this would be a huge boon!)

Great to hear and I really do admire your work. Unfortunately monogame is so much lost in our community but it has to finally claim a position on the bord for itself.

Monogame is pretty awesome and I figured that building this in monogame would encourage adoption in other communities as well when the project gets more well known.

you like those kinds of gays because they're gays made for straights

2019-07-08 21:21:10

Damn, awesome work daigonite, thank you!

2019-07-09 01:24:21

A bit confused--why would I need to switch languages to support Linux? Mono runs perfectly fine under Linux, as does Monogame itself. My question was more about which components might be platform-specific. Screen reader/TTS support is one such I'd imagine, and it's perfectly doable under Linux via speech-dispatcher, provided C# has some sort of FFI mechanism for calling libraries exporting a C ABI.

To be clear, I'm not suggesting that you do this work. I'm just trying to get a sense for the platform-specific touchpoints. If everything else is pure Monogame save for the screen reader/TTS interface, I imagine porting would be a fairly straight-forward process.

Thanks.

2019-07-09 02:12:48 (edited by daigonite 2019-07-10 03:31:52)

A bit confused--why would I need to switch languages to support Linux? Mono runs perfectly fine under Linux, as does Monogame itself. My question was more about which components might be platform-specific. Screen reader/TTS support is one such I'd imagine, and it's perfectly doable under Linux via speech-dispatcher, provided C# has some sort of FFI mechanism for calling libraries exporting a C ABI

I think we were both confused.

I was just saying that a goal of the project is to expand it to other languages, this has nothing to do with Linux but rather just spreading the framework to other engines.

The TTS doesn't work currently in linux since I don't know how to do it. If there's a reference on how to do it I could take a look at it on the weekend. It's the only part that I don't have working under Linux. Most of it is just monogame stuff which is fine in linux under mono. I can't stress how much I would appreciate it. Right now it just doesn't read TTS. You can still use the other elements.

you like those kinds of gays because they're gays made for straights

2019-07-09 04:12:56

woa daigonite you're really awesome!

Every time that you appear here is for give us your giant love smile

The project sounds very very interesting, so i wanna try it smile

Do you use farseer for calculate physics in the library?

the name is very similar maxseer and farseer smile

Well thanks again for your work! I have to try it!

2019-07-09 14:08:15 (edited by daigonite 2019-07-09 14:09:19)

maxseer has no physics model, it just detects your location relative to walls, and has things like footsteps and stuff to help players keep track of their position. You can implement the wall proximity and footstep thing with basically just 4 lines of code.

It also has a few other features to enrich maps, like labels and pathfinding. Plus, it has TTS so that menus can be made more accessible. Currently TTS only works in windows but anyone who has tips on getting that working in Linux would be a godsend cuz I can test that right on my computer.

And yeah, I was originally going to call it "maxnav" (a much more fitting name) but someone told me there might be copyright problems so uh, I came up with maxseer quickly lmao

BTW guys let me know if you have any challenges with it, I wanna make this as easy to use as possible!

you like those kinds of gays because they're gays made for straights

2019-07-10 10:34:31

Hi.
Wow... I'm not a developer, but I hope it will make more games accessible in the future.

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

2019-07-10 15:10:57 (edited by daigonite 2019-07-10 15:12:01)

God wouldn't it be effin nice if instead of me having to make braillemon we can just have nintendo use this thing in their releases from now on... too bad pokemon games suck now hahaha

Also, small update - I added a feature that lets you have a label across an area. So if you walk into this area, it will read off the text set as the label.

you like those kinds of gays because they're gays made for straights

2019-07-11 07:20:52 (edited by daigonite 2019-07-11 07:21:20)

Pardon the double post, but here is a video demonstration of maxseer's basic functionality. (I go by labadore now...)

https://youtu.be/UJqYG4ng5hs

you like those kinds of gays because they're gays made for straights

2019-07-11 09:53:05

Wow. Thanks for this super great demonstration.

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

2019-07-23 05:31:30 (edited by daigonite 2019-07-23 05:32:05)

FYI I'm doing a major update that puts input back into the engine. This way I can add menus. I also added a lot more navigation functions, like a navigation menu that is built into the engine, and an easy way to set up "bookmarks" which label the map with text that is read when you walk over it.

I will have a demo that demonstrates the basic features in the coming weeks, maybe this weekend if I can get a little level editor put together.

After that is going to be a major refactor and documentation rewrite that includes the changes, then I'm going to be moving mostly back onto my game - however, please keep me in the loop with any issues in the engine because obviously I'm using it in my own game. lol

you like those kinds of gays because they're gays made for straights

2019-08-03 15:41:41

will this awesome thing have python bindings later on?

best regards
never give up on what ever you are doing.