Eye Messages
The Eye Messages are a series of 9 messages that are found in East and West Parallel Worlds. They are one of two major secrets in the game that can only be seen when playing without any mods enabled. The other is the Cauldron Room. They are known to contain information, but has yet to be solved.
Message Structure
Individual eye glyphs are in one of five orientations, with at most 39 individual eyes in each row. Every second row is offset to fit in-between the neighboring rows. Every message has a total number of eye glyphs that is divisible by three. The bottom two rows in each message vary in length less than 39 glyphs, but never vary in length from each other by more than one glyph.
By pairing up the rows and separating the message into groups of three individual eye glyphs, you can evenly divide the message into triangular groups, referred to as trigrams.
Each trigram can be read as a three-digit base 5 number from 000 to 444, which can be converted to base 10. This produces a total range of possible values from 0-124. Out of the 36 possible standard reading orders, only one order produces an unbroken range of base 10 values, from 0-82 out of the total possible set from 0-124. This reading order is the most commonly accepted by the Noita community currently.
To put emphasis on why this is the accepted reading order we can look at the probability that this could occur by random chance.
Imagine you take all the sand in the world, and pick a random grain of sand 11 times in a row, if you pick the same grain every time, you have the same odds as these 83 values happening if the eyes were randomized.
Additionally, user Toboter wrote a script that tested ~86,000 reading order possibilities and found no other reading order that matches the statistical significance of the one that produces the unbroken 0-82 set.
Further Observations
For sake of legibility all nine messages can be converted into ascii+32 as shown in the Alignments and Gap Patterns image. Trigrams written this way in ascii+32 will be referred to as letters for the remainder of this section. The order of messages in this image is East 1, West 1, East 2, West 2, East 3, West 3, East 4, West 4, East 5.
Alignments and Lymm's Patterns
Lymm's Eye Message Alignments and Gap Patterns document contains a color-coded image illustrating both the alignments of ciphertext and gap patterns found throughout the messages. Alignments represent groups of letters that are the in the same position between messages. Alignments are also referred to as shared sections. It should be noted that these alignments are only found towards the front of each message which lends evidence that these could be shared plaintext between messages. It is also notable that the first letter in each message is different. It is then reasonable to assume each message is an entry in a numbered list and begins with: 1. ,2. , etc. The plaintext for this and each shared section remains to be determined, however, and should be considered speculation until a solution is found.
Lymm's Patterns, also known as Gap Patterns, are patterns in gaps between the same letters in each message. In cryptography these are referred to as isomorphs. Isomorphs can form in certain encoding methods when the same or similar word or phrase occurs at different positions. Identifying isomorphs is an important tool that can be used to determine what kind of cipher the eye messages use.
CodeWarrior0 has documented Isomorphism in Classical Ciphers in case you would like to learn more about this subject.
Pyry has constructed a demonstration of isomorphs using an autokey Alberti cipher on English plaintext where the rings rotate by an amount that depends on the previous plaintext character.
The three ciphertext snippets are corresponding isomorphs with the pattern a.....ba.b. They have identical plaintexts, but note that the plaintext does not have the pattern a.....ba.b. Note also that the plaintext does not neatly conform to word boundaries.
Pyry's Conditions
Due to all the evidence against this 0-82 letter set occurring naturally users Pyry and Toboter have set forth these conditions for theories that deviate from trigrams read in the orthodox manner.
Any proposed alternate theory must be able to explain the following observations:
- The random letter distribution.
- The unbroken set of 0-82 letters.
- The alignments/shared sections.
- Lymm's patterns/isomorphs.
- The existence of shared sections after the varying first character.
- The existence of isomorphs with slightly differing composition.
- The first trigram which differs between all messages, bust still allows the second trigram to be the same across all messages.
- The complete absence of double trigrams (the same trigram twice in a row). Notably the same trigrams can appear at adjacent positions in different messages.
- All isomorphs that aren’t part of shared sections have different trigram sequences, and also never share the same trigram value at the same relative position
Toboter's Observations
Toboter's Progress Doc outlines some conclusions we can draw from Pyry's Conditions:
- Based on 1 and 4 the cipher is polyalphabetic. Each ciphertext character is dependent on something outside of a single plaintext character.
- Based on 3 the cipher, key, and such outside factors are the same across all messages.
- Based on 8 and 9 each ciphertext character is conditionally dependent on the previous ciphertext character in some way.
- Based on 3, 4, and 5 the plaintext messages share large sections.
- Based on 9, the cipher has no fewer than 20 internal states and statistically probably at least around 88, so it is likely 83 internal states which is in line with ciphertext dependency. An internal state is defined as something that affects the ciphertext character other than the underlying plaintext character.
CodeWarrior0's Novel Cipher
CodeWarrior0 has documented extensive cryptographic research in the Analytical Overview document. The summary for what a hypothetical novel cipher must explain is as follows:
- The sample ciphertext frequency is flat, and not monoalphabetic.
- Period analysis shows the ciphertext is not periodic.
- Positional analysis shows that the letters at the same position in different messages are likely to be enciphered by different alphabets.
- No ciphertext letter appears twice in a row.
- Ciphertext letters appear twice at a distance of 4, at nearly double the expected rate.
- The same plaintext ought to encrypt to the same ciphertext, at least near the beginning of the message, to explain the shared segments.
- There are no repeats of three or more ciphertext letters.
- There are fewer repeats of two ciphertext letters than expected by chance.
- Six (or conservatively four and two) segments of the first three messages are isomorphs of each other.
The Analytical Overview document expands on each of these points.
Location
There are 9 total eye messages that generate in any given world, with 4 messages generating in the western parallel world, and 5 messages generating in the eastern parallel world. The locations are randomly determined by the world seed, but each message will have a counterpart message in an identical location in the opposite parallel world (with one exception that has no western counterpart). The provided diagram gives an example of this.
The messages only generate once a player has traveled to a parallel world (triggered the entered East/West message). Additionally, the eye messages do not generate if mods have been enabled at any point during the run. There is a further condition that eye messages only spawn in locations which have the background: background_cave_02.png.
Example Coordinates
Seed | |||
---|---|---|---|
1249563923 | |||
East Messages | West Messages | ||
1 | X: 22064 Y: -6079 | X: -49616 Y: -6079 | |
2 | X: 52272 Y: 14400 | X: -19408 Y: 14400 | |
3 | X: 52784 Y: -5055 | X: -18896 Y: -5055 | |
4 | X: 52784 Y: 6208 | X: -18896 Y: 6208 | |
5 | X: 36400 Y: 2624 |
Finding the Eye Messages in Your World
If you're trying to find the eye messages in your current seed, Lymm created this handy python script. Additionally, Chillie has turned it into a handy web tool for ease-of-use.
Pyry constructed the below image to demonstrate where the messages are able to spawn.
Current Progress
- Progress Document - Most of the community's progress on decoding the messages has been documented here.
- Emerald Tablet Document - An index of documents pertaining to Eye Messages, Cauldron Room, and other mysteries.
If you want to help, or get more information about current progress
- Join the Official Noita community Discord.
- Check out the #silmä-introduction channel on the Discord server for more information about the channels discussing both cryptographic and novel approaches.
- Request access using 'The Eye/Cauldron Puzzles' button on the Channels & Roles page.