2020-07-01 02:22:10 (edited by zkline 2022-04-03 00:12:59)

Hi ALl,

I've been working on this project for a  few weeks now and finally feel like it's in a fit state to present a bit more widely. Things are still evolving, but it's quite a bit better than when I found it, so here we are.

What is Forge?

Forge is an open-source, mostly single-player version of Magic: the Gathering. It's available for free from this site, though I recommend grabbing the latest snapshot, as that includes up-to-the-minute accessibility fixes.

What's included in this game?

Basically everything. The game has coded support for something like 20,000 Magic cards, from all eras of the game history, a quite good AI, the ability to build custom decks, run tournaments of various stripes, play more casual game variants, and so on. About the only thing missing from the Forge implementation is the
card flavor text, which can easily be looked up online.

What is Magic: the Gathering?

The web site I linked above explains it better than I can, but it's basically a fantasy card game in which you play the role of a powerful wizard or "planeswalker," and can summon various magical creatures or cast spells to try and defeat your opponent. It's a complex game, but a lot of fun, if you enjoy strategic thinking or fantasy in general. It's usually played in physical paper format but has recently been made available digitally in various formats. Forge is not an official version of the game but is nevertheless very close to the real thing.

What sorts of accessibility work has been done on this?

A decent amount. The game is open source and readily accepts submissions. I added a setting to optimize the game for screen reader users, which updates the way mana costs are displayed. I also updated the deck editor to be a little more accessible using the keyboard, and finally just added a way to see what cards on the battlefield are tapped, or used up for any given turn.

How do I get started?

Download the Forge snapshot I linked above, unpack it into a folder somewhere, and run forge.exe. You'll want to maximize the window. I'm providing a link to my forge.preferences file. Download that and put it in the following place…

%appdata%\forge\preferences. You should be able to open the Windows "Run," dialog and just copy that string in there to find it. The file just turns off the game music and enables screen reader mode, which can otherwise be a bit annoying to deal with on a first run.

How do I play?

You need to use NVDA to explore the game screen. It's a Java program  and doesn't really have great support for tab and shift+tab navigation, though I plan to eventually work on improving this feature. For now, you can use NVDA item navigation commands, nvda+numpad-4 and 6, or nvda+shift+arrow keys, to explore. The game window is laid out in a mostly logical way, though it still takes some getting used to. You'll hear labels for areas like "Your hand," "Your field," or the game log window. To play cards, you route the mouse to them with nvda-numpad-slash, or nvda-shift-m, and left-click. If you ever get completely lost, you can get back to where you started from by alt+tabbing back into the Forge window.

There is a Golden Cursor bookmarks file available, which combined with NVDA mouse tracking can make exploring the game UI a bit smoother. The problem is that this is restricted to my screen resolution of 1920x1080. If you don't have a screen of that size it will not be as useful for you.

THe screen navigation is definitely the most confusing part of FOrge. The important thing to understand is that the log and stack and combat windows all share the same area of the screen, and that the log window is easy to get stuck in because it has the potential to grow very large. The solution for this is to press "s," which will close the log window and open the stack window, which is usually much smaller.

This game is not easy for someone completely new to Magic to play, because it doesn't do a great job of teaching you the game rules. Still, it's worth the effort and I definitely recommend exploring it if the game is at all interesting to you. I am going to keep working to improve it, at the moment we can play complete games and the remaining accessibility issues are mostly just convenience-related.

As always, I'm happy to answer questions or help out as much as I can. I hope to record some kind of demo this weekend to demonstrate what's possible.

2020-07-01 03:30:34

OK, it sounds very, very interesting. smile lets go to give it a try smile

thanks for do the work with the pull requests ̂̂

2020-07-01 03:36:15

It is definitely very interesting, the current accessibility is very good, but you do need to use the mouse cursor a lot. The most frustrating aspect is that for reasons, sometimes the reading order of the game changes, even if the interface looks identical. I do not know exactly why this happens, but it can occasionally be slightly confusing. I suspect there is some weird interaction between the game, NVDA, and Java.

2020-07-01 03:43:02

No... No way... this didn't just happen. Thank you to anyone who has worked on this.

2020-07-01 06:33:01

Yeeeeees accessible MTG is a real thing! Mind blown! big_smile

#FreeTheCheese
"The most deadly poison of our times is indifference. And this happens, although the praise of God should know no limits. Let us strive, therefore, to praise Him to the greatest extent of our powers." - St. Maximilian Kolbe

2020-07-01 06:50:40

torn between slay the spire and Forge. Good job Zkline, and thank you for it! Finaly, i always wanted to play magic.

Hail, Daughter of Hatred. Creator of Sanctuary. Hail...Lilith.

2020-07-01 11:43:20

I'm going to try this out.

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

2020-07-01 12:11:07

it's just a little hard to navigate and click on the options, but i guess as time goes on, this game will improve. and some of the buttons aren't labled. but good game so far.

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

2020-07-01 12:28:26

Yeah, one of the things which could be improved and I hope to fix is that some of the things that you can click on or not actually identified as buttons. They are technically labels, but you can still click on them to open the menus and such. It’s a minor thing, but it can be a little confusing at first.

2020-07-01 12:34:50

Downloading.
But, do it is ekstractable via windows file browser?

meow meow.

2020-07-01 12:54:25

No, it's probably going to need something like Winrar or 7ZIp.

2020-07-01 13:49:16

Helo.
I just unzipped.
And it seems to dont work with mine NVDA.

meow meow.

2020-07-01 13:53:12

PatrykK,

What exactly happens when you run it? I can't troubleshoot if you don't give a bit more detail than that. smile

2020-07-01 13:58:49

Okay this is odd. I installed the JDK and now it just...does nothing?

Warning: Grumpy post above
Also on Linux natively

Jace's EA PGA Tour guide for blind golfers

2020-07-01 14:00:20

JaceK,

Maybe it's taking a bit to load? The first 30-45 seconds it's processing all the cards and such. I've never had it just do nothing, that sounds very weird.

2020-07-01 14:06:57

When I run it, and starts the game, the NVDA seems to dont read anything.

meow meow.

2020-07-01 14:10:52

@Zklein:

I've had it load up fine on my host OS (Linux) so I know how long it takes, though I spun up a win10 VM....installed the latest Java and tried to start it. That's where I'm at right now

Warning: Grumpy post above
Also on Linux natively

Jace's EA PGA Tour guide for blind golfers

2020-07-01 14:16:33

JaceK,

Huh. I never thought to try running it under Linux. It should probably work similarly there, I just talked about NVDA because it's what I know many people use, I am a native Mac person myself.


Regardless, I'm not sure what's going on with either your or PatrykK's setups. If a dingo doesn't open, something is probably wrong with the Java installation or the Windows wrapper program. Have you tried just running the .jar file directly?

PatrykK, I still don't understand what's going on. Are you able to see a game window at all, and start a match, or can you not even do that? What happens from the moment you open the game to the point where it "does nothing?"

2020-07-01 14:23:33

It doesn't work under Linux, nope...or if it does I'm missing something.


But as for Windows. Reinstalled Win10 on this VM, everything else works. But, the latest snapshot doesn't at all. I installed the the JRE from April 14th 2020 so...not sure.It just sits there and doesn't do anything at all

Warning: Grumpy post above
Also on Linux natively

Jace's EA PGA Tour guide for blind golfers

2020-07-01 14:27:50

Im able to start a match, but when Im trying to play, hmm not possible to play that thingy, dude!

meow meow.

2020-07-01 14:28:50

JaceK,

Could you clarify? There isn't even a  window that opens when you run it? What happens if you just run the .jar file directly?

2020-07-01 14:36:04

PatrykK,

It is definitely possible to play. It just takes a bit of getting used to.

As I said I will try to record a demo later this week to showcase how to do it. The key is to get used to the way the windows are laid out. Once you get a bit of practice doing that, it should make a lot more sense. It would help if you're familiar with Magic.

When you first start a match, there is a virtual coin toss to decide who will go first. Then you get either a prompt to play or draw a card, if you won, or are simply taken to the mulligan screen, if you didn't. You need to read over your hand to decide if you want to keep it, which you can do using a combination of NVDA object navigation and the mouse cursor to highlight cards you're interested in. If you look at the "Card details," section, the detailed information for the card you're mouse is focused on will be shown there.

Once you decide whether or not you want to keep your hand, you have two buttons. Press "keep," to keep it, or "mulligan," if you want to discard it and draw another. IF you choose to do the latter, you need to discard one card from the new hand, which you can do by clicking on the card name..

From that point, you're either in your turn, if you went first, or the AI turn. You will go through the phases of a magic turn in order, press "ok," to step through each one. It's difficult to explain these in text, but you'll understand if you've ever played the game or read the rules I linked in the first post. To play a card, you can click on it, just like you did when discarding.

2020-07-01 14:43:49

This sounds awesome! I'll be keeping an eye on this thing and try it when I've grown tired of Slay the Spire.

2020-07-01 14:45:53

There we go got it working. Now to figure how to start a game. Oh hell yes Ajani's ultimate cheese deck's in here, yes, hello life for /every/ creature that enters play. Used to piss everyone off in DotP2012 with that trick...rage quits happened

Warning: Grumpy post above
Also on Linux natively

Jace's EA PGA Tour guide for blind golfers

2020-07-01 14:52:00 (edited by zkline 2020-07-01 14:52:28)

JaceK,

One of the little annoyances I intend to fix soon is that when you select a deck type, you're taken back to the first part of the game screen. It's weird, but I already know the code which causes it and will hopefully be removing it soon, as it doesn't seem to serve an actual purpose.

As I said, I hope to produce an audio demo sometime soon which will explain the game UI much better than a description can. Good luck in the mean time, and I'm happy to try to answer questions.