Congrats on new website!
Yeah, I would cite this as the hard boundary of my multireplace use. I ran into it a few times, with Turncoat.
If it helps that also happens to me! No clue what it is about proofreading but it does something to my posture.
I find I get very in the zone when editing and lose my rhythm of taking regular breaks. I hope you recover soon!
I’m in limbo writing wise at the moment, and have been ill this week so am unable to go out hiking or biking as I would normally when I don’t have work to do. So I beta tested Haunted Hearts Hotel which was a fun experience. I always find I learn something when I playtest.
Me, Me, Me, my friend. This is ME. I’ve been trying very hard to remember to use them and I ended up having to enable Implicit Control Flow in order to make them even work a semblence of working. XD
This reminds me entirely too much of the coding section of my game that I set up for naming the PC, so that the player can’t name them the same thing as the characters in the game. TAT It’s annoying.
I feel incredibly silly that I don’t know what these basics are.
I can feel your love of history through these prompts, and I am excited to see another history buff! although I’m more historical fantasy than accurate history. XD
I wanna see what you mean by this. Because Multireplace and I have a very limited relationship, as they are generally the bane of my existance. No more than *if/*else situations, but still.
Looks great!
I am running into the worst kind of bullshit. That is to say that, in order to try and maybe drum up some collateral income (because my job is no longer enough to support myself, my husband and our roommate) I’ve put up my two webnovels again, and set up a patreon… But unfortunately, I underestimated the sheer amount of writing I would need to do for those webnovels, and it’s really eating into the little bit of time I have to work on my game.
And then, on top of that, I’m running into the every-six-months urge to try and make something on RPGMaker…
I guess it’s just because I feel really stuck in my game. Like, I can’t just move on to the next section, because after this section, I need to start playtesting so that I can upload it as an update to the demo, so I can’t just skip ahead. I really hate it.
Sorry, I’m sure this sounds like complaining.
I learned early this year from one of these threads actually! (thanks Harris!)
Basically, multireplaces aren’t limited to boolean variables and integers. You can build a true/false into them. e.g.
@{VariableA This is true!|This is false!}
@{VariableB This is one.|This is two.|This is three.|This is four.}
@{(VariableB > 2) It’s greater than two.|It’s less than two.}
It’s genuinely huge and opens up so many possibilities.
The Boolean use of multireplace is the one I’d recommend people start with, because it’s relatively simple and helps with coding minor variations based on things like whether you’re noble, or whether your friend is with you:
@{aristo “Prithee speak as befits a noble.”|“Talk like a normal person, mate.”}
@{friend You share a glance with your companion before heading onward.|You stride off alone down the road.}
And then before you know it, you’ll find yourself using tricks like:
You @{friend share a glance with your companion before the two of you|} stride off down the road.
Or in a choice block:
#I @{friend join my friend in heading|decide to head} south.
Which lets you have some variation in the text of your #options without needing to have two entirely different #options under different *if conditions.
Once you’re comfortable with that, you can ease into the “stat check” multireplaces that replace simple *if/*else blocks:
You @{(charisma > 2) wield your immense charm|do your unappealing best} to bluff the bandits.
Edit: which, to be clear, could replace
You
*if (charisma > 2)
wield your immense charm
*else
do your unappealing best
to bluff the bandits.
And at some point, maybe, you can use the number variable multireplaces like
@{VariableB This is one.|This is two.|This is three.|This is four.}
but I use that type roughly 100 times less often than I do Boolean and stat test multireplaces.
This is my most used version of multireplace. I actually use this quite a bit.
I do not know why I did not think to use:
Now, I am going to need to schedule an entire editing pass to look for places I can use this multireplace version.
Not going to lie, I’m not even sure I’d have the ability to sustain writing one webnovel, given how rapidly and consistently they’re expected to update, especially given that (like most self-published work) I suspect getting a substantial income from one is more a function of luck and visibility than anything else.
This one can be really useful if you want to signpost stat requirements for a choice or something - especially if those requirements are dynamic or conditional.
I feel like, based on the complaints this series seems to catch, that there’s no reason it should be as popular or as high-visibility as it is.
But at the same time, it is very popular, and it does have a dedicated fanbase who love talking about it, so it seems to me as if bad padding isn’t enough of a dealbreaker to really hurt it.
THIS ACTUALLY WORKS?!
I didn’t realize > or = works in there. Does >= work there too?!
Holy shit if I knew this was a thing, I’d have saved SO MUCH CODE.
You are entirely correct, which is why I’m suffering.
Could you give me an example of what you mean by this?
I hope you feel better soon, and you’re getting the rest you deserve after finishing Honor Bound.
I’m going to be testing Haunted Hearts Hotel in a few days too. It looks sooooo good!
Could you give me an example of what you mean by this?
Say you have a choice locked behind a certain stat criteria, and you want to display the requirements within the text of the choice itself. Normally, this just means adding that signposting text to the choice text.
But if that stat requirement is dynamic (which is to say, it can change based on choices made previously), then using multireplace, you can make that signposting text dynamic too.
For example, if you had a choice locked behind a fixed strength score like:
*selectable_if (str >= 50) #[Str >= 50] Kick down the door!
And you wanted to make that strength requirement dependent on some other factor like
*selectable_if ((str >= 50) or (forklift_certified = true))
You could use multireplace to make the signposting text dynamic too:
*selectable_if ((str >= 50) or (forklift_certified = true)) #@{forklift_certified [Forklift] |[str >= 50 }Kick down the door!
*selectable_if ((str >= 50) or (forklift_certified = true)) #@{forklift_certified [Forklift] |[str >= 50 }Kick down the door!
This looks like gibberish to me, so I’m gonna give ya’ll an inside look into my thought processes as I read other people’s code to trya nd figure out how it works.
So: *selectable_if means this choice gets grayed out if these aren’t fulfilled: str >= 50 OR forklift_certified = true.
“#” displays the choice if it’s selectable.
@{forklift_certified shows that depending on the true/false of forklift being certified, the text after this will change.
This is the part where you lose me:
[Forklift] | should (as far as I’m aware) display the choice as “[Forklift]”
and then the next section: [str >= 50 }Kick down the door!
Means that if they are NOT certified, it displays the text “[str >= 50 }Kick down the door!”, which depending on if it’s selectable, may be grayed out.
Is that right?
I hope you feel better soon, and you’re getting the rest you deserve after finishing Honor Bound.
I’m going to be testing Haunted Hearts Hotel in a few days too. It looks sooooo good!
Thank you It’s probably good to have a bit of an enforced pause - I have a habit of racing onto new things. Going to be chatting about a writing thing next week though which I’m looking forward to!
I really like playtesting, and I don’t get to do it all that much. I’d like to try and playtest some of the other games in beta too if I can
A post was merged into an existing topic: The Wayhaven Chronicles General Discussion (SPOILER FREE FOR BOOK THREE!)
Means that if they are NOT certified, it displays the text “[str >= 50 }Kick down the door!”, which depending on if it’s selectable, may be grayed out
Almost.
It’d display the [str >= 50], but not the rest, since it’s outside of the curly brackets and therefore, not parsed as a potential output by multireplace. The “Kick down the door!” would be plain choice text.
Once again,
When discussing writing elements (like world building) or problems (like padding), it is best to explore the best practices to keep to the support thread theme.
A brief criticism of an example practice is fine, but if the discussion starts getting into the details of a particular author or title, that is the time to move that discussion elsewhere.
Almost.
It’d display the [str >= 50], but not the rest, since it’s outside of the curly brackets and therefore, not parsed as a potential output by multireplace. The “Kick down the door!” would be plain choice text.
So what you’re saying is:
*selectable_if means this choice gets grayed out if these aren’t fulfilled: str >= 50 OR forklift_certified = true.
“#” displays the choice if it’s selectable.
@{forklift_certified shows that depending on the true/false of forklift being certified, the text after this will change.
This is the part where you lose me:
[Forklift] | should (as far as I’m aware) display the choice as “[Forklift]”
and then the next section: [str >= 50 }Kick down the door!
Means that if they are NOT certified, it displays the text “Kick down the door!” as the choice, which depending on if it’s selectable, may be grayed out. The Str>= portion isn’t shown to the player, but used to choose which text to display. Right?
On a side note, I’m working on some of my code and I’m like, wondering if I made some of these choices for variables when I was drunk or something, because I have a variable that isn’t NEEDED and isn’t being used because another variable exists that does that thing, and now I have to go slice up my whole ass code to fix it.
Means that if they are NOT certified, it displays the text “Kick down the door!” as the choice, which depending on if it’s selectable, may be grayed out. The Str>= portion isn’t shown to the player, but used to choose which text to display. Right?
Not quite
The outputs which *multireplace can actually put out are all contained within the curly brackets {}. Anything after the closing of those brackets gets printed regardless. That means depending on whether forklift_certified is true or false, it will output as either:
#[Forklift] Kick down the door!
or
#[str >= 50] Kick down the door!
Not quite
The outputs which *multireplace can actually put out are all contained within the curly brackets {}. Anything after the closing of those brackets gets printed regardless. That means depending on whether forklift_certified is true or false, it will output as either:
#[Forklift] Kick down the door!
or
#[str >= 50] Kick down the door!
OHHHHHH OKAY! THAT MAKES TOTAL SENSE! Oh man, you’re amazing, thank you for helping me get that. Sometimes my brain gets stuck on weird shit. XD