English


OP Mat Changes

This is a knowledgeable and entertaining discussion. It might be lame of me to add another viewpoint with the summary that the devs should have the final say, but here it is: Independent of all that has been said, the server merge possibly also included a migration: I never checked the Ryzom shard IP address, so cannot tell if indeed it has moved. But if it has, it has likely been migrated to a newer machine. Changing the machine, or changing the operating system (even just versions or configurations), may change the way random numbers are generated.

Below is for those who may wonder why this is relevant.

Ryzom depends on sufficient random number generation to also warrant special algorithms to deal with their creation. For anyone interested "Mersenne Twister" (1997) and subsequently "WELL" (2006) are interesting starting points for reading. I have no idea what the devs chose to use (maybe even plain rand() by the OS), but it may be part of the problem. Possibly a problem in the way the numbers are generated surfaces now after the merge only because of a hardware change.

Here's an example of the "randomness" problem: If you linearly write down random numbers you get from a generator, they may appear to be totally random. And maybe this is proven by some statistical analysis of those numbers. Now, if you take the same sequence of random numbers but write them down not as a linear sequence, but as a matrix. For example, if it's about 100 random numbers, write them down in a ten by ten square. Suddenly, the random numbers could appear to no longer be so random, looking at just the columns, or looking at just one specific diagonal. While hard to write down and observe, this can be extended to 3 or even more dimensions.

Why is this relevant? Software such as Ryzom does not dole out random numbers to just one user/client. If there is a constant number of clients connected, and the server generates one random number for each client in turn, then the next, then the next, and so on (round robin), then we suddenly must have random numbers which are random (uniformly distributed) not just in one dimension, but in two. Of course, in a game, lots of clients connect and disconnect all the time and one client may require more random numbers than others (crafting versus exploring). But indeed, uniformly distributed random numbers across a higher number of dimensions is important, and ultimately led to the development of Mersenne Twister. Generally speaking, the higher the number of "random" dimensions, the better. WELL was developed to fix a couple of other important attributes, but that's for another story ;-)

I draw my hat before people like Bitty for the statistical work which I never liked, and also Freddy and Daomei for the experiments. Thanks for your enlightenment.
Show topic
Last visit Wednesday, 27 November 01:25:38 UTC
P_:G_:PLAYER

powered by ryzom-api