Eye Messages

From Noita Wiki
Jump to navigation Jump to search
Example of an Eye Message appearing over the Lake

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.

The five distinct eye glyphs.
The East 1 eye message, illustrating the offset rows of glyphs.

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.

Illustration of the most commonly accepted reading order.

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

All nine messages in ascii+32 demonstrating alignments and gap patterns

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.

Demonstration of isomorphs.

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:

  1. The random letter distribution.
  2. The unbroken set of 0-82 letters.
  3. The alignments/shared sections.
  4. Lymm's patterns/isomorphs.
  5. The existence of shared sections after the varying first character.
  6. The existence of isomorphs with slightly differing composition.
  7. The first trigram which differs between all messages, bust still allows the second trigram to be the same across all messages.
  8. 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.
  9. 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
Example spawn locations of eye messages in a given world.

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.

The left image is the biome map used for the New Game game mode. The right image demonstrates where the eye glyphs are able to spawn. The white pixels indicate it is possible to spawn based on the background condition.

Current Progress

If you want to help, or get more information about current progress

  1. Join the Official Noita community Discord.
  2. Check out the #silmä-introduction channel on the Discord server for more information about the channels discussing both cryptographic and novel approaches.
  3. Request access using 'The Eye/Cauldron Puzzles' button on the Channels & Roles page.

Gallery

Western eye messages
Eastern eye messages
❓ We need help solving Noita's biggest mystery! - FuryForged

The Unsolved Noita Eye Mystery: An Update - FuryForged