| ▲ | McGlockenshire 2 days ago | |||||||
Literally the second line of the article addresses your questions by linking to the source code repo under discussion. Every single one of the sidebars about the topics being discussed links directly to the relevant code. The article even tells you it's C. The copyright dates on the code are 1980ish. It's talking about rogue, not rogue.exe, so this is going to be on Unix, real Unix. So, it'll be using rand(), the bad one, surely, just by what it is and where it is. That completely answers all your questions. All you had to do was click links. edit2: lmao okay so I read the code myself and you'll never, ever guess what it does. It does NOT use rand(). | ||||||||
| ▲ | suprjami 2 days ago | parent [-] | |||||||
Spoiler: Rogue just implements its own Linear Congruential Generator.
I've poked around in a couple of libraries from this time. At least QuickBasic and QuickC also implemented an LCG (not the same one either). So a 1980s PRNG from Microsoft just gave you an LCG with different constants.I would not be surprised if other contemporaries like glibc, Borland, Watcom, Lattice, etc all did the same. Or did they do something else/better? | ||||||||
| ||||||||