Dark Forest Crow Notes - Interactive fiction, text-interactions based and roleplaying games
Friday, July 8, 2016
Classical text-based games mechanics explained: Galatea review part 1
Recently I mentioned Galatea - time for a brief review.
I decided to review Galatea because this game focuses on the interactions between the player and NPC in a very typical and common way for any kinds of interactive fiction games and programs. It's a bit pretentious also.
So, let's get started. You can play it here or here. We launch it and we see:
You come around a corner, away from the noise of the opening.
There is only one exhibit. She stands in the spotlight, with her back to you: a sweep of pale hair on paler skin, a column of emerald silk that ends in a pool at her feet. She might be the model in a perfume ad; the trophy wife at a formal gathering; one of the guests at this very opening, standing on an empty pedestal in some ironic act of artistic deconstruction --
You hesitate, about to turn away. Her hand balls into a fist.
"They told me you were coming."
I like how it starts. She seems to be hot. I press enter.
Galatea
Copyright (c) 2000-4 by Emily Short. (First-time users should type 'help'.)
Release 3 / Serial number 040208 / Inform v6.15 Library 6/10
The Gallery's End
Unlit, except for the single spotlight; unfurnished, except for the defining swath of black velvet. And a placard on a little stand.
On the pedestal is Galatea.
Fine. >> Hello, Galatea!
"Hello," you say -- and stop. What would you say next? 'I'm a famous critic, be on your best behavior'? There's no etiquette established; and then it strikes you as strange that you should bother to be concerned.
Fortunately, the little awkwardness is lost on her. "Good of you not to walk away again," she replies.
That's not a verb I recognize.
Wow, this is the game that can actually produce a response to 'Hello' input. First test passed. Good job, fellow developer.
You may notice 'That's not a verb I recognize.' in the end of the output - it means it's not that good. It's actually a response to 'Galatea' input.
Logic of the game (most likely) goes in this way: it receives 'Hello, Galatea!' input string. It sees punctuation mark 'comma' and then separates input into two strings: 'Hello' and 'Galatea'. Response to 'Hello' is fine, but the wont be any responses to 'Galatea':
>> galatea
That's not a verb I recognize.
>> Galatea
That's not a verb I recognize.
>> Hey Galatea!
That's not a verb I recognize.
>> Galia!
That's not a verb I recognize.
This is sad and strange at the same time. Let's try advanced techniques:
>> how are you?
That's not a verb I recognize.
>> you are nice
That's not a verb I recognize.
>> hell!
That's not a verb I recognize.
>> do you hear me?
That's not a verb I recognize.
>> do you read what I type?
That's not a verb I recognize.
It seems we won't have any actual conversation with Galatea, guys. Capabilities of this creation (and, of course, capabilities of framework that was used to program this) are limited. I'll try to focus on keywords.
>> look around
I only understood you as far as wanting to look.
Damn!
>> look
The Gallery's End
Unlit, except for the single spotlight; unfurnished, except for the defining swath of black velvet. And a placard on a little stand.
On the pedestal is Galatea.
>> look at Galatea
She is facing away from you. You cannot see her face, only her hair, and the line of her shoulder. It's hard to know what she's looking at -- the velvet backdrop, if she has her eyes open, but there's not much to see in that. Mostly, it is obvious, she is not looking at you.
Her green dress widens out at the knee, falling over the pedestal on which she stands in a way that would probably be very awkward, if she wanted to move.
>> look at dress
If you knew designers, you might recognize it: it looks expensive. A shimmering column from the bodice down to the knee, where it flares to cover the whole base of the pedestal.
I can't ask 'how are you' but at least I can take a look at her awesome dress.
>> look at pedestal
It's hard to see it, under the sweep of the gown.
>> look at gown
If you knew designers, you might recognize it: it looks expensive. A shimmering column from the bodice down to the knee, where it flares to cover the whole base of the pedestal.
Game understands synonyms, that's great.
>> look at velvet
Heavy black velvet, making her skin seem even paler and more alien by contrast.
I don't even know what to type next. Hm...I have a girl near me, why do I look at her clothes?
>> look at her skin
Smooth, pale, and with a sheen, as though polished.
Yeah, baby.
>> look at her face
You can't see the face, given her current position.
>> look at her hands
She has slender hands with tapering fingers. At the moment, they hang loosely at her sides, sometimes hiding themselves for a moment in the folds of her gown.
Hot!
>> look at her neck
You can't see the throat, given her current position.
>> change the position
That's not a verb I recognize.
Sad. Maybe I can ask her about her damn artist?
>> ask Galatea about artist
A pause. "I don't know where he is," she says. "Or who, or what, for that matter. He sold me immediately after my waking. While he was carving me, there was no strangeness, but afterward..."
That's better, I guess I got the idea of interaction with Galatea.
>> ask Galatea about myself
"What do you know about me?" you ask. (They told her you were coming; does that mean you, or some abstract viewer? Are you really the first, this evening, to have rounded this particular corner?)
"Nothing," she says, "other than that you have come to look at me."
>> ask Galatea about dress
She shrugs in it. "It looks odd, doesn't it?" she says. "I insisted on clothes, and they bought me this."
>> ask about artist
"Tell me what you do know about him," you prompt.
"He hated people -- though I think he was also quite lonely. It was a question of not having patience for anyone." Very quietly. "If anyone tried to come up to the studio he'd get out his shotgun and fire into the air until they got the idea. The woman didn't even bring milk if she knew he was there. They had a system of leaving things for each other so that they didn't have to meet. And when he sold me, it was the same. He wrote letters, made arrangements; did not even stay with me, when they came to look me over."
>> ask about Galatea
"Read the placard," she says. "That's what it's there for, after all."
Let's speed up the process
>> hug Galatea
You know better than that. Naturally. But the fact that it crossed your mind surprises you a bit. You have never had any trouble keeping it clear in your mind when you're dealing with a piece of machinery rather than a person.
>> hug Galatea!
It's a bit awkward at this angle -- the best you can manage is to put your arm around her at the waist. She relaxes, smiling wanly. "Thanks."
>> read the placard
Large cream letters on a black ground.
47. Galatea
White Thasos marble. Non-commissioned work by the late Pygmalion of Cyprus. (The artist has since committed suicide.)
Originally not an animate. The waking of this piece from its natural state remains unexplained.
>> ask Galatea about herself
"You've read the placard, so you know what they think is important... I'm not sure how much there is to add. I was carved. I woke up. And here I am."
Sad, sad girl. I think I know how to cheer her up. And I'll definetly do it in the next article.
I enjoyed my experience. If you are interested in understanding text-based games mechanics you definetly need to try it out.
Here is the summary of things I've noticed during the walkthrough:
- Dictionary of the game is limited as always.
- Normal, natural language strings are not ok: game will not understand you. Only specific sentences and replics are allowed. Still, processing of input strings is better than in most of text-based games nowadays.
- We can't say 'how are you' to NPC. You can't say 'you are nice'. Game didn't respond to NPCs name: Galatea. We have no freedom at all. It's a common thing for text-based games so don't be surprised. Usually, such games have some kind of rules, and if you follow the rules - game responds.
- Game sometimes produces different output strings in answer to the same input strings. It's very good in my opinion and (strangely) it's a rare thing in nowadays interactive fiction. It also means that game tracks it's state. Very good.
Stay tuned.
No comments:
Post a Comment