The Beast in the Castle Code Review

#Question and Answer

So one last section, a Q&A. I asked @iris for some questions that can hopefully shed some light on things anyone might be confused about.


The short to both answers is ‘No’.

That said, there’s two things to address here, the first being what “needs” to go in the stats screen. To understand that, it’s probably best to start with knowing that the stats screen works like just any other code in the game. You can make it to display whatever you want, and do whatever you want the same as anywhere else. Additionally, things that normally go in the stats screen, such as *stat_chart, can be put elsewhere in your game without a problem.

You can in fact even *set variables in the stats screen! (Although that’s going to require some more advanced work.)

Now, as for fairmath specifically, all fairmath does is add a certain amount to a variable. The max it can raise the stat by is the entered number, and the average it will raise it by is half that (e.g. *set angry %+ 20 adds between 20 and 0 to angry, with an average of 10). Fairmath variables will remain between 0 and 100.

These are the actual equations used:

Fair Addition: *set x %+ y = (x + (100-x)*(y/100))

  • Large scores are hard to increase: (90 %+ 20) = (90 + 2) = 92
  • Small scores are easy to increase: (10 %+ 20) = (10 + 18) = 28

Fair Subtraction: *set x %- y = (x - x*(y/100))

  • Large scores are easy to decrease: (90 %- 20) = (90 - 18) = 72
  • Small scores are hard to decrease: (10 %- 20) = (10 - 2) = 8

50 is equally easy to increase or decrease.

  • (50 %+ 20) = (50 + 10) = 60
  • (50 %- 20) = (50 - 10) = 40

(More information can be found from here.)

You don’t need anything special anywhere to use fairmath, all you need to do is make sure to *create your variable between 0 and 100, and just use fairmath for it.


There’s some arguments for both sides. Obviously the first argument to making stats visible is the stats screen. You’ve got to populate it with something, and that should probably be your core stats. Second, it helps player engagement by letting players have a better clue as to why things are happening (and players hitting something and not knowing why is usually a very bad thing). And finally, it guides players into anticipating what they should be doing and how they should be approaching problems. The only real downside to including it is possibly taking away some of that ‘magic’ for a few readers (and I’d argue that’s not actually that strong an effect).

Now, as for solutions (Roughly in order of complexity):

  1. As you mentioned, you can toggle it with an option at the beginning. This is a very basic option, but gives players the most choice in how to interact with the game. (Advanced users might even let you toggle it in the stats screen). The downside is it’s a little harder to control how the player perceives the game if you do this.

  2. You can decide not to display the stats, but then reveal them at the end. This can keep the veil up while actually writing, but encourage some replay value at the end. This, however, can also be frustrating, in that the player won’t know what exactly they should be doing when replaying the game.

  3. You can show imprecise stats. E.g. Say you have health that ranges from 0 to 100. If it’s less than 20, instead of showing the exact number, you can display ‘dying’ while if it’s more than 80, it say’s something like ‘perfect health’. For an example in practice, check out “Revolutionary Reputation” and “Shepherd and Wolf Reputation” in the Choice of the Vampire stats screen.

  4. You can actually split the difference. With achievements you can track things between playthroughs! (Although it’s noteworthy that this is only one way, and will always produce an achievement.) So, write both stats screens (make sure both look good, and to that I’d recommend you use option 3. for the one you’re planning on displaying through the first playthrough). Then, at the end of startup (after you’ve run all your *create and *achievement commands, add *check_achievements. Then, for every achievement you have, you’ll have a variable that’s set to either true or false (whether you have the achievement or not). (This is something I’d have to go deeper on at a different time.)


[quote=“iris”]And now onto trans related questions! First, background-- The world building in the game is sort of light handed at the moment, but the gist of gender in the Beast world is that people who are trans, nonbinary, etc are classified in a sort of third gender subspace that includes maleness, femaleness, and everything in between. I’m not sure if this is all that relevant (lol) but I’m Hawaiian and back in the day we used to have something like that going on which is where I got the idea. Basically the MC is a girl in societies eyes, but still set in a category apart.

So I have ideas on how to introduce the characters gender identity if they have dysphoria-- once they realize the beast was once a person, they can empathize for instance. If the beast is also classified in this third gender (nonbinary option) it’s made even more relevant.

But I’m sort of wondering how I’ll be able to give subtle options if the MC does not have dysphoria, or is ok with her classification? I’m sort of at a loss. The spirit Laliya is ‘female’ presenting, but spirits technically don’t have a gender so she specifically chose to be female. But I’m not sure if this is relevant because I’m not sure if transgender people choose to be transgender? I’ve never really understood gender, mine and especially not other’s :worried:[/quote]

(Note that I’m going at this from the angle of high inclusivity rather than having a dark world where trans people are treated badly as a note about the world not being all good since you mentioned “light handed world building”.)

So the inclusion of trans and nonbinary people is always great, but it’s also something you need to be careful about. As a note, I’m Navajo, I get the idea of two-spirit totally, but mashing every trans group together under it is 1) probably not going to be as coherent as it could be (different trans experiences can vary widely, especially between transgender and nonbinary people), 2) probably not going to represent anyone very well, let alone everyone, and 3) may alienate some of the people you’re trying to be inclusive of.

So first, trans as a third gender is a bad idea. My general recommendation for games with a gender option is, don’t make the option to be trans part of the gender choice. A trans woman is not ‘something other than a man or a woman’, they’re just a woman. That choice should be separated out from the choice of gender. The reason is, if it’s packed in with the gender choice, you end up othering trans people by making them pick between being a ‘real’ woman and a trans woman.

As for the discussion of dysphoria, I wouldn’t recommend separating the two (that is, those with and those without), or mentioning it. It’s not easy to categorize or represent across a large group, and to the extent you might do it well, most trans people don’t like being reminded of their dysphoria anyways.

Now as for the big one: trans people do not choose to be trans. In the same way no one chooses their skin color, their height, their orientation, their blood type, or anything else like that, these things are innate to people. (The term you originally used is an old term, transgender is preferred now that science has advanced on the issue.) To that extent, someone that doesn’t have a gender presenting as having one for some reason, would be an entirely different thing.


I hope all that helps. If there’s more specific question or some lingering confusion I’m happy to address it.

5 Likes