Skip to content

Generation

Lymm edited this page Nov 5, 2025 · 3 revisions

The eye messages appear in only the first East and West parallel world. The positions are randomized per seed. The messages only appear once the "Entered East/West Biome" message is displayed, within a given session. Mods must not have been active during the run or they will not appear. The positions they can appear are the chunks with a particular background, cave 2. In practice this means the EDR around the world, as well as the lake, and the cloudscape, and a few other places. They always appear in the same relative position within a chunk. If more than one message generates in the same chunk, only the first one drawn there appears. There are a couple of seeds which have all of them in the same position. There are 5 messages in the East PW and 4 in the West PW. They come in paired positions, aside from the last one in the East world. They also appear in NG+, but their positions can change a bit compared to the NG positions for a given seed because of the difference in the world size and biomes. The canonical ordering of the eye messages was found by reverse engineering how they are generated, where each message has an index from 0-8. They are drawn in East/West pairs, so the order is East 1, West 1, East 2, West 2, East 3, West 3, East 4, West 4, East 5. There are really only 9 messages, according to the code. Some people think there could be a 10th message in the West PW to match East 5, but there's not really any evidence for this, and shared sections show the plaintext content of the messages is actually explained better as three groups of three messages. The shared content also aligns with the order that was found from the code. We have several equivalent implementations of the eye message placement algorithm, in the form of a script (if you want to search for particular positions by seed) and a web app (if you want to see where the eyes are in your current seed). The eye messages are generated as hardcoded data, encrypted to begin with. There is nothing to find in the code. However, if you want to know exactly how they were stored and obfuscated, the short explanation is that they were stored as hexadecimal words which were then converted into base 7 numbers. The reason for base 7 was to encode 0 as a null terminator, 1-5 as the eye values, and 6 as a newline.

Clone this wiki locally