A Parser in AGS - Thoughts and Ideas

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

Previous topic - Next topic

Trumgottist

You're probably right regarding the ancient games - I have the Infocom Masterpieces CD, but I still haven't finished any of those games. But I think practically all modern games treats examine and look at as synomyms. That's also the default behavior of Inform, which is the IF development system that I'm familiar with. (I also think that's true for the other big systems - TADS and Hugo - but there I'm not certain.)

If you decide to do any such distinctions between similar words, be sure to clue the player in on it carefully. Nobody likes to play "guess the verb". That goes for any puzzle in a parser-based game. The basic rule is that any reasonable synonym should work.

Helm

Oh yeah definately put it in the readme or something, that x and l aren't the same. I've played a lot of IF that uses them as synonims, but they clearly aren't and a lot of games would benefit from the two layers of examinaton of an object, a casual and a more intentful one. if you want l and x to be the same, then at least give us 'inspect' or 'search' for more thorough looking around.
WINTERKILL

Radiant

Quote from: Snarky on Sun 19/03/2006 18:00:38
No, Helm and Ali are right; "look" and "examine" are traditionally different.

Zork online disagrees with you.

So do Advent, The Hobbit, Adventure Land, Hugo's House of Horrors, and any Sierra classic.

What "traditional" games are you referring to exactly?

</pedant>

Requiring the player to both "look at" and "search" everything is rather redundant, and is akin to many modern games where you have to keep talking to an NPC until they start repeating themselves. A more elegant and thoughtful way of solving it would be to use propositions, or simply reveal additional keywords in the look-description.

(e.g. "look desk" -> "It's a simple desk with a drawer and an inkstain." will cause players to want to look at the inkstain, thus prompting further investigation)

Helm

Encouraging user choice in what could and could not be wanting further investigation is a good idea. Not giving everything on plate is a good idea. Hints are nice, lists of keywords are not. Just my opinion.
WINTERKILL

Bernie

Trumgottist: Thanks for the link, I'll check it out! :)

Haha, you're making it hard for me to decide. Looks like the opinions part quite a bit here. Well, in my dictionary, examine is closer to inspect and maybe search, so I think I'll make it a synomym of that.

Obi

I good example of a hybrid gui with parser would be a greatly unknown game named Time Quest. Available here: http://www.the-underdogs.org/game.php?gameid=1161 I hope this is any help to you.

Helm

Timequest unknown? Anyway, Legend took it a step further in Gateway 1 and 2 too. Excellent games all around.
WINTERKILL

HeirOfNorton

Don't forget Eric the Unready!

For those not familiar, all of these Legend games were basically text adventures, but with a graphical interface. THere was a complete list of words that the parser understood on the side, similar to Bernie's GUI. On the one hand, this ALMOST eliminated guess-the-keyword, since the complete set was listed right there. On the other hand, Bernie's idea sounds a bit more ambitious, if I'm understanding it right, being able to add new keywords/synonyms during the game (right?), or at least not giving ALL the keywords away up front.

Looking forward to seeing this.

HoN

Bernie

Hehe, Eric the Unready is fun. :)

My game starts out with a basic list, but you can remove or add words at any time. It's just an aid to click sentences together. If there's an item or character name you need to use often, you could add it to that list so you don't have to type it out all the time.

Radiant

Well, if you're going that way, how about hotkeys or syntax completion?

(note that Legend has an automatic list of all objects in the inventory and all objects visible in the current room; saves a lot of time because in any Z-like engine you cannot interact with anything else anyway)

Bernie

#30
I'm not sure how I'd implement syntax completion. Hotkeys... well, you can perform standard action with the mouse, I guess that's sort of like hotkeys. Best to give it a go:

http://www.origamihero.com/txt.zip
(This is just a tech demo I threw together and lacks a lot of descriptions.)

How to play:

Control your guy with either the mouse or the arrow keys.

Press space to call the parser, or just start typing. Press enter, click on the enter button or double-click to confirm.

Move the cursor to the top to open the inventory window or access the memory GUI. Move it to the bottom (while parser is off) to access the cursor menu. Click on it to open the parser. Select a cursor and right-click on locations to trigger an action (while parser is off).

While in parser mode, press the right mouse button to add to the parser whatever the mouse is pointing at (room stuff, word list, inventory etc).

Click the white button on the parser GUI to open the 'What is' GUI. You can drag/drop all of those GUIs.

Other keys:

L/R Arrow keys while parser on: Change word list selection
Right Shift: Add selected word from word list
Right Ctrl: Like right mouse button

Enter a dialog with talk to [person]. Now you can use 'Tell about [stuff]' and 'Ask about[stuff]'. 'Say' can be used for answering yes/no question.

Please let me know if you find this thing easy to handle.

Radiant

Syntax completion? Easy. In on_key_press, whenever TAB is pressed, replace the current word with the first word in the dictionary of which it is a prefix.

lo_res_man

sounds interesting, hope to see it in action. 8)
†Å"There is much pleasure to be gained from useless knowledge.†
The Restroom Wall

Pumaman

I really like the sound of the idea -- but the important thing is to actually take advantage of the freedom of the text parser by providing responses for the many and varied things that the player can type. There's nothing worse than playing a text parser adventure, only to find that the game only responds to the standard "look at X", "pick up Y" -- in which case you'd may as well just use icons and the mouse.

Of course, developing a game whilst providing responses for all these things is a considerable undertaking; if done well I can imagine that even coding a single room could take many hours to make sure that the game is able to respond relatively intelligently to things that the player could reasonably be expected to try.

Bernie

Quote from: RadiantSyntax completion? Easy. In on_key_press, whenever TAB is pressed, replace the current word with the first word in the dictionary of which it is a prefix.

Oh my, I still don't understand how I'd go about that. Would you explain this some more, please? I couldnt even figure out how to retrieve a word from the dictionary.

Pumaman: Good point. I already have a few puzzle ideas you couldn't do with a LEC gui. The cursor functions are for basic things only - mostly for getting around, initiate dialogs, picking up and so on. Hotspots are only for general things - a cupboard may have a 'cupboard' hotspot, but its shelves will not. That would be up to the player to figure out. 'Look' would give the player a prod in the right direction in such situations.

A game like that will take more writing and I don't mind that, I'd rather write more than spend most of my time on the graphics, like I would have done for the LEC-style version.

lo_res_man: Well, you could always give the tech demo in my last post a go! ;)

Bernie

Aww, I was hoping for some feedback on the tech demo. Well, it can't be helped. I'm gonna start with the actual game production now. Thanks to all who posted their thoughts. :)

Off I go~

Radiant

I've looked over it... the part where you click your sentence together is kind of nice (although a simple command prompt might in fact be easier) but the part where you can add to and delete from the word list I found actually rather annoying. Basically, the game already has its internal word list. The player first has to guess which words are on that list before they actually appear on the menu. And he should avoid pressing 'delete' at all times because that pointlessly removes a word. So your interface feels like a "guess the word" game, and once you've guessed enough words you can play the actual adventure. If this were a full game and I would be playing it, the first thing I'd do is ask for the full word list on the hints forum; once I've inserted all of those I'd play it like a LucasArts GUI.

I think you should list all the verbs from the start (there shouldn't be that many to begin with, few games take more than twenty verbs to complete) or never list any of them and use a plain typing interface.

Bernie

Thanks for giving it a go. I'm not sure if I understand what you mean by a 'simple command prompt', please explain. As it is now, you can type away at any time, and clicking sentences together isn't necessary if you don't want to. It's supposed to be just an aid, after all.

I could remove the check for known words from the word list so it's possible to add words even not on the list, but that also seems kind of pointless. Removing words is something I've added in case someone wants to customize the list completely to prevent having to scroll through it.

Removing the whole list GUI is something I don't want to do. I'm considering adding all the available words from the beginning but haven't reached a decision yet. I guess this one will depend on the feedback of the beta testers.

I wouldn't mind figuring out usable words by myself and would add those I need often as I play, but I'm a player with strange tastes.

Pseudopod

To be honest, I'm not really sure why you'd make a game with a text parser. It's not to say I wouldn't play it if the storyline interested me, and I've played good interactive fiction. I enjoyed all of the old Sierra text parser games. However, I think that with a sufficiently good graphical interface, like what we can have today, there's not much of a reason to use a text parser, unless you do something really innovative. Which would be cool.

Helm

This is now easily my favourite AGS game in production. This is the best hybrid gui I've seen in an amateur adventure game, and barring straight up IF, the best in most commerical games too. I just hope you make good use of it. I found it very intuitive. Awesome that we have now, a great-looking game that also depends on good writing to work. I just hope you do the good writing :P

It would be a good idea to eventually make the code for this public because if I ever make another multi-screen adventure game, I'd really love to use a variant of this GUI.
WINTERKILL

SMF spam blocked by CleanTalk