crazyeye2351 wrote: ↑Fri Jun 01, 2018 1:26 am
Some things should have a massive effect on the game, and others should be hardly noticeable. And those things should change, seemingly at random like a real economy. Don't be over concerned with chaos. Chaos is capitalism...chaos is economics.
I think I don't fully disagree with you here... but I wouldn't say that capitalism (or lesser socioeconomic organizing systems) is fully chaotic. If it were, it wouldn't work; a fully chaotic system could not be trusted by human participants to reliably deliver rewards for effort expended. Even if there are no guarantees of success on an individual basis, the system as a whole can be seen to be stable and comprehensible enough (i.e., not entirely random) that participation makes sense.
I expect that will apply to LT's economy as well.
Damocles wrote: ↑Fri Jun 01, 2018 1:40 am
The whole game could run without a random number generator at all. In this case the designer would need to provide all the parameters for the procedural generators. Ultimately the designer taking over the role of the random generator, with the difference that the designer can adapt the parameters to some aesthetic or gameplay goal.
In the case of games with fully handcrafted content, this is exactly what happens, even if some low-level proceduralism is included.
But it seems pretty clear that Josh wants more procedural content generation systems in LT than that; the designer's creativity will go into the construction of random and procedural systems that together produce results that tend to be aesthetically pleasing and fun to play with.
Here I think I need to amend my earlier suggestion that there's no random production of input values between the start of universe generation and the moment when the player is turned loose in the generated world. I'm sticking with the statement as made that there are no
truly random inputs... but of course the shape of a created universe depends on having a pseudorandom number generator that emits a reliable sequence of random-appearing numbers given the same seed value.
Behold
The Word of Josh:
JoshParnell wrote: ↑Thu Mar 06, 2014 4:12 pm
Randomness is used all over the place in the AI computations. Whenever the AI must make a choice, it uses a source of randomness. Every pseudorandom stream is deterministic based on the parameters that generated that stream ('seed').
This means that, if you use the same seed to generate the 'randomness' for the AI each time, the AI will make the same decisions. It does not mean that the AI didn't have a choice, only that the same choices will be made if the same stream of randomness is used.
Furthermore, just because you know all of the random stream beforehand, does not mean you can simply 'compute' the end result of a historical simulation directly. It's similar to an extremely complex integral that can't be evaluated directly. The only way to get the answer is by discrete integration (which is really what a simulation is), there is no 'function' that can just give you the end result given a seed (well, unless that function performs discrete integration).
So to summarize: yes AI choices are deterministic WRT the pseudorandom stream, no that does not preclude free will / true decisions, and yes we still have to run the (deterministic) simulation in order to generate the universe
Something has to produce those values, otherwise there's nothing for the procedural algorithms to operate on. It's just that the generator can't actually be literally random, otherwise you couldn't get identical universes from the same starting seed. Fortunately, it's a lot easier to build pseudorandom number generators than ones that produce numbers that approximate true randomness.
That said, there is a source of highly-randomized inputs that will be available once the game starts: the person playing Limit Theory. The moment each of us starts performing any actions at all within the game, it's pretty much the Butterfly Effect. Any in-game system that uses player choices for input values will be affected; the results of these systems then feed into other systems; and so on. From the moment we take our first action that's used by an LT system connected to other systems, the shape of our game universes will start to diverge. As
Josh Himself put it:
JoshParnell wrote: ↑Wed Mar 05, 2014 11:13 am
Whenever the AI needs to make choices, it is using deterministic, seed-based randomness in the same way that the procedural algorithms do. The determinism lasts only up until the player enters the game. This means that, in theory, you will see the exact same universe & universe history given the same seeds each time you start the universe. But after that point, the universe will start to diverge based on the player's actions.
There are a couple of ways in which this might not happen: 1) Nothing the player does is used as an input to a system that feeds other systems, or 2) There's additional code that damps out the effect of player actions -- player choices are only allowed to have local/short-term effects. This would yield a game universe that's similar to how some time-travel stories are defined, where it's simply stated that "the universe doesn't like to be changed" and you really have to work hard to make meaningful changes stick.
It's not inconceivable that Josh might design LT to work like this. That could be interesting. But I suspect we're probably going to see a more dynamic system than that, where even small differences in player inputs add up over time to yield visibly different game universes.
And that's also interesting.
(For a couple of additional posts on pseudorandom number generation for LT, check out
this one and
this one from Josh, as well as
this one where Josh briefly notes that the relative error inherent in his PRNG code is so low that it should never lead to differences in generated universes.)