Modeling conversation flow: types of NPC Initiative

In Galatea, one of the things I wanted to do, but managed very badly, was to have Galatea continue the conversation herself if you stopped to listen to her rather than talking. But the number of such things she had to say was pretty sparse, so it wasn’t worth stopping to wait after every turn, and there wasn’t always any clear sign when she was likely to continue. Moreover, the mechanism for this was very hacky and didn’t allow her to have more than one thing planned to say at a time.

Alabaster does this much better. Instead of having the NPC’s speech be part of the player’s action, the NPC actually has a separate action in which he speaks, and he has a list of quips to say next. He will go on saying things from this list if the player is silent, or if the current conversation thread has come to an end and it’s time to change the subject to keep conversation flowing. (Galatea has no model of when conversation threads have ended, either.)

New quips added to the list have two kinds of priority. They can be marked either “obligatory” or “optional”, and either “immediate” or “postponed”. Obligatory quips are things the NPC definitely means to say sooner or later, even if the player interrupts with some other comments first; optional quips are things he might say, but is equally happy to skip if the conversation moves in another direction instead. Similarly, “immediate” means he’ll say this next even if there are other things on the list — it goes in at first position — while “postponed” means the quip should instead go at the end of the list.

Between them, these cover a number of different ways an NPC could want to go on with the conversation:

Continue reading “Modeling conversation flow: types of NPC Initiative”

Sims 3: The Tragedy of Fred Chilton

Fred was one of three adopted children of Howard, a chubby, rigorously logical Sim with absolutely no romantic ability. As a young adult, Howard frankly assessed his odds of having a family through dating and marriage and decided to start adopting instead. And I have to say that he wasn’t a bad father: played many games of chess with his eldest, Lily, teaching her logic; spent time tutoring his younger two, Fred and Dandelion. He made a much better parent than his half-sister Kumquat, who left her daughter Rose to grow up more or less dependent on various maids and babysitters.

Fred's last bath But one day in his early teens, Fred had a mishap: he tried to take a bath when already extremely tired. This led to a strange, locked-in cycle: he kept passing out from exhaustion, then resuming his bath, then passing out again… and he never seemed to finish either task. Eventually he also needed to use the bathroom and get something to eat, but these other needs couldn’t overpower the bath/passing out cycle. I tried various things to snap him out of it — gave him different instructions, tried to cancel some of his orders, sent Dandelion in there to talk to him (and, I hoped, rescue him). No good. After a solid day or so of bathing, Fred started to starve to death, and I reconciled myself to his doom. I did throw Rose a birthday party, hoping that that would at least catch his attention — Sims seem to come running from all over when there’s birthday cake to eat — but instead there was just the rather ghoulish spectacle of the family and friends partying down while upstairs Fred scrubbed and splashed away his last three hours, his starvation clock ticking away.

But then… miracle! The grim deadline came and went. Fred was now officially dead (his only remaining task being “Expire”, his starvation clock counted all the way down) — but he went on bathing! I had a new idea, a pleasingly gothic idea. I got out the build tools and bricked Fred’s bathtub away so that none of the rest of the household would see him. He could go on bathing eternally in there, I figured, but everyone else’s life would go on.

Screenshot-11Alas, that bricking up turned out to be all that was needed to snap Fred back to awareness. He got out of the tub and died in his tiny, airless, lightless enclosure. I had to sledgehammer a hole in the new brick wall so that he could be found by his relatives and laid to rest properly.

Howard was devastated. A team of local scientists sent an offer: they would let Howard see Fred again, if Howard brought Fred’s remains to the lab. In the dead of the night, Howard crept out of the house with the coffer containing Fred. The procedure went ahead. The scientists said it was a failure, but Fred’s ghost materialized and began hanging around the house, with all his old goals and skills still working. Except for the transparency and the creepy eyes, the guy’s as good as new.

The first thing Revived Fred did was have a big meal.

King of Shreds and Patches finished

A few frustrations and complaints, but overall, a lot of good stuff in this game. (A fuller review is here.)

As a side note, I’m really delighted by how many substantial and interesting games have come out outside of competitions this year. A very strong showing so far, and we’re halfway through the year. (I’m still looking forward to Cryptozookeeper, too.)

Current playing

Started in on Jimmy Maher’s The King of Shreds and Patches this evening, and am enjoying it quite a bit after the first couple of hours.

The use of language here is not Elizabethan, but isn’t trying to be. Every once in a while I’m caught by a word that seems wrong even so, because it mentions a concept that I don’t think an Elizabethan Englishman would know about or express in quite that way, but the effect is mild. Other aspects — such as the period printing equipment and the layout of the contemporary London streets — feel solid and plausible.

Meanwhile, the plot is already rolling along at a good pace. There’s a lot of the old standby of finding diary pages and the like, but I’m willing to forgive that a bit because it’s so much in keeping with the Cthulhu/King in Yellow mythos to which the game belongs — and quite a lot else has happened.

More Sims 3 experiments

Experiment the second (and a considerably longer play this time than Doofus vs. Delores). To introduce the cast:

Harry. A Good, Frugal, Neat Bookworm whose life goal was to become a secret agent.
Lisa. A snobbish woman with no sense of humor whose life goal was to have a net household worth of more than 100,000 Simoleans.
Lars. An evil, mean-spirited character with a good sense of humor whose life goal was to become emperor of evil.

These were all siblings, and I figured that the good/evil dichotomy between Lars and Harry, and the funny/unfunny between Lars and Lisa, would produce plenty of conflict (always the basis for a good plot, I figured). And indeed they did fight a lot. Lars enjoyed picking on Lisa, but also found her so boring that they didn’t interact for long. Lars and Harry enjoyed one another’s company at first, but soon Lars’ evil nature made it impossible for them to get along. Rather pathetically, for a while Lars had a goal of becoming friends again with Harry, but I eventually cancelled this when it became clear that it was simply impossible.

Because they were all created at around the same time, they all died at around the same time too. Lars went first, then Lisa. Unfortunately, Lisa happened to die while Harry was cooking. The pan was forgotten on the stove while Harry watched Lisa being Reaped. The inevitable fire ensued. The Reaper noticed the fire but said he’d be back later because he didn’t feel like doing any more reaping on an empty stomach. And come back he did: the fire got extinguished, but Harry died anyway later the same evening. He was the only one not to get his life’s wish fulfilled, incidentally — possibly because he’d spent so much of his neat-freak life making beds and cleaning toilets.

Continue reading “More Sims 3 experiments”