ARG:Painful Memory

This page contains spoilers about the Heartbound ARG. If you want to solve the puzzle yourself, avoid reading this article.

Painful Memory was found by solving What's in a name, which led us to the page https://gopiratesoftware.com/games/Heartbound/CORE_DUMP/MEMORY_ALPHA/CRASH_LOG/BOOT_RECORD/DEEP_THOUGHT/ . This puzzle was released on June 29 2022, with the patch 1.0.9.57 of Heartbound.

The puzzle page is called "Deep Thought", which is a reference to a character of The Hitchhiker's Guide To The Galaxy and to a real life computer of the same name. The page itself is completely dark, but its source code has the following comments:

<!-- You can't stop time from moving forward. -->
<!-- You can't undo your mistakes. -->
<!-- You can't change your path. -->
<!-- You can't forget what you've done. -->
<!-- You can't take back this choice. -->

These comments suggest that we should play Heartbound, commit a lot of mistakes, then try reverting them.

Bad end

We need to play the game, and then choose the worst possible choice at any given chance, that is, a full "Darksider route". You can start a new game by choosing the option "Forget" at the start screen.

The things you need to do in-game:

If you do all these things, Avocado will say you that she hopes you find what you are looking for, then she disintegrates. After that, Lore has a breakdown and gets transported to the Dark World. There the Animus' characters will give you a few chances to leave the Darksider path, but to proceed in the ARG you need to refuse those chances and continue on that route.

First Emelio will ask you if you want things to be this way. Then if earlier you had went to lunch with Fern, then she will appear and ask if all of this is what you want. But if you had went to lunch with Rhode instead, then she is who appears and challenge you to a fight.

After that, you meet Avocado who gets in your way. This is the last chance to leave the route, if you want to do so you only need to wait 30 seconds without doing nothing. To continue on this path, just choose to go through Avocado.

If you stayed on the dark path, you end up at a dark room full of eyes and a door at the end. When you enter through the door, you end up at a destroyed version of Lore's bedroom. Baron is there, apparently dead, but he quickly disappears. The Artifact is also there, and speak to you in garbled text. What he says is IM STILL WATCHING (the text is unreadable in-game, but it can be found in the game's files).

 
The Final Judge
 
Judgement Room
 
I'M STILL WATCHING

Once you leave the room, you begin falling in the void. The Artifact says:

...A broken cycle...
...Eternally Lost...
...Freedom in a cage...
...Well Done...

Lore: And you...?

...What about me?...
...This is what I wanted...
...The cycle ends...
...I win...

Lore: How do I leave?

...That's the neat part...
...You don't...

And then the game closes by itself. If you open it again and continue, Lore is still falling and The Artifact says:

...You can't change this...
...You don't have the strength...
...Just give up...
...Just give in...

 
Window title changing to FORGET

And then the game closes again. If you try to continue once more, he says:

...You wanted this...
...You chose this...
...Forget this place...
...Forget yourself...

The game closes once more. But from now on, if you try to continue all you see is Lore falling, and the window title changes to "FORGET":

What this title and The Artifact are telling is that now you need to choose the "Forget" option at the start screen to reset the game.

Forget

Once you choose to forget after seeing the bad end of the game, a new file called painful.memory appears at the save folder of Heartbound. The save folder is located at Windows on C:\Users\<USERNAME>\AppData\Local\Heartbound\ and on Linux at /home/<USERNAME>/.config/Heartbound/

It is worth noting that for the new file to appear, you need to choose "Forget" only after the window title changed to FORGET. If you open the painful.memory file on a text editor, it reads:

Some things can't be forgotten.
20091305120914050609140919080504
0325031205051404091407
061518070520061518070520061518070520
0325031205020507091414091407
25152111140523200805031514190517210514030519
25152108010425152118030801140305
25152103081519052008091916012008
20091305071815231901140523

Those numbers can be decoded by the letters to numbers cipher (A=1, B=2, ..., Z=26). Once you replace the numbers by their corresponding letters, you get:

TIMELINEFINISHED
CYCLEENDING
FORGETFORGETFORGET
CYCLEBEGINNING
YOUKNEWTHECONSEQUENCES
YOUHADYOURCHANCE
YOUCHOSETHISPATH
TIMEGROWSANEW

If we insert spaces to make the text more readable:

  • Timeline finished
  • Cycle ending
  • Forget forget forget
  • Cycle beginning
  • You knew the consequences
  • You had your chance
  • You chose this path
  • Time grows anew

This suggests that choosing "Forget" to reset the game do not actually erase what happened. That other timeline is over, and now you are in another timeline.

 
Normal text
 
After seeing the bad end
 
After editing the save file

Play the game again, but this time without making the bad choices. Once you get to Animus, at the Mossback Farm, the bubbles at the center of the crops now have a different flavor text: "It's all wrong" (the regular text is "The earth ripples gently with each mud bubble"). This shows that Lore can still remember what happened, even though things apparently started anew.

If you try to walk on the crops, you notice that you can damage them, and they remain damaged even if you save and reload the game. This means that the crops' state is saved. If you open the save file of the game (heartbound_save8.thor) on a text editor, and then analyze it, you can find that the lines that change when you damage the crops are the lines 407 to 414. Those are the 8 variables that store the state of the crops (one for each kind of crop). (Note: at this point of the game, you can save it if you backtrack to Fern and Rhode's yard.)

The painful.memory file had 8 numeric lines. There are 8 story variables that control the crops. And the description of the mud bubbles have changed in-game after the bad ending. All of this suggests a correlation between the painful memory file and the farm section of the game.

 
Editing the save file

So what we are going to do now is to replace those 8 lines on the save file by the 8 numeric lines of the painful memory file. The changes on the save file are:

  • Line 407: 20091305120914050609140919080504
  • Line 408: 0325031205051404091407
  • Line 409: 061518070520061518070520061518070520
  • Line 410: 0325031205020507091414091407
  • Line 411: 25152111140523200805031514190517210514030519
  • Line 412: 25152108010425152118030801140305
  • Line 413: 25152103081519052008091916012008
  • Line 414: 20091305071815231901140523

Once we save the changes, and reload the game, the text of the farm's mud bubbles change again: "You can't forget what you've done". Then a new file is created at the Heartbound's save folder, arachibutyro.phobia. The file's name means the fear of having peanut butter stuck at the roof of the mouth.

Arachibutyrophobia

If you open the arachibutyro.phobia file in a text editor, you notice seemingly random characters ending with ==. That means the file is encoded in Base64.

There are plenty of online tools to decode Base64 (like https://www.base64decode.org/), or if you want to do it by yourself pretty much all programming languages have some library for it. After the file is decoded, if you try to open it in a text editor you notice GIF89a at the beginning, which indicates that the file is a GIF image. So now we add the extension .gif to the file, so we can open it as an image.

The image we get has the Artifact's eye, with some arrows over it:

   

The arrows look like ⬍⬌⇢⇟⇢⬍⇡ . Those arrows are actually characters of the Wingdings 3 font. We can use Character Map, which is a program that already comes in Windows, to select those arrow characters. Then copy an paste them somewhere else (like in Notepad), so we can see how those characters look in a regular font:

The characters are the numbers 2140425. So now we need to add these numbers to the address of the puzzle's page, which brings us to https://gopiratesoftware.com/games/Heartbound/CORE_DUMP/MEMORY_ALPHA/CRASH_LOG/BOOT_RECORD/DEEP_THOUGHT/2140425/

The page is once again completely dark. The title is "It's Pronounced GIF". The page's source code has these comments:

<!-- What does peanut butter have to do with disk drives? -->
<!-- What's in a string? -->
<!-- What can YOU do here? -->
<!-- When is a 404 something more? -->
<!-- Bees are so bad at math. -->
<!-- Don't forget to drop the E! -->
<!-- You might need it later so don't throw it out. -->

A web search shows that there is a brand peanut butter called Jif, and that 2140425 is one of the barcodes of that peanut butter which got recalled [1]. The name "Jif" sounds quite similar to "GIF", which is on the page's title and is the type of the image that got us to the current page.

About what "peanut butter" and "disk drives", a web search shows that peanut butter can be used to fix the scratches of CD and DVD disks [2]. However, this is a red herring. Peanut butter has nothing to do with disk drives, and the Jif recall also has nothing to do with the solution, besides the number 2140425 itself.

About the other clues. What is in a string are letters. "What can YOU do there?" has the word YOU emphasized, which sounds like the letter U. 404 is the HTTP status code of the "Page not found" error, but in our case what matters is that it is part of the 2140425 number. A number is something more for the ARG when it is part of a cipher. The most basic cipher we have been using on the ARG is letters to numbers (A=1, B=2, ..., Z=26). The letter U, refered in the clue, is 21 in this cipher. And the number we have begins with 21. If we replace it by U, we get U40425.

The meaning of "Bees are so bad at math" will become clearer later, so remember the sentence. What is going to help us right now is "Don't forget to drop the E! You might need it later so don't throw it out". The letter E in the cipher is 5, and out number ends with 5. So if we drop the five, we get U4042. As the clue says, do not forget about the letter E because it will be needed later on.

If we add the U4042 to the URL, we get to the next page: https://gopiratesoftware.com/games/Heartbound/CORE_DUMP/MEMORY_ALPHA/CRASH_LOG/BOOT_RECORD/DEEP_THOUGHT/2140425/U4042/

The page is called "Reasoning Required".

Reasoning Required

This is another completely dark page. Its source code has the following comment:

<!-- Shaken, not stirred. -->

A web search shows that Shaken, not stirred is a quote from James Bond, it is how he prefers his martini. James Bond is the agent 007, and his number is going to be useful next.

If search on Google for U4042, the first result shows that it is a error code of the IBM's z/OS. Given that the current ARG chapter has been having asnswers themed on computers, this suggests that we are on the right track. On the U4042 error's documentation, we find:

Reason code
Explanation
X'00' (0)
The error was detected in the heap by the HEAPCHK runtime option.

The reason code is X'00, which begins with 00 like the 007 number. This further indicates that we are on the right path. Also the icon of the documentation page is a bee, which might be a throwback to the earlier clue of bees. On the error's explanation, the term HEAPCHK is emphasized. This is the answer of the current page. If we add it to the URL, we get to the next page: https://gopiratesoftware.com/games/Heartbound/CORE_DUMP/MEMORY_ALPHA/CRASH_LOG/BOOT_RECORD/DEEP_THOUGHT/2140425/U4042/HEAPCHK/

This new page is called "Heap Check".

Heap Check

The page is once again pitch black. Its source code has the comments:

<!-- HID ERREUR -->
<!-- ISBN à)ç"("àç)&à)& -->
<!-- CYO HGOY A HML YR YD. PCIDY -->
<!-- YD. X..O N.APB.E YR AEE1 -->

Let's go line by line. On the first line, "HID" stands for "Human Interface Device", which is the technical term for the devices one uses to input data into a computer (like a keyboard or mouse). "ERREUR" is French for "ERROR". So "HID ERREUR" is making reference to a French keyboard, which looks like this:

 
French keyboard

If you look at the numeric keys on the top, you should realize that the Shift characters on them are present on the second line of out clues: ISBN à)ç"("àç)&à)& . "ISBN" stands for "International Standard Book Number", which is a barcode to identify books. And the characters afterwards correspond to these keys on a French keyboard: 0-935309-10-1 .

If we perform search for the ISBN 0-935309-10-1, we find that it corresponds to the book "Dvorak Keyboard: The Ergonomically Designed Keyboard, Now an American Standard". The Dvorak keyboard is a layout for English keyboards that looks like:

 
Dvorak keyboard

Even though the Dvorak keyboard is an official standard, it never really got mainstream use. Instead, the keyboard layout normally used for English is QWERTY, which looks like:

 
QWERTY keyboard

These keyboards are important for deciphering the last two lines of our clues:

CYO HGOY A HML YR YD. PCIDY
YD. X..O N.APB.E YR AEE1

The letters are from the Dvorak keyboard. We need to convert them to the letters that are on the same position at a QWERTY keyboard. For example, the letter C on Dvorak is at the same spot as the letter I on QWERTY. After we convert all letters, we get:

ITS JUST A JMP TO TH. RIGHT
TH. B..S L.ARN.D TO ADD1

The dots are missing letters. Do you remember that we were told that we would still need the letter E? We need it right now. If we replace the dots by E:

ITS JUST A JMP TO THE RIGHT
THE BEES LEARNED TO ADD1

JMP is the asembly instruction for an unconditional jump to another memory adress. The sentence "It's just a jump to the right" part of the song Time Warp, from the movie The Rocky Horror Picture Show. What matters to our puzzle is the term "time warp", which suggests that we need to jump through time. This means that we need to return to a previous solution.

The hint to which point we should return is on the sentence "The bees learned to add1". It is a reference to a study which suggests that bees are capable of doing some math. Here is when the clue "Bees are so bad at math" (from a couple of pages ago) becomes relevant. The solution for that page was U4042, and the current page says to "add1". When we add one to that solution, we get U4043, which is the solution we need now.

Adding it to the URL, leads us to the next page: https://gopiratesoftware.com/games/Heartbound/CORE_DUMP/MEMORY_ALPHA/CRASH_LOG/BOOT_RECORD/DEEP_THOUGHT/2140425/U4042/HEAPCHK/U4043/

The new page is called "Regulation".

Regulation

This page, differently from the previous ones, is not empty. It has the following image:

 
acceptance.png

The page also has this comment on its source code:

<!-- Stop The Flow -->

This clue, together with the page title "Regulation", refers to resistors. They are used to regulate the flow of electrical current in a circuit, by providing resistance. Resistors come with standardized color codes to indicate how much resistance they provide, and the image we got from the page use those same codes. Here is what the colors mean:

 

The smallest type of resistors, 4-band resistors, use 3 colored stripes to encode the resistance value (in Ohms) and 1 for the tolerance. The first two bands represents the first two digits, the third band the amount of zeroes following them, and the fourth is the tolerance.

By translating these 3-stripe patterns from our image into resistance values, we get: 18-5-19-9-19-20-15-18-0-20-23-9-19-20-5-18.
Note: the yellowish stripes have to be interpreted as Gold, otherwise you get extra zeroes after the 5 and the 9.

By converting those into letters (A=1, B=2, ..., Z=26), and interpreting the 0 as a space, we get RESISTOR TWISTER. By adding it to the URL (replacing the space by an underscore), we get to the next page: https://gopiratesoftware.com/games/Heartbound/CORE_DUMP/MEMORY_ALPHA/CRASH_LOG/BOOT_RECORD/DEEP_THOUGHT/2140425/U4042/HEAPCHK/U4043/RESISTOR_TWISTER

The page is called "Sudre".

Sudre

The page contains an image of the Sun with some symbols on it:

 
sunspots.png

On the page's source code, we find these comments:

<!-- You're too close. -->
<!-- You don't want this knowledge. -->
<!-- Stop. -->

Tha page name Sudre refers to François Sudre, who is the inventor of the constructed language Solresol. This "universal music language", as he called it, writes words as combinations of latin music notes (Do-Re-Mi-Fa-Sol-La-Si). For example, sisol means mister and dosifa means to accomplish. Each note is represented by a symbol:

 
Symbols of the Solresol language

These are the same symbols on our Sun image. Interestingly, "Sun" in Latin is "Sol" (as in the music note). If we read the symbols on the image, we get:

fadosi resisido

Those words can then be translated from Solresol, but words in this language only convey a general idea, and can have multiple translations. Here are the lists for both of the words we have, straight from the Solresol-English dictionary:

  • fadosi: end, complete, finish, final, finally, termination, achieve
  • resisido: mechanics, machine, device, mechanic, machinist, mechanical, mechanically

Now it is a matter of finding which of those words combinations should be added to the URL. So far, for the most part, the solutions had the pattern of uppercase words separated by an underscore, so that is the most reasonable way to try the solutions. After trying different combinations, the community found that the solution is FINAL_MACHINE, which when added to the URL leads us to the page: https://gopiratesoftware.com/games/Heartbound/CORE_DUMP/MEMORY_ALPHA/CRASH_LOG/BOOT_RECORD/DEEP_THOUGHT/2140425/U4042/HEAPCHK/U4043/RESISTOR_TWISTER/FINAL_MACHINE/

This leads to the page Lunacy.

Within the source code, these messages can be found:

<!-- They came from the moon. -->
<!-- ISZPGUHXFYCCAKQQWUQACBFALHV -->
<!-- FFOIWTWSDACBFALH -->

Of note is that the image within the link is a purple moon.

This leads us to the next puzzle: Lunacy.