Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #3350

Re: Programming Open-Ended Plots In Games

From Daniel Pitts <newsgroup.nospam@virtualinfinity.net>
Newsgroups comp.programming
Subject Re: Programming Open-Ended Plots In Games
References <06ed0b39-4b4c-4ce1-b0d0-3bfa25b7ade0@g9g2000yqh.googlegroups.com> <OcydnQ7cCa3wpAXMnZ2dnUVZ_rWdnZ2d@earthlink.com> <RrSdnaH1JOVMCgXMnZ2dnUVZ7vWdnZ2d@bt.com> <avron7Fka8mU1@mid.individual.net>
Message-ID <Hm6mt.4342$OS5.1644@newsfe24.iad> (permalink)
Date 2013-05-19 08:39 -0700

Show all headers | View raw


On 5/19/13 3:43 AM, osmium wrote:
> "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.
"Practically infinite" I think fits the bill, though it isn't a single word.

To put the numbers in perspective, a clock which keeps time in a 32bit 
number-of-seconds-since-an-epoch is valid for 136 years. Adding one bit 
doubles that time period.  64 bit value would store 584,554,531,341 years.

If your game state was encoded in 64bits, and changed ten times a 
second, it could have enough different states that you play the game for 
58 billion years and not see the same state twice.

That doesn't fit the definition of "infinite", but it is over 4 times 
the age of the universe ;-)


Back to comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Programming Open-Ended Plots In Games Brian <briansipler@yahoo.com> - 2013-05-18 18:13 -0700
  Re: Programming Open-Ended Plots In Games Patricia Shanahan <pats@acm.org> - 2013-05-18 19:31 -0700
    Re: Programming Open-Ended Plots In Games "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2013-05-19 10:12 +0100
      Re: Programming Open-Ended Plots In Games "osmium" <r124c4u102@comcast.net> - 2013-05-19 05:43 -0500
        Re: Programming Open-Ended Plots In Games Jussi Piitulainen <jpiitula@ling.helsinki.fi> - 2013-05-19 14:22 +0300
        Re: Programming Open-Ended Plots In Games Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2013-05-19 08:39 -0700
        Re: Programming Open-Ended Plots In Games "Charles Hottel" <chottel@earthlink.net> - 2013-05-19 13:45 -0400
        Re: Programming Open-Ended Plots In Games "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2013-05-20 08:30 +0100
    Re: Programming Open-Ended Plots In Games Brian <briansipler@yahoo.com> - 2013-05-19 14:55 -0700
      Re: Programming Open-Ended Plots In Games Patricia Shanahan <pats@acm.org> - 2013-05-22 07:52 -0700
        Re: Programming Open-Ended Plots In Games Brian <briansipler@yahoo.com> - 2013-05-22 12:19 -0700

csiph-web