A Parser in AGS - Thoughts and Ideas

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

Previous topic - Next topic

Bernie

#40
Pseudopod: Text parsers allow for more options and depth. That's reason enough for me to use one in my game. Knock on the door, listen at the door, hide in the closet, look through the keyhole, etc... :)

Helm: Good to hear you like the interface. I'm hoping that even players not into parsers will find it easy enough to handle.

I'm pretty sure that the story itself is interesting, but I'll have to enlist the help of a few proofreaders later on because my english isn't as good as I want it to be. The game is set up to only tell the whole story if you dig deeper and follow some smaller leads. You can play through it absent-mindedly, but then you won't find out about a lot of things. And you probably won't get the woman, too.

About releasing the GUI code - it relies on a lot of custom functions, I think I could make a module out of it.

nihilyst

Quote from: Bernie on Fri 24/03/2006 14:31:04
I'm pretty sure that the story itself is interesting, but I'll have to enlist the help of a few proofreaders later on because my english isn't as good as I want it to be. The game is set up to only tell the whole story if you dig deeper and follow some smaller leads. You can play through it absent-mindedly, but then you won't find out about a lot of things. And you probably won't get the woman, too.

That's what I liked on The Colonel's Bequest! I wish you good luck!

Trumgottist

I've now tried it too, and I approve. Ã, :)

Here's a few nitpicks:

Be sure to add synonyms. I want to be able to type "talk to man", since it's easier than typing "talk to " and then click on Sergeant Fielding.

"It" would also be nice, if it's not too big a problem to implement. (So I could do "open door" "close it". Not a big issue for a door, but for things with longer names, it's a very nice feature.)

I did find the conversation mode a bit awkward initially (that you have to say bye before being able to do anything else), but I think I can get used to that. I think I understand why you've done it like that.

I like that I can play completely with the keyboard. Movement, and things like that. I noted some exceptions, that would be nice if you added keyboard control to: Save, load, quit, inventory (i for short), memory.

Was it supposed to crash when exiting through the door? (I'm guessing yes, since it's only a proof of concept and not a real demo.)

Bernie

nihilyst: Thanks! The Colonel's Bequest was an awesome game. So many details to figure out if you pay close attention to things...

Trumgottist: Thanks for trying it.

->Talk to man
This would require some special code that figures out to which character the player is the closest to. Assuming you have two people of the male gender on the screen and you type 'talk to man', the game needs to know which one. However, you can also do 'talk to sarge' (he even tells you to do that in the actual game), or 'talk to alex'. I'll try to add it if it's not too much trouble, but I can't promise it.

->It
I can't think of a good way to code this. I'd have to re-write way too much of the code.

->Dialogs
I could make an automatic 'bye' if the player wants to walk away by clicking or hitting one of the arrow keys. Yep, gonna add that.

->Keyboard control (save, inv)
Good idea. I'll add that. :)

->Crash
I simply took that one room out of the game and put a few lines of text in it to make a small GUI demo.

Radiant

By a "simple command prompt" I meant one like in the old AGI/SCI games - so that people can just start typing without clicking anywhere. I think you should offer both; in my opinion, keyboard shortcuts are very important to a game's playability (just like Trumm said he wanted to type 'talk to man')

Text parsers do allow for more options. Interestingly, NONE of the old Sierra games ever used any of that, which is why it comes natural for Sierra games to use the icon system. On the other hand, most Infocom/Legend games and many IFfies do use those options effectively. So yes, be creative with unusual verbs, that's very cool!

Coding "it" would be relatively easy. Whenever the player refers to a hotspot, character or inventory item (i.e. any noun that isn't the name of a character), remember its name in a string. When parsing, replace "it" by the value of said string. Ditto for "him" and "her".

"Talk to man" - infocommies would respond by querying "Which man do you mean? The sergeant or the baker?" Ideally, a one-word answer would suffice; otherwise, having the player repeat "talk to baker" isn't too bad.

This game concept sounds interesting. I do hope you'll come up with a better plot than Laura Bow, because I found the story of Colonel's Bequest exceedingly lame and rather anticlimatic (I mean come on, you can't do a thing about any of the murders or other intra-character complications, all of those complications are entirely irrelevant to the main plot, you never learn anything except after the fact, the puzzles are simply glued on and make no sense story-wise, the murderer has no motive other than being a raving lunatic, and the end of the game leaves you with nothing but a lot of nasty gossip about dead people... who friggin' cares? Come to think of it, this means that you will find it almost impossible to not come up with a better plot)

Bernie

Radiant: Butbutbut...!1 you CAN just start typing like in the AGI/SCI parser games! You can also press space to call the parser. No clicking needed if you don't want to. And I agree that Sierra games could have done a lot more with their parser. Very nice games, still. QFG2 is one of my favorites.

For the 'it' thing to work, I'd have to add a line of code to every action involving that location. And I'd have to retrieve the word out of a whole string like 'look at the door', and I have no idea how I'd get 'door' out of it and put it in another string. I'm a bit stumped here. It also seems like a lot of additional work throughout making the game.

Note that The Colonel's Bequest is not a big inspiration for my game, I just liked its concept. My game only features a bunch of sidequests. The more of those you figure out, the more story will be revealed.

Hero Theorem basically tells a story about a naive albino policeman, a psychologist with a few love issues and a boy who witnessed a murder. It also touches subjects like terrorism and politics, but that's about all I want to tell for now.

lo_res_man

Sounds deep and meaningful. hope to play it when its done. this game will continue to receive my support ;D
†Å"There is much pleasure to be gained from useless knowledge.†
The Restroom Wall

Helm

Remember to allow diagonial movement with the keyboard (some of us still have numpads and adore them) and also, I'd suggest pixel-perfect movement for the characters. That is to say, every step the character makes, he moves exactly the length of pixels his stride covers, no gliding, no skipping. It's the ubernitpick, I know, but these things help immersion!

And yes, Sierra games didn't do anything with the parser that you wouldn't be able to do with an icon interface, and this is mainly why they're more closely aligned with the latter point and click adventure games and not the modus operandi of traditional IF.
WINTERKILL

Bernie

lo_res_man: Can't promise that the game will be deep or meaningful, but it should at least be something different. :)

Helm: Diagonal movement is a good idea, I've added that now. Getting the walking animation to look right is always a bit hard, and if the character moves diagonal (but not diagonal enough to show the upwards loop), he'd still slide slightly even if it's looking good when walking a straight line. I guess 8 direction animations could fix this, but they'd be too much work.

sergiocornaga

I was surprisingly happy with the parser interface... it seemed to work very well in conversations. But you must make it so that "say bye" or "say goodbye" wotk, as well as just "bye". Heh, if you tap enter repeatedly it looks like he's touching himself.  :=

Bernie

Good idea, will do! :) The 'enter' thing was just me debugging my Take() command, I forgot to remove that.

lo_res_man

Quote from: Bernie on Sat 25/03/2006 06:00:40
lo_res_man: Can't promise that the game will be deep or meaningful, but it should at least be something different. :)
sounds more deep and meaningful then oh,a quest to buy porn.
†Å"There is much pleasure to be gained from useless knowledge.†
The Restroom Wall

Grundislav

Hey now, the quest to go out and buy porn is more deep and meaningful than you might think!

lo_res_man

†Å"There is much pleasure to be gained from useless knowledge.†
The Restroom Wall

SMF spam blocked by CleanTalk