User:Spdskatr

From RimWorld Wiki
Revision as of 07:42, 11 January 2017 by Spdskatr (talk | contribs) (Thanks for the help, I can mark another thing off the list.)
Jump to navigation Jump to search

Inside the code

Participate! Files can be found in your steam library → common → RimWorld → Mods → Core → Defs

Mass ThingDefs:

  • Buildings
    • Finished: ALL
  • Items
    • Finished: ALL
  • Misc
    • Finished:
  • Plants
    • Finished:
  • Races
    • Finished: ALL

Behind the code

RNG

How does Template:RNG work?

Technically, the template does not generate truly random numbers, just numbers random enough so that you won't be able to tell that it is ordered. It works by exploiting the special property of square numbers, such that the last digit can be easily predicted, but the middle digits are statistically random for high values. Therefore, my RNG works by chopping off the last digit of a continuously changing square number (created by the magic word {{REVISIONTIMESTAMP}}), and then mashing the numbers around so the different seeds are unlike, until finally using modulo(mod) to truncate the number within the limits specified.

This does mean that if you type limit=10000... you may find yourself disappointed at the randomness of your generated number. I will include a warning for any number greater than 1 000 000, as randomness may break down after that level.

Example

Starting number: 621

Step 1. Square it: 385 641

Step 2. Chop it up: 38 564

Step 3. Multiply it by plasteel and add xerigium: 20 439 704

Step 4. Repeat step 3: 1 083 305 043

Step 5. Number from 1 to 100: 43

Discussion

Coming soon... Here are a few dot points.

  • Limits of MediaWiki language
    • Strings and length
    • Arrays
    • Digital roots
  • Advantages of MediaWiki language
    • Simplicity
    • Similarity to HTML
  • Own limitations
    • PHP coding & super admin privileges