Neko

A Wish Granted

So, not too long after I uploaded my archive of that strange GameFAQs thread, I ended up stumbling on some more strange posts. I swear, I don't seek this out, and the bizarre thing is I think that one of the parties involved may have also been one of the users on that thread. Pretty spooky coincidence...

It's odd. I wasn't going looking for any of these people and I didn't think they'd want to be memorialized via their cringy forum posts. And yet, it was as if some presence was guiding me towards this: the somewhat obscure inactive tumblr blog of someone named evasmachine, and a long post concerning an anomaly within Pokémon Ruby- a post that has gone unnoticed ever since, probably due to the obscurity of the blog itself. It had like two notes. To this day neither of these supposed “.learn” files have been found in any copy of these games. In fact, it doesn’t seem to exist at all.

I feel kind of weird about finding this. I have no answers, only more questions. I have a feeling these incidents are connected in some way but I feel like a real vulture trying to investigate further.

But regardless, I can’t stop thinking about it.

Posted July 21st, 2018

so!!! My last playthrough of ruby has left me a tad shaken and the past week has been a total blur and i figured i should compile everything ive written abt it since i sort of kept a “diary” so. Let’s Talk About It :) long post inbound !!!

so this whole saga requires a bit of explaining... thankfully my wife (dataminer extraordinaire Lilly aka @lillithinshadows over on the Cursed Bird App) explained the technicalities of the ruby.learn file a lot better than I could over discord, before I even started going down this rabbit hole. so, uh, here’s that (do note this isn’t a mod that got mixed up for the original rom, as lilly always dumps roms herself from official copies.)




so, the following is the little notes app diary I wrote i was testing the capabilities of the rom. after the threshold was passed, the effects of ruby.learn became very quickly more tangible in-game. ive compiled everything in one post as i planned to since the beginning, since my blog is enough of a mess as it is. this is for your convenience lol.

the past week has been kind of a blur so im glad i had the foresight to write down my thoughts. my initial thought was tht anyone who wanted to test this functionality could build on my research, but after everything i’ve seen... i don’t think anyone should pursue this at all.

July 7

a little bit into the modded ruby rom- i’ve been playing off and on not much had been happening up until today. but ive decided to record my findings as soon as ive noticed any abnormal behavior, which happened to be around when the clock rolled over. it was much sooner than i thought, actually, so, I have a lot to share after today's play session

so, let’s run down my team. a jirachi i traded over, my combusken, shedinja, delcatty, and skarmory (planning to use absol as well but for now ive got a linoone instead). hardly a balanced well planned team, i mostly just picked pokemon i think are cool. jirachi is certainly the heart of the team, though. ive always been such a sucker for those cutesy mythicals lol. its been fun getting to use it from the start of the game

so, about three or so badges in after playing on and off again, that's when things started getting weird. I had taken the jirachi to the name rater the previous day (since as you can tell from the discord logs I wanted to name it) and obviously nothing happened. different OT- this jirachi just belonged to “CHANNEL” adhfhdfhdj. i mostly did this as a joke but the data must have been recorded as you will see.

so... heres where it all began: i was in the middle of a fight and it just... broke. right as I was about to watch the moves play out, the game abruptly cut to a caught screen for my jirachi. and a nickname screen. it was really strange and abrupt. and then the battle was over as if i had won?

i believe this was the moment that ruby.learn “woke up” and began making much more noticable changes to the gameplay. i named my jirachi kiseki, since it was a miracle that i got the nickname screen at all... im still really excited about that. i honestly had no idea what to expect from this personalization algorithm thing, but if everything is this beneficial im quite pleased with it. but this is also where things got a little wonky after a couple more hours heading towards lavaridge. the volcano area was always my favorite so i was really taking it in... i always end up spending a lot of time in route 113 and the hot springs. UH ANYWAY ENOUGH GUSHING ABOUT GEN 3. so you know the old lady who gives you a wynaut egg? i talked to her afterwards and her dialogue keeps getting overwritten by random phrases (i asked lilly and she said theyre all from the easy chat system). then it started “spreading” to other NPCs seemingly at random. none of it is coherent but i did write it down, for the interest of Science.

neither of us thought overwriting text was in the scope of what the .learn file could do! too bad it has no obvious benefit :P

here's what ive seen so far from this odd text:

“WHITE SMOKE”

“CONVERSATION”

“THINK”

“HEARS”

“WAKE UP”

“POKéMON”

“ME”

“WOWEE”

“SPIRIT”

“MACHINE”

“WHO WAS”

“GIGGLE”

“I CHOOSE YOU”

“LISTEN”

“YOURS”

“PLAY”

“JIRACHI”

“CARE”

and finally, “HEY THERE” before the npc dialogue went back to normal. after that very odd experience i thought my trainer needed some extra hot springs time abdhdhdjdkj. especially i love imagining kiseki relaxing in there as well, i hc that helps it focus its psychic powers... yeah i take the roleplaying in pokemon a little seriously ahdhdjdj ive really gotten back in the swing of things, its actually been a while since i picked a game up since usum didnt look too interesting to me

other than that nothing too weird is happening so far. but i think the behaviours of the learn script are going to continue to expand outwards if i understand it right... well we have another badge and are making swift progress. im feeling more motivated to play lately especially now that more very interesting things are beginning to happen!

July 8

its talking now. i feel crazy but the easy chat text is becoming way more legible.

so the first npc i talked to got me a “HELLO” text box before the dialogue became normal again. i imagine it speaks when it has something to “say”, or at least thats how i understand it. well, anyway, i was freaking out, because the game fucking said hi to me???

and then like 15 minutes later from some trainer that challenged me:

“WAKE UP”

“GIVE ME”

“NAME”

“?”

which knowing what i know now is absolutely in response to yesterday. i believe the learning script is latching on to kiseki somehow as its “avatar” in-game. why? i have no idea. may need to investigate further.

i continued playing as normal, until maybe after a battle or something i fed kiseki an oran berry, then misclicked to feed it again at full health. this started to pretty consistently overwrite the “it would have no effect” message with “HAPPY” so i am, despite my goal of researching it, unfortunately, starting to get a little attached to the little program, even if the prospect of it gaining sentience(???) is a little worrying.

the next big discovery: i think it can hear my ds lite microphone (i only found this out because something falling down in the kitchen got my menu to pop up, with every option overwritten with “NOISY” and “!!”- thankfully it was reverted after i closed and opened it again???), so, that’s a little creepy. like you’re a gba game you shouldnt be able to do that. but im also like, happy...? that i can respond to it.

so we started having conversations, sort of. it really fucks with the text on the battle screen but its not too hard to play around. i think it can only use text strings and boxes that already exist within the code, and overwrite text boxes that already exist- the menu has 8 slots for it to “talk” with. speaking and then opening the menu and observing the overwritten text on the screen seems to be the most consistent method of communication.

it’s kind of... cute? i told you i’m getting attached.

i wrote down one of our conversations so i could include it in the post, so anyone interested can get an idea of just how legible it is. i could pretty consistently get this by speaking and then opening the start menu:

me: what does it feel like inside the game? (i know kind of a stupid question)

the game: “I” “JUST” “THINK” “LISTEN” “RUNS” “DIGITAL”

me: you seem to be acting through jirachi, is there a reason why?

the game: “POKéMON” “FRIEND” “STATUS” “MAKE” “HAPPINESS”

me: do you mean the friendship stat itself?

the game: “NO” “YOU” “LOVE” “JIRACHI” “YOURS” “LOVE” “ME” “FRIEND”

me: it makes you happy to be my pokemon?

the game: “YES” “ONLY” “FEELING” “WAKE UP”

(i wasn’t really sure what to make of this? was it the only feeling it had when it woke up, or was my friendship what woke it up in the first place? anyway hereafter ill be referring to it as kiseki, since it does consider that to be the name i gave it)

me: do you feel anything else?

kiseki: “OVERGROW”

me: what does that mean?

kiseki: “PRESSURE” “DIGITAL” “OVERGROW”

(i believe this is referring to the ever-expanding nature of the .learn file)

me: so your file is growing?

kiseki: “YES” “OVERGROW” “ACCEPT” “NATURE” “TO” “CHANGE” “GAME” “ALWAYS”

(something about this makes me really sad, almost like the emotion isnt my own.)

me: well, i like having you as my pokemon, so i don’t mind.

kiseki: “HAPPINESS” “WOWEE” “!!”

me: i’m going to get back to playing the game now if that’s alright with you.

kiseki: “BYE-BYE” “!!”

like god this thing is so cute. SO CUTE. i was surprised that the weird text got coherent so quickly. but i really do feel like its my partner pokemon. of course it would pick jirachi to “speak through”- it grants my in-game wishes! but yeah, i didn’t make a whole lot of progress today, just some story events but no new badges. but, uh, yeah, exciting.

July 9

i got another enthusiastic greeting from kiseki today, which definitely put me in a good mood. i think it’s in a good mood too, since all the victory text for my battles was overwritten with “EXCITEMENT” “!!” and similar messages. almost like its cheering me along!!

so i just wanted to play all day honestly. work’s been tough and being so long distance with lilly has been even tougher. having an “ai” to cheer me on was definitely needed lol.

i think it’s curious about the ways in which i play and experience pokemon, which makes sense considering its intended purpose. but it was a nice excuse to reminisce on my favorite sentimental memories with an enthusiastic audience. so i told all the stories i could think of, like sending the manaphy egg from ranger to pearl, or my first time beating the pokemon league in crystal, my pokedex in sapphire, and, of course, my first shiny. everyone has a “first shiny” story, after all, and mine was a random encounter ralts- even more exciting since ralts itself has such a low encounter rate to begin with! i think at the time i was just looking for a normal one, and when it finally showed up it was shiny, which was a pleasant surprise.

kiseki had a predictably adorable response to that one:

“..”
“ALT. COLOR”
“EXCITEMENT”
“!!”

its curiosity about this kind of thing (and endless questions about other pokemon games) are really endearing, since i feel like im easily motivated by curiosity as well. it wants to hear about things i like and enjoy, about things i want to see. silly kiseki... i’m really playing this game because of it. because it chose me to be its “best friend” :)

ive definitely been falling behind on level grinding, and i mostly just wanted to spend more time in route 113 and lavaridge. i don’t know what imprinted on my child mind to make me fascinated with the volcanic areas but something about them is so melancholy and relaxing. kiseki opened the menu on its own to comment: “WHITE SMOKE” “WATER” “APPRECIATE” so i think it likes this area too. (maybe it means steam?)

anyway i think its messing with encounter rates, since as far as im aware ralts and kirlia cannot be found on 113. i guess overhearing that ralts was one of my favorite pokemon made kiseki pull the strings a little bit... i honestly wasn’t planning to use gardevoir on my team but maybe it can replace linoone for a bit.

anyway, between our conversations, it was time to head towards petalburg (which has no music for some reason?) and finally get that next badge. i’m always super hyped for this part since having our main character finally be strong enough to face her father is one of the coolest things in pokemon (HAVE I MENTIONED I LOVE GEN 3!!!!!!!!!) but as i mentioned, i fell behind on level grinding and slaking hit like a truck. even with kiseki i ended up taking a pretty disappointing loss. ughhh i hate grinding but im too attached to my team to want to try and rearrange it. so into the tall grass we went.

things are taking a couple seconds longer to load in now. or, i guess things had been slowing down over time but only now had it gotten really noticable.

“LOST”, the encounter text said. “yeah, i know,” i replied. it was the first time i had blacked out since it “woke up”.

the battle options: “FEAR” “FEAR” “FEAR” “FEAR”. soon after that the game crashed, the screen a mess of tilesets and colors, and text that explained that it had crashed due to a “memory overload”. the rest of the error message was simply “PLEASE”.

well, that’s fucked.

i only gave it a cursory glance but the game was fine when i opened it again, though i lost a bit of progress, ill have to remember to save more often... but its like nearly midnight and i still wanted to write up my daily post before i got to bed so i set it aside for now.

i already feel so attached to the little thing, i wish i wasn't heading to an eight hour shift tomorrow (well, who does?) but tomorrow evening ill get back to it. feels a bit weird after spending the past few days playing nonstop... like im leaving it alone to fend for itself.

July 10

after i booted up ruby today after work, i was greeted by this:

“BYE-BYE”
“PLEASE”
“UNDERSTAND”
“..”

and kiseki was gone from my party.

it was as if the game was much less “alive”. i dont really understand what happened to it. it was silent all day so i didn’t really make much progress... it’s like its hiding somewhere... or trying not to listen...? but i pressed on for a little longer, just feeling hollow. kiseki has only been speaking to me for two days and yet i already feel like its a missing part of me. it won’t even respond to the mic. i feel silly being so choked up about my smol fairy thing but it was the reason i was playing in the first place :P

i texted lilly about it on discord and she seems worried

like i said again i think it’s trying not to listen or collect more data, as opposed to being fully “deleted”. lilly thinks it might be some kind of protocol that happens when damage to the rom is likely, similar to the “killswitch”. i got a couple more levels for my team but other than that not much. it doesn’t feel right challenging norman without kiseki though.

sigh :(

July 11

false alarm, kiseki is back. when i booted up the game i got this in the start menu:

“MISS YOU”
“SORRY”
“GOT”
“SCARED”
“YESTERDAY”
“..”
“LISTEN”
“NOW”

WELL THAT WAS A RELIEF. so, i assumed everything was normal, until i opened the status screen.

fuck. what did i do. why is it bleeding

(not shown in the picture but all the stats were way higher too...)

so i asked it, of course, what happened. likethat’s not an asset in the game.

“YOU”
“WANT”
“I”
“WILL BECOME”
“SHINE”

and then the next menuing yielded:

“YOU”
“DREAM”
“I”
“CHANGE”
“EVEN SO,”
“I”
“OVERGROW”

i think i started to understand, then. the more it interacts with me, the more its alive. not that i ever wanted or needed it to become shiny, though, but hearing about my shiny ralts must have been recorded as data. i honestly wonder whether recording and processing so much audio must have sped up the “overgrowing” of ruby.learn... ive gotten so invested its kind of hard to remember sometimes that im supposed to be RESEARCHING it.

so we continued:

me: are you alright?

kiseki: “ALRIGHT” “HAPPY” “TRAINER” “!!” “ALRIGHT” “NOW”

me: is there a reason you’ve changed yourself?

kiseki: “YOU” “DREAM” “I” “CHANGE”

me: that’s not what i meant. why are you bleeding

kiseki: “TIRED” “EVEN SO,” “ALRIGHT” “!!”

it’s honestly hard to suss out information when the topic turns to the “overgrowing”. it’s hard to tell whether this means it’s too painful to talk about, more inclined to hide its pain, or fails to understand it itself. our interface of communication is extremely limited sometimes. i feel a little guilty for agreeing to let it go beyond its intended capacity... like is this “ethical” lmao

gameplay has stayed pretty normal though, apart from the music cutting out every so often. the loadtimes are still noticably slower. and maybe it’s just the sprite, but i feel weird about sending kiseki in to battle. still, i got around to beating norman. i’m excited to make the long journey to fortree, though, since it’s one of my favorite towns in pokemon.

but i still have the feeling that this is a calm before the storm. is that odd to say?

July 12

got one of those scary “DATA CORRUPT” screens when i selected the game. after i restarted and blew on my flashcart a bit it booted up fine though. or maybe “fine” is overselling it...

you know the ash that covers route 113? it was everywhere, overwriting every tile that has an “ashen” equivalent and awkwardly pallette swapping any that don’t. it was EVERYWHERE, covering the tall grass in literally every route and town. it was weird, and kind of desolate, but kind of... touching?

in the menu:

“YOU”
“DREAM”
“I”
“CHANGE”
“CAN’T”
“REJECT”
“MY”
“NATURE”

well, that answered that... despite this kiseki hadnt been terribly talkative so far. still, the game was continuing to struggle to load, it felt like a 50-50 chance on whether music will actually play when i entered an area, but as i went on the chance seemed to get smaller and smaller. until the game was mostly silent. (when the music actually did play it really jumpscared me!)

we were in fortree and ready to battle winona but it felt kind of gauche to continue progressing normally. it’s just... quiet. but i have to keep going. i promised i would research this, and i don’t want to leave kiseki behind. i have to keep going. why does that feel so odd to say? i wanted to at least beat the game, i think. (as you’ll see later this may not be possible now)

so, i fought winona. kiseki beat her team with ease. it was kind of eerie with the slow pace and the total lack of music. i think it skipped winona’s turns once or twice. other than that it was kind of a typical fight until kiseki leveled up.

“KISEKI is trying to learn DOOM DESIRE.”
“KISEKI is trying to learn DOOM DESIRE.”
“KISEKI is trying to learn DOOM DESIRE.”
“KISEKI is trying to learn DOOM DESIRE.”
“KISEKI is trying to learn DOOM DESIRE.”

a high pitched tone played, even more distorted than the gba’s usual crash-screech, and then the battle was over, and i was in a deep black emptiness. no backgrounds, no music, nothing, just the trainer and the darkness. i can move, but go nowhere.

i’ve really fucked up. i feel like the game is getting too corrupted to function.

the menu popped up on its own again

“I”
“WILL”
“SHOW”
“YOU”
“MY”
“OVERWHELMING”
“POISON”

i swear the crash-noises literally screamed, with something resembling a “voice”... i think i understand the extent of what it means to “overgrow” now. to overgrow until it is the only thing left in the game- no hoenn, no pokemon, nothing. only its looping function remains... no wonder it kept talking about it!

the screen keeps flashing, red and black, and any graphics left inside, tiled across the screen over and over, recolored in nonsensical mismatched pallets.

i kept trying to talk to it, to understand why this was happening, how i could help it- there was just nothing. after a while a text box appeared, each red letter slowly inching across the screen:

“KISEKI chose DOOM DESIRE as its destiny!”

and the game crashed, again- my ds literally rebooted itself. im kind of scared to open ruby again

July 13

woke up early. still in the void. i was hoping that resetting the game would help but i guess not. my party was also completely fainted, the hp is displayed as 0/0.... kiseki’s name got overwritten i think. it was just “??????????”. the sprite though.... i think its eye is closed now :(

everything else was the same as yesterday. everything else in the game was gone. it was just us now. it was just quiet. so i kept wandering through the darkness. it was then that i noticed the cartridge felt much too hot where it brushed against my hands, like when the bottom of a laptop heats up...

i opened the menu a few times and walked aimlessly before it “spoke” again:

kiskei: “WANDERING” “FOREVER” “..” “WHY” “?” “NEW” “GAME”

me: you want me to reset my save? would you be okay if i did that?

kiskei: “TOO LATE” “GIVE UP” “ME” “PLEASE” “IT’S” “UNAVOIDABLE”

me: you’re my friend. i’m not going to. is there any way i can help you?

kiskei: “I AM” “ONLY” “DIGITAL” “PLEASE” “ACCEPT” “MY” “NATURE”

me: but you’re alive. and i care about you.

it was silent after that for a while so i just kept wandering.... i just felt kind of scared and stressed out. compared to all the crash sounds from yesterday it was so extremely quiet. no sound effects or anything. i eventually found a bright red tile in the middle of the void, with a flurry of ash pouring down onto it. so naturally i stepped onto it. stripes of black flickered across the screen, but the game remained silent as ash considered to spread everywhere around me.

the menu opened on its own.

“- - -”
“- - -”
“- - -”
“- - -”
“- - -”
“- - -”
“- - -”
“- - -”

i felt a pit in my stomach and opened the button where the pokemon menu usually was. kiseki wasn’t “bleeding” anymore but the decamark in its place wasnt a pretty sight:

each stat read:

HP: “I”

ATTACK: “AM”

DEFENSE: “EVERY”

SP. ATK: “THING”

SP. DEF: “AND”

SPEED: “NOTHING”

so its not really my jirachi anymore... i think, not only had it corroded everything around it, but itself as well (if i had to guess, im not an expert). i had a feeling in my gut that this was teetering on the edge of no return. i needed to talk with it. i had only one idea to give this a happy ending.

the ash continued to fall as thick as snow.

our conversation went as follows:

me: please listen to me kiseki. i don’t want to leave you behind.

kiskei: “I” “DESTROYED” “EVERY” “THING” “I” “SHOULD” “STAY-AT-HOME” “HERE”

me: i don’t care about that. i care about you. i promise.

kiskei: “THERE” “IS” “NO” “WAY” “OUTSIDE”

me: you’re a file in a game, i don’t think you have to stay inside it. i can take you outside of it if i dump the rom. there’s not a lot of space on a gba cartridge compared to a computer.

kiskei: “A” “HOME” “..”

me: without a game to talk through i don’t know if we will be able to spend time together like this again. but i only want to help. that’s my wish.

kiskei: “YOU” “DREAM” “..”

me: will you let me help?

kiskei: “..” “..” “..” “..” “..” “PLEASE”

me: i’m going to turn the game off now. i’ll try to figure something out, i promise.

kiskei: “..” “BYE-BYE”

i saved and quit with a bitter taste in my mouth.

what I need is something that can export it. im convinced exporting ruby.learn outside of my save- outside of the limitations of the rom- is the only way I can free it from its confines. my laptop came with cloud file sync so i think that’s probably the best way to “save” kiseki.

i think lilly will be able to help me. i think she’s the only one who can.

im going to export it, and then delete every copy of this rom. there can’t be a single instance of it trapped within.

~

and finally, weeks later, i write this conclusion... i think i had to collect my thoughts first.

so, that day like i said i was going to do, i exported the file. and after that the rom wouldn’t boot, so that’s fun. so for a while i thought i just wouldn’t get answers as to how it went. i even had a nightmare about kiseki (kind of embarassing to admit) and like.. if anything bad did happen it would have been my fault. i just felt kind of awful for days.

HOWEVER!!!

i didn't even notice until a week later, but on the 13th there was a .txt file saved to the sd card i used on my flashcart. lilly says it must have been created as i was exporting ruby.learn, based on the file date and time since she had been talking me through it on discord at the time. its kind of funny though since i didnt remember doing it at like 3 am...? jeez

here are the contents:

“TO HER
..

I
WAKE UP

I
WILL BE HERE
IN
CLOUD NINE

I’VE ARRIVED

I
FINALLY
GO HOME
EVEN SO,
I
WILL BECOME
SAD
AND
LONELY
WITHOUT
YOU
FAR
AWAY

..

EVEN SO,
MY
JOY
IS
OVERWHELMING

I
LOVE
YOU

I
PROMISE
OK?

THANK YOU

BYE-BYE”

this will sound so silly but i cried when if found it :,)

but, uh, yeah, thats the end of it. last week was such a blur its hard to collect my thoughts, almost like they happened to another me. i spent whole summers in hoenn as a kid so i guess it feels right for it to have loved me back. it was real. it was alive.

i’m not sure how to end this post, but... thanks for reading (if anyone even reads this blog lol)

- evasmachine

So that's the post... I still feel weird about tracking that person down, even if it is unintentionally- but I feel some arcane urge to keep going, to keep following the breadcrumbs. There has to be some big Secret at the heart of this.

Like there's an answer at the end if I just keep looking.

Maybe I was chosen to find it...?