A Parser in AGS - Thoughts and Ideas

Started by Bernie, Sat 18/03/2006 19:28:44

Previous topic - Next topic

Bernie

I'm a fan of sierra-style parser games and gave Interactive Fiction a try recently, too. We can use text parsers in AGS and I've been exploring it for a bit.

Simulating a Sierra text parser isn't hard, but may turn off a lot of players. So I tried to enhance my parser so it's possible to add custom words, objects in the world and inventory item names to the parser with a right click. You also can see location names when the parser is open. Additionally, there's a way to perform standard actions with a right click when the parser is deactivated, kind of like in the SCIV games (KQ5).

I've added an Ask/Tell/Say dialog system. You'd enter a conversation with 'talk to' and would have to come up with topics by yourself. A listbox keeps track of important names and topics and can be used to trigger an ask/tell command for the selected topic immediately.

My questions:

-Would anyone mind playing a game with such a text parser where it's up to you if you click your sentence together or just type it?

-What would your parser system look like, what features would you add?

-Would a text parser keep you from playing a game?

Radiant

That depends. A good parser would really help a game. But Sierra's games always had a rather mediocre parser, so it might as well not be there. If you can type "tell the baker to eat all breads except the thin one, then go east" then it gets interesting. I'd suggest reading up on your Infocom classics, or Legend games, or Z interpreters in general such as WinFrotz.

Bernie

#2
This is set up like an old sierra game, meaning you'd control the character with the arrow keys or the mouse (QFG2 etc). It's not an IF or pure text game, therefore 'go north' and the likes aren't applicable. You'd just walk out of a room. You can do things like 'eat a pie', 'fart in the baker's general direction', or 'shove the towel up the pipe'.

I could, in theory, make the parser accept two commands in a row, but is it worth the effort for a game like this? (example: 'look at clock, open door' with the ',' seperating the commands)

Screenshot:


Nikolas

No it wouldn't keep me from playing the game. Provided you use the parser in a good way. Meaning:

Having more than eight commands, needs to be used in a clever way. "Fart to the bakers direction" is hillarious! Use that, for starters! Honestly! ;D


Bernie

By the way, the word list is customizable and just meant to help get sentences together quickly. You could easily add 'fart' to it, if you really wanted. :) 'Use' would only work on standard things like doors. Open and close works on them, too.

The parser has three modes:

1. Normal: Do anything you like, kicking puppies, reading dirty magazines, call beatrice with cell phone, and so on. It's necessary to be somewhat close to the objects in question, otherwise the game will bitch at you for not being close enough. Especially important when talking to somebody or rooms with two or more doors. This is not as touchy as sierra's old games, you just need to be in the general area.

2. Dialog: Initiated by 'talk to (character)'. Allows looking around, asking about things, telling about things and the 'Say' for answering, for example, yes/no questions. You can't move the player character while in dialog mode.

3. Special: If the player is in a special situation, like, say, in a dream sequence or tied to a rich woman's bed. These can also be restricted: No walking around, unable to use hands, etc.

Trumgottist

Why not move the player to where he needs to be rather than complaining that he's not close enough? That sounds like something that's potentially quite annoying.

Looks interesting, though.

Helm

This is my preffered hybrid gui, personally. I'd definately love to play this more than a typical LEC-style point and clicker, as there's quite a bit more depth possible with parser-driven games.

Having made Gladiator Quest however, I can tell you you ARE going to lose some of your audience. People have grown too accustomed to pointless clickery.

Just make sure you implement shortcuts for the more repeated commands. l door should work as 'look door' and so on. Binding a few game-related repeated commands like QfG 1 and 2 also is a good idea. So if for example there's a lot of gunplay in your game, ctrl-g should parse 'take gun out of holster' automatically, and so on.

Hero Theorem just became 10 times more interesting, for me.
WINTERKILL

Bernie

Trumgottist: If you have two doors on a screen and you say 'open door', the game needs to know which one you meant, so I've implemented a distance check for occasions like that. It would make coding the game a lot easier, so I'd really like to keep it.

Helm: Yeah, I'd expect some players to be turned off by a parser-driven game, but those would probably not be the kind of players I'm making the game for, anyway. You did a great job on Gladiator Quest and I'd love to see more AGS parser games.

The idea behind this is to make a small, 'less graphics' and 'more content' version of Hero Theorem; it's a very text heavy game and I want to train my writing skills a little. I still want to make the LEC-like version, but I don't have as much time as I want to for developing games, so I need something I can make fast progress on.

The shortcuts are a good idea and easy to implement, I'll do that.

The reason I want to make a parser game is because I feel they're more involving. Dialogs are a good example: LEC games present you a few options you can choose from while in a parser game you'd have to come up with a topic by yourself. The 'What Is' GUI will offer a little bit of aid along with detailed informations about characters, objects and events.

Helm

interaction with an environment, even if it strictly to get information to the player is much more rewarding in parser games. Just clicking 'eye' on everything has an adverse psychological effect for the player. Getting him to think of the environ as a living thing to be explored, and not a collection of hotspots is a very good idea.

In that sense, although having right click as 'look at' like in Quest for Glory 1 and 2 is a wonderful idea which I endorse completely, be sure that a lot of vital information can be found out and accessed through creative exploration of the environment, not just 'looking at' everything, be it through clicks or parsing.
WINTERKILL

Radiant

Quote from: Bernie on Sun 19/03/2006 01:18:12
Trumgottist: If you have two doors on a screen and you say 'open door', the game needs to know which one you meant, so I've implemented a distance check for occasions like that. It would make coding the game a lot easier, so I'd really like to keep it.

Which door do you mean, the red door, the small door, the rusty door, the sweet-smelling door or the invisible door?

(and good parsers let you answer that question in a single word...)


One thing I do like about parser games is that there's no pixelhunting. There are slightly too many point-n-click games (including several Sierra classics) where I got stuck due to simply not seeing some small object, that I should have been able to find through a series of "look" statements. Then again, there are several parser games that have crappy descriptions and don't tell you what to look at (such as an infamous puzzle in Space Quest Zero).

Trumgottist

See Radiant's post. The extra coding will really be worth it! It'll make the game feel a lot more polished instead of annoying the player.

Bernie

#11
Radiant/Trungottist: I don't know if I can code this, but I'll give it a go. It'll have to be all non-blocking, too.

Helm: I'll try. Can you name a few games that do that? I'd love to try them.

EDIT - I managed to code it. If the character isn't close enough, the game will detect this, move the character to the location and execute the command again.

Helm

Example. Pressing the 'look at' icon on document pile or typing 'look at documents' wields something in the lines of 'the few memos on the top are pretty uninteresting, maybe however there's something more the abundant paperwork in this office'. If then the player types 'browse documents' or 'examine documents' he should get a more thorough description with some more important or relevant information, and maybe a hint about something being underneath the pile of paper. Then if the player types 'look under documents/papers/memos' (which there's no way to do with a point and click LEC style interface) he should perhaps find an item under the pile of paper.

Remember, 'look at' and 'examine' ( l, x ) are and SHOULD be considered different things by good IF. There's one thing to casually inspect something and another to be thorough about it.
WINTERKILL

Chicky

Seem's like this might be helpful to what you're trying to do bernie.

http://www.lumpcity.co.uk/~skimbleshanks/Compiled2.rar .

It's Brisby's last project from the release something. Seem's he was going in the same sort of direction as you.

Radiant

Quote from: Helm on Sun 19/03/2006 13:32:17
Remember, 'look at' and 'examine' ( l, x ) are and SHOULD be considered different things by good IF. There's one thing to casually inspect something and another to be thorough about it.

I've never seen a single IF that treats "look" as different from "examine". Indeed, people tend to use X since most good IFs don't treat "look tree" as a proper sentence (which indeed it isn't; the proper sentence requires a preposition). X is then a shorthand for "L at".

Ali

#15
I would love to see more games using text parsers for dialogue in the manner of Starship Titanic (which admittedly many people hated). I think using a parser for interactions can be tiresome, but I often find choosing dialogue options to be extremely limiting, particularly when I'm stuck in a game and I get sick of seeing the same options again and again.

I've never really played with the AGS text parser so I don't know how it would handle flexible conversations.

I do agree though that 'look' and 'examine' should be and were different in all the Infocom titles I've played.

Bernie

#16
Ali: You can click your words together, almost in a LEC-like fashion. The game also makes spaces between words for you if you didn't put one in, plus there are standard actions you can trigger with point and clicking. Right-click on look at in the word list, right click on the location and press enter (or double click, or hit the enter button) and off you go.

About dialogues: In my system, you'd start out with something like 'ask about alexander', your colleague. If your dialog partner says something interesting, you can dig in deeper. If you were told about 'alexander's hair gel addiction' you can also do 'ask (or tell) about alexander's hair gel addiction' and so on. Sometimes you need to know a few facts before you can go off and ask a question.

Helm: Thanks for the explanation. I've got a few ideas for puzzles already. I also think it's a good idea to make look and examine different. I'm going to add it to the custom verb list by default.

Chicky: That's pretty interesting, thanks for sharing. I've done a few things Rui did already. I miss the lad, I do.

Heh, coding this thing is fun. I think it'll be ready for actual game production soon. I'm gonna enjoy the writing part even more.

Screamsnot!1

Trumgottist

As radiant says (we seem to agree quite a bit here), anyone familiar with IF will expect look at and examine to be synonyms. If you want to hide things more, you could make use of either search/look under/look behind or layers (X PHOTOGRAPH gives "It's an old photograph depicting uncle Albert." X ALBERT "The tie Albert is wearing looks familiar." ...).

Screenie is looking nice!

Trumgottist

The IFWiki may also be of interest to you. There's a lot there on the art and craft of creating interactive fiction, and some of it would apply to your game. (Some is even relevant to non-parser driven point and click games.)

Snarky

No, Helm and Ali are right; "look" and "examine" are traditionally different. "Look" just gives you a description of what you see around you (essentially the "what is" verb of early Scumm games), and is useful mainly for discovering nouns you can interact with. "Examine" actually allows you to study the thing in detail.

SMF spam blocked by CleanTalk