intfiction.org

The Interactive Fiction Community Forum
It is currently Mon Nov 20, 2017 4:38 am

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 40 posts ]  Go to page Previous  1, 2, 3, 4  Next
Author Message
PostPosted: Wed Apr 13, 2016 3:15 pm 
Offline

Joined: Thu Oct 30, 2014 12:10 pm
Posts: 613
Ok--hmm. I mentioned Six earlier but Augmented Fourth by Brian Uri might also be worth looking at. It's relatively large and old-school style, and I think there are some random elements in that spells may or may not work when you cast them, depending on how skilled you are, and NPCs that move around (I assume with some degree of randomness). It also looks like its source is available. I don't know if there are transcripts available though.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Wed Apr 13, 2016 3:39 pm 
Offline

Joined: Fri Jul 23, 2010 5:20 pm
Posts: 257
Sounds like a very interesting project - and thank you for the arXiv articles, I had no idea this had been considered before! :)

More specifically re: your questions:
  • If you want to run some kind of automated play, there are several interpreters which may be useful (including the HTML ones), but you could also take a look at dumbfrotz (in the source for Frotz): it takes input on stdin and output on stdout, which could be interesting.
  • In the Inform language, the endings are triggered by a "deadflag" variable (see for instance this page). Usually 1 is death (bad) and 2 is winning (good), but authors can define more. If you have time and technical know-how, you could look into modifying an interpreter (such as Frotz) so that when the value of deadflag changes, you can signal to your controller (or whatever name the program that monitors the AI is called) that you have an ending (and can give a score or something); and since it's kind of standardised, it would save you some work. An alternative would be to detect when you have a message like " *** You have won ***" (ie detect bold and the ***), or the "would you like to restore, restart" etc messages (or the default response "please choose one of the above" that you get in that case).
  • I think there are many ways a game can use randomness, and it depends what you want to do with it: do you just want a little variation in the text/descriptions, or do you want randomness to actually affect the puzzles or the game logic? In any case: if you're looking for random, changing descriptions, there are a few games (such as, as bg mentioned, the games by Andrew Schultz) that have a bookcase or a TV or something like that and interacting repeatedly with them will give you different, often cyclic text ; however, I believe that most times it's just flavor text, so it's easy to overlook or bypass (although it'd be interesting to see how your AI copes with it). I think there are quite a few games that have NPCs who trigger random descriptive text in the room ("Gus is scratching his head", "Gus looks like he's going to say something, but just sighs", etc), which then makes the actual room description changing and thus is more likely to throw off the AI. (I'm really not sure what specific games have that, maybe Guess the Verb[i]? It's a fairly standard trick, though. Ah, maybe [i]Planetfall? Deadline?) If you're looking for random room connections, I don't know many games which use them (because they can be unfair to the player), but there might be some mazes like that (I'd be curious to see if an AI can figure out the standard tricks to solve mazes).

And of course, if you have the time and the computational resources, I think throwing as many games as you can to your system is a good idea and will only make it better :) If not, you might want to look at games set in the same universe or in the same series: there are similar elements, probably the same writing style, and the same kind of puzzles. Off the top of my head, you can look at the Zork & Enchanter trilogies, the Unkkulia series, the Earth & Sky series, Muldoon Legacy & Muldoon Murders, and the games by Larry Horsfield. It'd be pretty neat if an AI could be trained on Zork I and Zork II then manage to solve Zork III, or something like that :)

_________________
http://hlabrande.fr/if


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Apr 23, 2016 8:14 am 
Offline

Joined: Wed Mar 30, 2016 6:23 am
Posts: 29
Thanks for the suggestions, guys :) Before I get to them in detail, there is probably a better way of formulating my requirements for the 'randomness':

I would like if there was not a sequence of commands (sequence of commands is simply "n, e, x house, enter house..." in the game that would always lead to the perfect ending.

For example, in the game Six, four out of six children can always be tipped with the exact same sequence of commands. The remaining two can't, since one runs in random directions and one hides behind a tree with a random description.

Obviously, if such sequence exists, the game does not provide much challenge for the AI since one could just search the space of all possible actions to get the optimal action sequence. That being said, do you know about any games utilizing randomness in such a way that the optimal action sequence is different (ideally) every time? Another way of formulating this is that the walkthrough for the game would have to be branched (it would have to use conditions, such as if, when, whenever...), not linear.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Apr 23, 2016 8:45 am 
Offline

Joined: Thu Oct 30, 2014 12:10 pm
Posts: 613
Okay, that helps. Two games that come to mind are Paper Bag Princess, which I believe has a fake maze that's actually random, and Child's Play, which requires you to interact a lot with NPCs who move around independently. I remember reading in the notes for Child's Play that the random elements made it difficult to test. (It looks like Child's Play, at least, has a transcript and source?)


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Apr 23, 2016 9:07 am 
Offline

Joined: Tue Mar 18, 2008 9:04 am
Posts: 1097
When in Rome II randomly selects an opponent character from several different types at the beginning of the game; different opponents show different characteristics and strategies, so what works for one won't work on others.

http://ifdb.tads.org/viewgame?id=qx277z01nf6adwan , if you're curious.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Mon Apr 25, 2016 6:48 pm 
Offline

Joined: Wed Mar 30, 2016 6:23 am
Posts: 29
Thank you again :)

Child's Play does look very interesting indeed, although I do have some trouble understanding the game – I have read a couple of walkthroughs and none of them actually work (I assume that the reason is the randomness). So I'll probably have to have a thorough look at the source code in order to understand what's going on under the hood to see if it would fit my requirements. But so far it looks like some events occur randomly, which is exactly what I wanted. Does anyone perhaps know about a more detailed description of the game? I 'only' found the hints and a couple of walkthroughs which weren't complete or only described one instance of the game.


Also, I stumbled upon an AI poll in the IFDB which has Galatea on the top of the list with Child's Play being second – it also looks very interesting, but I have yet to think about how it could be used.

Emily, is this the list of all the different opponent characters from When in Rome 2? I tried playing a couple of games and I'm a bit unsure whether the optimal strategy against any given visitor can be derived from their description in the game (i.e. does the game give enough hints on what actions or actions of which type you should take – do you need to use the in-game book/guide)? Thank you.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Mon Apr 25, 2016 7:22 pm 
Offline

Joined: Thu Oct 30, 2014 12:10 pm
Posts: 613
There are some tests in the source. I don't know if they'd work as a walkthrough or not.

http://granades.com/games/cplay/source_67.html
http://granades.com/games/cplay/source_66.html


Top
 Profile Send private message  
Reply with quote  
PostPosted: Mon Apr 25, 2016 7:35 pm 
Offline

Joined: Wed Mar 30, 2016 6:23 am
Posts: 29
I forgot to mention I saw those too, the problem is they don't work either (or at least don't work consistently, in my tries). They might be helpul in getting some insight, though :)


Top
 Profile Send private message  
Reply with quote  
PostPosted: Mon Apr 25, 2016 7:47 pm 
Offline

Joined: Thu Oct 30, 2014 12:10 pm
Posts: 613
Maybe you've already seen it, but there's an "orderizing" action that seeds the random-number generator with a particular number. Presumably that's the version that'll work with the tests. I don't know if you've compiled it from the source, or are playing the already-compiled version, but it looks like orderizing is only possible in a non-released version of the game (i.e. in the Inform IDE). Other than that I don't have any ideas other than contacting the author, sorry.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Mon Apr 25, 2016 7:49 pm 
Offline

Joined: Wed Mar 30, 2016 6:23 am
Posts: 29
Ah, that could be it – I'll try messing around with the source and also contact the author if needed. Cheers! :)


Top
 Profile Send private message  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 40 posts ]  Go to page Previous  1, 2, 3, 4  Next

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group