#action processing
Explore tagged Tumblr posts
golmac · 2 years ago
Text
Inform Basics: ACTIONS and RULES
Note: this is a longer post than usual, but some of it is debug content that isn't required reading.
I've been promising to talk about debugging for a long time. And, in truth, figuring out disambiguation problems with the TRACE command is debugging. But since you may not have known the term disambiguation a couple of weeks ago, that's probably not what you had in mind.
No, you were probably thinking about some hardcore, silly weirdness in your game, some very hard to pinpoint problem. Today's post is about that kind of thing. We've talked about action processing. The events of a player's turn happen in a set order. We deal with that in the actions we define. The order is, first to last:
Before
Instead
Check
Carry Out
After
Report
Of course, there are things that happen outside of these phases. For instance, if we create an EVERY TURN rule, those fire at the very end of the turn, after report rules have been processed. In the course of play, players don't have a lot of insight into the various machineries of an Inform 7 turn. A lot of it is there just to keep Inform 7 being a thing at runtime, and that doesn't interest us. There's a very complicated mapping of the turn's processes, but I think it would just discourage beginners from trying to write IF at all. So let's not. Most Inform 7 stuff just works, and that's why I like it.
Still, at times there will be a head scratcher. When that happens, we have two tools that can help us figure out what's going on. The first is ACTIONS. Let's say we have a nice, juicy 50,000-word game, and one of our testers gives us a transcript in which "jump" isn't working properly. Instead, the jump command is printing a description of the room. With ACTIONS on (just type "actions" at the command prompt in a test environment), Inform 7 will print the specific actions being attempted and let us know if they succeed or fail.
Under default conditions, with JUMP working as expected, that would look like this:
>actions Actions listing on. >jump [jumping] You jump on the spot. [jumping - succeeded]
The text in brackets is the debug content toggled by ACTIONS. If we've set actions that interfere with jumping.... well, let's look at this code as an example.
Before jumping in the lab: say "Look before you leap!". Instead of jumping: try looking.
OK, so the BEFORE is specific to the lab, but the INSTEAD applies to the entire game world. So we must have forgotten something somewhere. We can use the ACTIONS command to have a look:
>actions Actions listing on. >jump [jumping] Look before you leap!
[(1) looking] lab nice lab.
[(1) looking - succeeded]
[jumping - failed]
This gives us something to chase after! This is a pretty simple example, but ACTIONS is most useful for helping us find problems once we get to a certain level of complexity in our game world. In this example, we can see that jumping "failed" and that looking "succeeded." By "failed," we know the jumping action never completed. Most commonly, that will be caused by an "instead" rule--they stop actions from continuing, right? A control-f on "instead of jumping" is probably in order.
But what if something more devious is at work? What about a case where the ACTIONS command doesn't report anything unusual? The next step is the RULES command, which is a verbose listing of every rule that fires in the course of executing a command. Now, as I said at the start of today's post, a lot of those rules are really none of our business. Their strangeness can be intimidating when reviewing the output in RULES mode. My advice is just not to worry about it. Just like the TRACE command, only a handful is likely relevant to us, so don't pressure yourself to figure it all out.
Though by all means do, if you're curious. Just don't be bothered by it.
So brace yourself, I'm going to print the output. I'm only going to talk about the pink text, so don't worry too much about the rest. I just want you to know what you're looking for.
>rules Rules tracing now switched on. Type "rules off" to switch it off again, or "rules all" to include even rules which do not apply.
[Rule "parse command rule" applies.]
>jump [Rule "declare everything initially unmentioned rule" applies.] [Rule "generate action rule" applies.] [Rule "announce items from multiple object lists rule" applies.] [Rule "set pronouns from items from multiple object lists rule" applies.] [Rule "before stage rule" applies.] [Rule "basic visibility rule" applies.] [Rule "basic accessibility rule" applies.] [Rule "carrying requirements rule" applies.] [Rule "instead stage rule" applies.] [Rule "requested actions require persuasion rule" applies.] [Rule "carry out requested actions rule" applies.] [Rule "descend to specific action-processing rule" applies.] [Rule "work out details of specific action rule" applies.] [Rule "investigate player's awareness before action rule" applies.] [Rule "player aware of his own actions rule" applies.] [Rule "check stage rule" applies.] [Rule "carry out stage rule" applies.] [Rule "carry out jumping" applies.] nice lab.
[Rule "after stage rule" applies.] [Rule "investigate player's awareness after action rule" applies.] [Rule "report stage rule" applies.] [Rule "report jumping rule" applies.] You jump on the spot. [Rule "last specific action-processing rule" applies.]
[Rule "A first turn sequence rule" applies.] [Rule "scene change machinery rule" applies.] [Rule "every turn stage rule" applies.] [Rule "timed events rule" applies.] [Rule "advance time rule" applies.] [Rule "update chronological records rule" applies.] [Rule "A last turn sequence rule" applies.] [Rule "scene change machinery rule" applies.] [Rule "adjust light rule" applies.] [Rule "note object acquisitions rule" applies.] [Rule "notify score changes rule" applies.] [Rule "parse command rule" applies.]
So you'll see in there the text that's been troubling us. That's "nice lab," which is the room description of the lab. We can usually start by looking at the rule immediately above the output. In this case, that's the "carry out jumping" rule. Hm, ok, so let's do a ctrl-f on "carry out jumping." We'll find this:
carry out jumping: print the location's description.
What a strange bit of code! Who knows why we did it. This is why I recommend giving names to particularly experimental or impactful rules. They are printed by names during a RULES debug session. So this code:
carry out jumping (this is the dubious jumping rule): print the location's description.
Will look like this in debug:
[Rule "dubious jumping rule" applies.]
The main thing to take from all of this is this: these tools can help you understand what Inform 7 is doing with a command. Like most debug content, you don't need to understand all of it, you just need to know what you're looking for. Usually, that's going to be some or all of the output that the player is seeing. Hopefully, that information will lead to a productive search of your code. I personally found the output from RULES intimidating; I gave myself permission to only understand what I needed to understand.
OK, next time, some lighter fare. We'll look at other useful commands and features for developers and testers.
11 notes · View notes
readingandbooking · 2 months ago
Text
Shen Yuan is very special to me bc he’s the type of person who would say “they would NOT fucking say that” to the person who is in fact, in the process of saying that. Binghe is out here trying to confess his love and Shen Yuan is slamming his hands into his ears and yelling ooc.
1K notes · View notes
bigfatbreak · 1 year ago
Note
dad villain au: did emilie just. not consider at all that adrien was literally dying at the time. wow
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
she's in the habit of deciding when Adrien's suffering is acceptable, and if it is, she'll just fix it later.
5K notes · View notes
akemiiya · 3 months ago
Text
isat is praised a lot for its ludonarrative harmony and how the player's feelings are synchronised with siffrin's, but something i don't see mentioned much is how it also works the other way around -- the player trying to get certain dialogues/interactions (the player's influence on siffrin's actions), even if they go against siffrin's wants at the moment, are all justified in game.
for example, if the player continuously attempts to use siffrin's dagger on their allies, siffrin is having intrusive thoughts. and if the player repeatedly tries to go into the bathroom in act 5, siffrin secretly really wanted to monologue because he's a little obsessed with them lol
611 notes · View notes
empty-movement · 3 months ago
Text
Tumblr media
Prolific animator Yoshihiko Umakoshi (馬越嘉彦) is best known for his work in shonen anime like My Hero Academia, however he also worked on several episodes of Kunihiko Ikuhara's 2011 Mawaru Penguindrum. During this time, he gave us this Revolutionary Girl Utena piece, itself a bonus purchase privilege poster at Mandarake stores for the purchase of Monthly Anime Style (月刊アニメスタイル) magazine, Vol 5.
It was first published as the full-color feature of the Hardcore of Utena's Supplement booklet in 2013. The Hardcore of Utena is a massive, two volume artbook released at Comiket 84, where you could receive this booklet with the purchase of the larger volumes. Mostly miscellaneous sketch art that features elsewhere, I nevertheless had it scanned already and felt like, hell, let's just finish it and get up there for you! So here are the scans of the 44 page booklet, or if you want the even larger versions, or a download of the lot, I also uploaded it to the Internet Archive! That's gonna be a pattern, y'all. ;)
540 notes · View notes
nibbelraz · 1 month ago
Text
Tumblr media
I love them so much it's unreal
426 notes · View notes
weevmo · 5 months ago
Note
Good evening,
You'll never guess what I just posted.
https://archiveofourown.org/works/60479521/chapters/156202336#workskin
Enjoy 10k more words of content.
From,
Someone actually studding to become an engineer
Tumblr media Tumblr media Tumblr media
I ENJOYED EVERY BIT OF IT AND CAINE ESPECIALLY BUT THIS -
THIS BIT MADE ME LAUGH SO HARD
692 notes · View notes
cubbihue · 8 months ago
Note
Have there been times the Turner parents have suspected something but shrugged it off?
Tumblr media Tumblr media Tumblr media Tumblr media
They have never suspected Timmy Turner of anything! Despite often expressing regret or disappointment, they still very much love their son! And all the benefits he brings them!!
The Turners are a well established family in the neighborhood. It wouldn't bode them well to go around casting doubt against their own son. It'd affect their reputation terribly!
Bitties Series: [Start] > [Previous] > [Next]
646 notes · View notes
hinamie · 5 months ago
Text
Tumblr media Tumblr media
- wip -
u won't see this until next month but i at least wanted to share the plans
271 notes · View notes
sunnysidesevenup · 6 months ago
Text
Tumblr media Tumblr media
Neige, this isn’t very “friends” of you.
Vil watching this entire interaction: what have I done to deserve this. genuinely.
Part 7! | Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6
Part 8!
321 notes · View notes
driftingballoons · 2 months ago
Text
Tumblr media Tumblr media Tumblr media
This idiot didn’t know about the light side 🙄
158 notes · View notes
drawballa · 6 months ago
Text
Tumblr media
Shield & Shelter - Chapter 13 (extra)
FULL COMIC: HERE
207 notes · View notes
julijbee · 1 year ago
Text
Tumblr media Tumblr media
girlbossing too close to the sun.
#art#ive literally just been treating this game as a library simuator#i walk from bookseller to bookseller opening up all of their books#vivecs sermons are either a highlight or the point at which i stop reading#ive been trying to convince the ordinators that imitation is the highest form of flattery but it hasnt been working#let me wear your helmets please theyre so funny..#posting morrowind in 2024 isnt a cry for help but youre not wrong to be concerned.#morrowind#almalexia#vivec#im going to explain the chitin armor give me a moment#so the bonewalker nerevar on the shrines is adorable and it was only after drawing it however many times that i realized#it looked relatively close to a modified chitin armor#and so i modified chitin armor a few times and this was probably the cutest result#i also know i drew almalexia relatively pristine and untouched by years and vivec not so much but my thought process was#vivecs role as if not a favorite then the most accessible divine or the most “hands on” in a manner of speaking#acting in ways visible to the general population or actions explicitly brought to their attention#like not that almalexia isnt doing anything she is#but the dissemination of information regarding that is very different etc etc etc#anyways to a certain extent a god is the face on a shrine or in art or upon a statue or carving#but vivecs presence is interwoven with the geography of vvardenfell especially and his actions and writings with pubished materials#and the arts and culture and customs etc etc etc#so to me the face of a god you know and feel a commonality with or a god that walks alongside you is a face you would recognize#and vivec is already otherworldly looking enough#the simple mark of the years on his skin in some way grounding him in reality felt more right#that and i think the ways in which he and almalexia care about outward appearance are slightly different- they prioritize different things#and the ways they present outward power and their embodiment of their respective attributes share some similarities as they both have that#important preoccupation with physical power and physical strength to a certain degree#oh my god nobody read this i am yapping so bad.#tes
713 notes · View notes
legbootlegit · 9 months ago
Text
Making smol crab action figures out of smol crabs 🦀
327 notes · View notes
majimasleftasscheek · 11 months ago
Text
Tumblr media
eeljima for MerMay 👀
380 notes · View notes
writers-potion · 1 year ago
Text
Tumblr media
Writing Group vs. Group & One vs. Many Fight Scenes
Group vs. Group
To win the readers' sympathies, make sure there are more (and stronger) bad guys than good guys.
Portray a strong "them versus us" mindset. Sometimes, this is a microcosm of a larger religious, social, racial conflict.
Visual clues are often used to emphasize the divide between the two groups: black coats versus white suits, jeans against shorts, etc. They'll have different weapons, use different languages or speech patterns.
Each group will have a leader who spearheads strategies and motivates the rest. This can be an established leader like the eldet sibling, the head girl of the school, etc. Or someone who has the respect of the others and takes charge spontaneously when the situation rises.
The Point of View
Group fights are easiest to write in omniscient PoV
Otherwise, choose a PoV character who is invovled in most action, and restrict yourself to their line of vision. You can take short breaks (like two seconds after he kills his immediate opponent) to account for how his comrads are doing.
One vs. Group
1 vs. many fights where the single person comes up triumphant are fun, but hardly plausible. The key is to provide an illusion of reality.
Keep the number of opponents realistic: three, not thirty.
He would be more highly trained/have special powers than all of his opponents.
He is positioned in such as way that all of his opponents come at him from only one direction (like having his back to a wall), or he stands in a higher terrains from where he can keep an eye on all of them.
She identifies the group's leader and takes him out first.
She creates a situation which forces the group to spread out, or hits when they are already dispersed rather than tightly knit together.
He uses a weapon which can take out several opponents at once. The most effective one for this would be a machine gun, or the hero holding two swords, one in each hand.
If you want the bad guys to come at the hero one by one, some ideas:
The hero has aken p position in a place where only one villain can squeeze through at one time
The attackers don't arrive simultaneously. They come running, and each attacks as soon as they reach the hero.
The gang has a code of honor which demands 1:1 fights.
The fight is an initiation requirment where the newbie must prove themselves in 1:1 combat with all of the established members.
Some tips:
If a hero with superior arms taking on many who are unarmed will make the readers see him as a butcher, and their sympathies will be lost for good.
If he take out too many opponents at once, the readers wouldn't feel like he has really put up a fight. If your hero has a superpower that allows him to do this, establish the boundaries of this power and push the hero to the limit.
If the novel has too many 1:many scenes, it will lose its dramatic effect, and worse, seem unrealistic as you move along.
If you like my blog, buy me a coffee☕ and find me on instagram! 📸
353 notes · View notes