Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: "osmium" Newsgroups: comp.programming Subject: Re: Programming Open-Ended Plots In Games Date: Sun, 19 May 2013 05:43:46 -0500 Lines: 44 Message-ID: References: <06ed0b39-4b4c-4ce1-b0d0-3bfa25b7ade0@g9g2000yqh.googlegroups.com> X-Trace: individual.net rratm+Z5VZpYy3dyB6CN+AOxS+8PazjY4deyMvgHg9JH1ZhPX2 Cancel-Lock: sha1:mNiDwj3GwISoopaQ6hl50aj2vhg= X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-RFC2646: Format=Flowed; Response X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Xref: csiph.com comp.programming:3338 "Chris Uppal" wrote: > Patricia Shanahan wrote: >> > [...] He also said that nothing >> > is randomly generated in the main plot. I asked him how he finitely >> > programmed the infinite number of choices in the main plot without >> > anything being randomly generated, but he said that is his secret,[...] >> >> There are well known structures that can generate an infinite set from >> finite information. One of the most important is a formal grammar - you >> can see examples in most programming language specifications. > > Also the code could use the system clock (current date-time, not > milliseconds since last boot) to provide "variety" without actually using > a [P]RNG ;-) > > Though if I were aiming for this, I'd probably use some sort of high > quality hash (SHA1 would be good enough) of the current gamestate and/or > history to provide fully determinate but not easily predicatable plot > twists. > > Not actually "infinite" though (except in the sense of arbitrary > extensibility that Patricia means) because a finite machine cannot provide > infinite behaviour without repeats[*]. > > -- chris > > [*] One caveat: if you allow (unrealistically) the machine to have an > arbitrarily extensible memory, bus width, etc, and you come up with some > scheme to replace the fixed hash with hashes from an infinite family with > unbounded bit-length, and kept switching the hash as the game ran (say > every 10^40 years ;-) then you might be able to make a convincing case > that your game was "potentially infinite"... I think there is a needed but missing word in the English language to classify things that are, for all practical purposes, infinite but not infinite from the standpoint of a picky mathematician. Does any language have such a word? Peninfinte is as good as I could come up with in English. And as a WAG, there are no non-picky mathematicians. In the same sense that there are no white crows.