02-23-2004, 08:38 AM
(This post was last modified: 02-23-2004, 08:41 AM by Crystalion.)
Jarulf,Feb 22 2004, 08:39 AM Wrote:That is why things differ in games, even if you use the same starting seed through the -seed command.(omitted the interesting info--thanks--for clarity of response...)
I wrote a thinking-out-loud reply, which I still include below, after the ellipsis, if you want to waste time following them. For brievity though, here are the questions I have, if it happens to be convenient for you to answer:
1. in a SP game the map seed is carried forward from game to game, but what about the "other" seed?
2. for a bnet game I'd expect the "map" seed to always vary, but the "other" or some seed line to derive from the creating character?
3. 'tickcount based seed or a "performance" counter'... could you specify the OS call name at least? (I know them)
(meandering thoughts follow and they evolve, so caveat emptor!)...
My experience, when using -seed SP, is that even if you do *nothing* except travel out of the act you're initially placed into, you will see "shrines" at the same location (as the prior -seed game) being a different shrine.
If the master seeds are indeed all set from -seed (and the special code that was added to hork the game when you use -seed is not relevant--which is too technical a subject to go into here, being off-topic a bit already, but I now realize this offers an important clue via a variance in my "testing procecure"... remember I'm actually *not* testing for this stuff, but merely seeing the effects on the side of other things I do fairly commonly) then I find your explanation both illuminating and perplexing, given the fact I just cited.
Essentially you're implying the likelihood, for my case here, that the terrain selection of putting down a shrine on the map is separate in seed-random-pull line/sequence/tilt ("tilt" being used in the sense of bias, ala pinball) from the random selection of the type of shrine... aka they're either done at different times or from a different seed line ("line" in the sense of lineage).
The other concrete oddity you can reproduce while holding -seed constant, for example, is related to which Tomb is the true tomb of Tal Rasha. Apparently the passage of time or some other factor can skew it. I've believed it to be time, based on some evidence of continuity post-change, iirc, but would consider greater testing or investigation to be necessary for that to be more than a guess.
And, of course, there is the whole issue of induced HF rune drop streakiness that is unresolved.
So, given what you've said, there are more jilts/tilts to the random lines than I thought likely, which would potentially disguise weaknesses in the use of the prng.
I'm not surprised you confirm there is a "map" seed and an "other" seed. I strongly suspect that in a SP game the map seed is carried forward from game to game, but not the "other" seed... did you happen to see any evidence of that? OTOH for a bnet game I'd expect the "map" seed to always vary, but the "other" or some seed line to derive from the creating character. Even high level issues like this are in doubt, which is why I suggested audits tracing the lineage back of any random number used would be enlightening.
I think I see from your description and Occam's Razor what is probably happening to explain my occasional -seed non-replications...
Quote:(I can't tell if two such calls right after each other will always, never or sometimes generate different seeds, I can't recall if it was a tickcount based seed or a "performance" counter level (or whatever it is called).Could you check please? I'm familiar with the routine names for timer functions in the OS so you don't actually need to look up the distinction, just mention which is called. If the code is given continuous processing between the calls and the interval the calls measure is sufficiently large relative to the span of execution, then the values received will be identical or very similar in bit pattern.
Many of my -seed "tests" are tainted because of the easy workaround, in SP, for the -seed hork, being to use -seed to start a game to replicate terrain, then exit and start a game without -seed (i.e. -seed has a residue to the character in SP setting the future map seed with the -seed value without the -seed hork of having tons of monsters in some areas).
Contrary to what it probably seems like to most of the readers whose eyes are glazing over at this post, I'm actually omitting vast amounts of detail (as it is just a game, and not important to feret out mechanics and errors in this area, ultimately). Indeed I'm about to go back up and just ask for three clarifying bits of information, so I can then be tempted to probe my new theories (as to consequent streakiness).
edit: fixed three of the obvious typos
"He's got demons? Cool!" -- Gonzo, Muppet Treasure Island
"Proto-matter... an unstable substance which every ethical scientist in the galaxy has denounced as dangerously unpredictable." -- Saavik, Star Trek III
"Mom! Dad! It's evil! Don't touch it!" -- Kevin, Time Bandits
"Proto-matter... an unstable substance which every ethical scientist in the galaxy has denounced as dangerously unpredictable." -- Saavik, Star Trek III
"Mom! Dad! It's evil! Don't touch it!" -- Kevin, Time Bandits