intfiction.org

The Interactive Fiction Community Forum
It is currently Wed Oct 17, 2018 5:57 am

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 114 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9, 10, 11, 12  Next
Author Message
PostPosted: Sun Jun 15, 2014 1:16 pm 
Offline

Joined: Tue Mar 09, 2010 2:34 pm
Posts: 5384
Location: Burlington, VT
Procedural Randomness by Aaron Reed compiles as-is. The tests don't yield exactly the same results in 6G60 and 6L02, but there's no particular reason to expect they should. I don't know if there's a good way to test if it's behaving exactly as it ought. UPDATE: This is probably a difference between z-machine and Glulx rather than between 6G60 and 6L02.


Last edited by matt w on Sun Jul 06, 2014 12:00 pm, edited 1 time in total.

Top
 Profile Send private message  
Reply with quote  
PostPosted: Wed Jun 18, 2014 3:38 pm 
Offline

Joined: Tue Mar 09, 2010 2:34 pm
Posts: 5384
Location: Burlington, VT
Reactable Quips by Michael Martin does not compile, but there appears to be a simple fix. However, the response messages are not adaptive.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Thu Jun 19, 2014 2:07 pm 
Offline

Joined: Tue Mar 09, 2010 2:34 pm
Posts: 5384
Location: Burlington, VT
In fact, Reactable Quips and Quip-Based Conversation by Michael Martin have been fully updated for 6L02, here. (I haven't tested them myself.)


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sun Jul 06, 2014 4:59 am 
Quote:
Procedural Randomness by Aaron Reed compiles as-is. The tests don't yield exactly the same results in 6G60 and GL02, but there's no particular reason to expect they should.


Forgive my ignorance, but isn't there a checkbox in the Settings to lock the random seed generation thingy whatsit so that a repeatable playthrough wields the same results, though randomly generated?


Top
  
Reply with quote  
PostPosted: Sun Jul 06, 2014 6:15 am 
Offline

Joined: Tue Mar 09, 2010 2:34 pm
Posts: 5384
Location: Burlington, VT
....yes?

(If the question is "Doesn't this make Procedural Randomness redundant?" the answer is no, because that checkbox only affects testing versions, not release versions. Also Procedural Randomness gives you much more flexibility in how to lock the seed.)


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sun Jul 06, 2014 6:32 am 
I meant "Doesn't this make it possible to check whether the test would yield exactly the same results?".

Which is probably not that important at all, because you don't feel it is and you're much more familiar with the extension and its use than I am. I just thought I'd ask.

EDIT - My two brain cells got together, had a puny "eureka" moment, and have grounded the rest of my brain until it decides to function properly. My fingers are similarly to be grounded until further notice after this post, for being far too quick to type silly questions for their own good. Never mind.


Top
  
Reply with quote  
PostPosted: Sun Jul 06, 2014 7:26 am 
Offline

Joined: Tue Dec 25, 2007 10:06 am
Posts: 1534
Randomness in Inform (and in most computing) works by having a mathematical equation that produces a pseudorandom sequence of numbers based on a "seed" number. The sequence is only seemingly random because it's always the same if you use the same seed number, but there's no immediately visible pattern and it's practically as good as true randomness for most purposes.

For example, if you think of the pseudorandom number generator as a dice thrower, a seed of 8729 might produce results 4, 2, 6, 1, 2, 2, 5, ... and so on, always in this order. Inform's debugging option sets the seed to some fixed value which is always the same for each playthrough, so the sequence of randomness results is always the same. If the option is not used the seed itself is randomized at the start (I don't know the exact details) so that the randomness sequence itself is unpredictable.

The important part here is that Inform uses the same sequence for all randomness checks. It means that if you have two dice in the game, a red die and a blue die, their randomness isn't locked separately. If you have Inform lock randomness and throw first the red die twice and then the blue die twice, the red die's results are 4 and 2, then the blue die's results are 6 and 1. If you restart and throw the blue die first, it shows a 4 (and then a 2 and so on). So the random results are picked from the same sequence and the next die roll's result is set regardless of which die you choose to throw.

With Aaron's extension you can lock randomness in two ways: you can make it so that a die's throws are random but predictable independent of other random events in the story. In other words, you can guarantee that the red die always shows 4, 2, 6, 1, ... in this order regardless of how many times you've thrown the blue die. The other is a special case of the first one: by always resetting the seed, you can at any point lock the die so that it always throws a 4 until you "release" the lock and it starts to act randomly again.

I hope that's more helpful than confusing.

_________________
BlogTextureVorple


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sun Jul 06, 2014 8:56 am 
Thanks, I'd already thoroughly kicked myself. :)


Top
  
Reply with quote  
PostPosted: Sun Jul 06, 2014 11:25 am 
Offline

Joined: Tue Mar 09, 2010 2:34 pm
Posts: 5384
Location: Burlington, VT
If it's not overloading the kicks, the way the example I was running works is that there's a bunch of telephone numbers (from 1 to 9999 I think), and when you dial one Procedural Randomness seeds the generator with the phone number itself and randomly generates a name and answering machine message. Which means that it can guarantee you get the same name and message every time you dial 2452 (since it's the result of seeding the generator with 2452) without storing 9999 names and messages.

Checking the box doesn't make a difference here, because the checkbox keeps the game's own random number seed constant every time you run it, but the test example is already throwing out that seed (or rather, reserving it for random numbers rather than procedurally random ones) and replacing it with the telephone number you dialed.

What I meant when I said that the tests don't yield the same results is that "dial 2452" doesn't give the same name and message in 6L02 as it did in 6G60. Which means that something probably happened to the inner workings of the random number generator in between builds. But it does yield the same result every time in 6L02, which is what's supposed to happen.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sun Jul 06, 2014 11:34 am 
Offline

Joined: Tue Dec 25, 2007 10:06 am
Posts: 1534
Are you sure you had both set to the same VM? Glulx and Z-machine give different results because of their different integer range.

_________________
BlogTextureVorple


Top
 Profile Send private message  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 114 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9, 10, 11, 12  Next

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


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