On the Subject of The Octadecayotton

"What could possibly go wrong?" - You, right now.

See Appendix BLANK in Blind Alley for blank modules identification.

The module's appearance is initially blank.

Select the module, which causes the module to transform, spawning spheres in a rapid fashion. Face and embrace the void, it will only hurt a little.

The Octadecayotton ( Dimensions)

who'll be there when i'm gone?

9 dimensions is the default, but each unactivated Octadecayotton reduces the dimension count by 1.

  • Mod settings alter the maximum number of dimensions used.
  • This means that the last activated Octadecayotton will always have the exact number the mod setting uses.

The spheres will start moving, resembling the transformations (rotations and/or reflections) of a -dimensional cube. 3 transformations are shown (though mod settings can change this value), followed by a brief pause before starting over.

Identifying Dimensions

  • There are dimensions: .
  • Every sphere represents a corner on the -dimensional cube, where lines would meet, all of them being 1 of each axis.
    • For example, a 2-dimensional square has 4 locations where the X and Z lines meet, placing the 4 spheres on those 4 intersections.
  • The axes X, Y, and Z represent left/right, toward/away, and up/down respectively. A positive axis means right, toward, or up, and a negative axis means left, away, and down.
  • This means that each sphere has 1 of each axis, though each axis is either negative or positive, dictated by their location.
    • Back to the example of a 2-dimensional square, the top-left sphere would be -X and +Z, while the bottom-right sphere would be +X and -Z.
  • Each sphere is color-coded based on how positive it is on the X, Y, and Z plane. With red taking X (right), green taking Y (towards), and blue taking Z (up). A sphere with all axes positive is fully (or as close to) white, and a sphere with all axes negative is fully black.
    • Additive color mixing is used, meaning that high amounts of X and Z, but low amounts of Y will result in approximately magenta.

Identifying Higher Dimensions

  • Higher dimensions will take a varying mix of the X, Y, and Z plane so that the cube remains visible from a 3-dimensional perspective.
  • This means that any positive axis always belongs to the right (+X), up (+Z), and/or towards (+Y) the viewer when viewed from the front, while any negative axis points away. (left/down/away)
  • The location of a sphere within the viewable 3-dimensional space can be determined by summing up all the axes' X, Y, and Z values if it's positive.
    • For example, take a sphere where the only axis positive is W and another where the only axis positive is X. Their locations are (0.8, 0.2, 0.5) and (1, 0, 0) respectively.
      • This means that relative to each other, the first sphere will be further left, towards, and up from the other.
+ X Y Z W V U R S T O P Q
X 1 0 0 0.8 0.2 0.5 2 0.125 0.125 0.125 0.05 3.2
Y 0 1 0 0.2 0.5 0.8 0.125 0.125 2 0.05 3.2 0.125
Z 0 0 1 0.5 0.8 0.2 0.125 2 0.125 3.2 0.125 0.05
  • By taking comparisons between different spheres, the exact location of a sphere can be determined.
  • It is important to note that neighbours by definition will be 1 positive/negative away from the original.
    • Once again with the 2-dimensional square, the bottom-left neighbours with the bottom-right, since the only difference is X. The bottom-left is also neighbouring top-left from Z.
  • This same logic can be applied the other way around to know whether a sphere is positive in a certain axis.
    • For example, if a sphere is located exactly (0.8, 0.2, 0.5) left/away/down from another one, the first sphere is located in -W, because it has a +W neighbour, being further left/away/down than what could've been with W.

Identifying Neighbours

  • To the diagram to the right shows on example of a sphere's neighbours as seen from the front, zoomed in to the bottom-left quarter of the cube.
    • For clarity, the highlighted unfilled spheres are the neighbours of the filled sphere.
  • It is important to note that neighbours by definition will be 1 positive/negative away from the original.
    • With a 2-dimensional square, the bottom-left neighbours with the bottom-right, since the only difference is X. The bottom-left is also neighbouring top-left from Z.
  • The Y axis cannot be seen from this angle; the positive Y axis points towards the viewer, as do the other axes when viewed from a different angle.
    • This means that every sphere shown in the diagram is actually showing 2 spheres, one closer to the viewer, and another further away, both stacked on top of each other.
  • In reading order (left-to-right then top-to-bottom), the spheres are .
  • Because the filled sphere is in a completely negative position (leftmost/backmost/bottommost), going from the filled sphere to any unfilled is travelling to a positive axis, while going from an unfilled sphere to the filled sphere is travelling to a negative axis.

Identifying Transformations

  • Look at any 2 spheres that are neighbours and note down the one axis different from each other.
  • Determine whether the axis is positive or negative by envisioning an arrow going from one sphere to the other. If the arrow points right/towards/up it's positive, if it's left/away/down it's negative.

Identifying Transformations (...continued)

  • After determining their relation to each other, watch them transform.
    • If these 2 spheres are now neighboured from a different axis (rotation) or the same axis but negative (reflection), that implies a transformation.
  • Record the new axis that they transformed into, and repeat this process starting with the new axis until the first initial axis is reached.
    • An example would be take axis +X, +X goes to +Z, take axis +Z, +Z goes to -Y, take axis -Y, -Y goes to -X. X has now been reached.
  • Every subtransformation has anywhere from 1 to 5 axes involved.
  • For any negative initial axis, invert both the initial and new axis. (positive -> negative, negative -> positive)
    • Back to the example, "-Y goes to -X" becomes "+Y goes to +X".
  • When the first initial axis has been reached, discard all of the initial axes, reverse their order, and combine them.
    • Back to the example, we know that +X goes to +Z, +Z goes to -Y, and +Y goes to +X. Removing all of the initial axes we get +Z, -Y, and +X. Now the order needs to be reversed, getting +X, -Y, and +Z. Finally, combine them, getting +X-Y+Z.
  • The resulting sequence is called a subtransformation. In a given transformation there can be 1 to 5 simulatenous subtransformations happening at the same time.
  • These subtransformations are completely isolated from each other, as while they do have an effect on the individual sphere's paths, the axes do not, as any axis can only be in 1 subtransformation at any time.
  • Subtransformations have multiple ways to be spelled because they are cylical (they have no beginning or end, and one element affects the next), and subtransformations do not have a concrete order to each other. However, the module does not require either case.
    • +X-Y+Z could be spelled as -Y+Z+X (shift 1 left) and +Z+X-Y (shift 1 right), but not +Z-Y+X (backwards) or +X+Y+Z (inverted negativity), since the order, or positivity/negativity is wrong.

Primary Values

  • If there are 0 transformations, skip this page. All primary values are 0.
  • All transformations have a primary value. On each subtransformation, create a list of every possible pair of axes from itself and the next axis. (including the last THEN the first axis as a pair*)
    • If the subtransformation is only 1 axis (reflection), ignore the above rule and make only 1 pair of the axis repeated twice.
  • There will always be the same number of pairs as there are axes in the subtransformation.
  • For each pair, get the value from the table, using the first letter as the row and the second letter as the column.
    • If 1 of 2 axes are negative, multiply the pair's value with -1.

* Even with 2 axes, the rule still applies. Subtransformation +R-T would have pairs +R-T and -T+R.

X 1 2 5 1 8 8 1 5 2 1 2 5 X
Y 2 3 6 2 9 9 2 6 3 2 3 6 Y
Z 9 1 4 9 7 7 9 4 1 9 1 4 Z
W 1 2 5 1 8 8 1 5 2 1 2 5 W
V 2 3 6 2 9 9 2 6 3 2 3 6 V
U 9 1 4 9 7 7 9 4 1 9 1 4 U
R 1 2 5 1 8 8 1 5 2 1 2 5 R
S 2 3 6 2 9 9 2 6 3 2 3 6 S
T 9 1 4 9 7 7 9 4 1 9 1 4 T
O 1 2 5 1 8 8 1 5 2 1 2 5 O
P 2 3 6 2 9 9 2 6 3 2 3 6 P
Q 9 1 4 9 7 7 9 4 1 9 1 4 Q

Primary Values (...continued)

  • For each transformation, take the absolute value of the sum of all pair results from every subtransformation . This is the primary value of that transformation. Later in this manual, whenever px is used, it refers to the primary value of the xth transformation.

The Anchor Sphere

  • If there are 0 transformations, skip the next 2 pages. The anchor sphere is located completely negatively. (or black)
  • For each transformation, create ax, where x is the transformation number. All of them start with the value .
  • Set ax to be px as binary; In other words, subtract the largest number equal or less than px found in "Decimal <-> Binary" from it, then set ax's Xth digit from the left to 1, where X is the position obtained from that same number that was subtracted with. Keep subtracting and setting digits to 1 until p1 is 0.
Decimal <-> Binary
Subtract 2048 1024 512 256 128 64 32 16 8 4 2 1
Position 1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th
  • Look at ax and its transformation, for each axis, invert the number's position (0 -> 1, 1 -> 0) according to this the table below.
Axis <-> Position
+Axis +X +Y +Z +W +V +U +R +S +T +O +P +Q
-Axis -Q -P -O -T -S -R -U -V -W -Z -Y -X
Position 1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th

The Anchor Sphere (...continued)

  • Once all a values are set, create a0, with the value based on these conditions: (Note that certain a values will not exist if played with lower amounts of rotations than the conditions)
    1. If a1 exists, and the digit of a1 is 1, of a0 to 1.
    2. If a2 exists, and the digit of a2 is 1, of a0 to 1.
    3. If a3 exists, and the digit of a3 is 1, of a0 to 1.
    4. If a4 exists, and the digit of a4 is 1, of a0 to 1.
    5. If a5 exists, and the digit of a5 is 1, of a0 to 1.
  • All a-values excluding a0 is now gray code, convert all gray codes to binary:
    1. The first binary digit will match the first digit of the gray code.
    2. The next digit is a 1 if the sum of the previous digit of the binary code and the current position's gray code is exactly 1. Otherwise 0.
    3. Repeat step 2 until digits are obtained. This is the binary code.
  • XOR a0 with all other a-values; In other words, add a0 with a1, and then refer to the next a. Don't carry (1+1 ≠ 10) and replace 2's with 0's on each step.
  • Replace every 0 with - and every 1 with +.
  • This is now the anchor sequence. Whenever the anchor sphere is mentioned, it refers to the only 1 sphere that matches all positive/negative attributes of the anchor sequence's axes.
    • The position of each character represents what axis they belong to, with the order being "".


  • Before continuing, note that the module cannot unpause without striking. Make sure all transformations are noted down before proceeding.
  • Interact anywhere on the module to pause it. The transformations will stop, and a sound cue is played to indicate that it is ready to be interacted with.
  • Each time the module is paused, a random sphere is chosen. This is called the starting sphere. The starting sphere will glow.
  • The goal is to get that glowing sphere to be on the same location as the anchor sphere.


  • When the module is interacted with during the being 0-, an axis is queued. Each submission from 0- represents an axis, though order is random.
  • need to be queued for a valid input. When the timer's , it will try submitting the . The queue is cleared if any other number of axes are queued.
  • The glowing sphere goes to the other side of the that were submitted.
  • During this submission, all axes can only be submitted up to 2 times.
    • The module gives no indication of any soft-strikes.
  • When the glowing sphere is in the same position as the anchor sphere, submit all axes. The module will strike or solve accordingly.
    • Striking will reset the module.