Coding 2020-11-23

By Max Woerner Chase

Status of thinking about getting this working in the browser: my two big constraints are from my punq fork, which uses Python 3.8 syntax and the stdlib ast module. The syntax constraint narrows the choices I have, out of everything I know about, to Brython and Pyodide. (Python 3.8 eliminates for now, I think, transcrypt, Batavia, pyjs, Skulpt, and PyPy.js) Using either one would take some work from where I am now:

Either of these could be worth working on, but I think I'm ready to get back to Mythic for now.

I'll catch up on that, and later work on finally getting the coverage up, as well as patching some holes I noticed.

Okay, there are various difficulties with implementing the Fate roll from base Mythic. One is the choice of focus table. There's just one focus table in base Mythic, but Variations does a bunch of stuff, and The Adventure Crafter has a different way of handling focus tables as well. Separating out concerns... The different parts of a Fate roll are as follows:

Thinking about this has made me decide that these functions should make as few decisions about the context they're used in as possible, so I should avoid making them rely on sheets. That means the favor point version has to take a favor point count, and return a new total, along with everything else.

...

And the classes are ballooning out of control. I'm going to try to sketch out exactly what the sequence of events is supposed to be:

I'm kind of tempted to try using punq for this, at kind of a higher level. Just, like, pass in stuff from the broader container, as well as volatile arguments.

Okay, I've sketched some stuff out on paper, and I think I have a solid plan for this. However, I'm tired, and I don't want to mess with the code any more while I'm tired.

Good night.