My own! I used SDL2 and a few other libraries and compiled it to the web via Emscritpen.
EPICPIKAGUY
Creator of
Recent community posts
Good question! Part one and two are meant to be played separately, so combining their maps might actually make things more awkward. They could be separate games in the same package, though, in the same way that e.g. The Ace Attorney trilogy HD (or whatever it’s called) puts three separate games in the same place.
Maybe? If I'm not mistaken, you can download the game in the Itch.io app, but that's basically just a local copy of the web version.
Given the fact that so many people have been asking for a true downloadable version of the game, I'll probably get around to it at some point. Also, I'm about 50% sure there will be another "mainline entry" at some point. Not 100% sure, and it's probably going to take a while if it does happen (I keep saying this about all my games, but it's true.)
P.S. My Mastodon profile is probably the best place to check if you want to view updates about my projects.
Assuming this is the glitch you're talking about and I'm remembering right, here's how to do it (and I'm using rot13 because there are spoilers.)
svefg, znxr fher "ranoyr byq ohtf" va tnzrcynl frggvatf vf ba. Gura, trg vagb n fvghngvba jurer bar xvggra vf ba n jbezubyr naq gur bgure vf ba gur rqtr bs gur ebbz. Lbh gura jnag gb jnyx bhg bs gur ebbz ng gur fnzr gvzr nf lbh cerff ragre. Vg'f uneq gb trg gur gvzvat evtug, ohg lbh pna whfg haqb naq gel ntnva hagvy gur tyvgpu unccraf.
Jura lbh chyy vg bss, gur tnzr jvyy guvax lbh'er gelvat gb ragre gjb frcnengr ebbzf ng bapr. V fhccbfr lbh npghnyyl NER qbvat whfg gung, ohg va na havagraqrq jnl. Ertneqyrff, gur tnzr zbirf lbh hc svir ebbzf jurarire gung unccraf. Fb gung'f gur raq erfhyg bs gur tyvgpu.
Jura V svefg tbg gur oht ercbeg, V ernyvmrq gung lbh pbhyq qb gur oht va ebbz 10,19, naq gung pbhyq or na vagrerfgvat fcrrqeha fgengrtl vs V erzbirq n srj oneevref gb znxr gb znxr vg cbffvoyr gb tb gb gur raqvat cebcre nsgre lbh gryrcbegrq gb gur yrsg pbeare va 10,14. Fb V qvq whfg gung.
in hindsight, I shouldn’t have made that secret count towards completion in the first place. Not only was it unintuitive to many players, it also posed a lot of technical challenges since (rot 13) Lbh pbhyq pbyyrpg gur 4,4 pelcgvq orsber lbh rira fgnegrq n fnir svyr, naq V jnagrq gb znxr fher gung vs lbh qvq, lbhe cebterff jbhyq pnel bire bapr lbh fgnegrq gur tnzr. V unq gb tb ntnvafg znal nffhzcgvbaf V unq znqr jura svefg znxvat gur tnzr, naq vg jnf irel zrffl pbqr.
Your synopsis seems to be more or less correct, from what I can gather. Here's a relevant comment in the game's code (encoded in rot13): "[n fgrc pbhagre inyhr gung vf] terngre guna 10 zrnaf vg ercerfragf (inyhr-0kssss-1) fgrcf (juvpu raqf hc orvat artngvir.)"
(The game's codebase is so large that I keep having to re-remember how certain parts work, which is why comments like these come in handy.)
As for the images on the flags (I'm simplifying here but it's basically correct): the game stores image indices in a giant list, and the flag "pip" images are stored together. E.G. there's an image for one dot, followed by an image of two dots, and so on. Normal flags don't have values greater than 9, but when glitch flags do, they try to access e.g. the 20th dot image, which ends up being a different image entirely since the indices are stored next to each other.
This is a bug; Thanks for bringing this to my attention!
Fun fact: the game has a "static analyzer" that marks objects which are guaranteed to not move or change, which lets the game make undo states use less memory. I do wonder if that was a good decision, though, since it often caused bugs (like this one) and doesn't save a whole lot of memory overall.
I do think this is funny, and I found many similar bugs over the course of development. Part of me wants to keep this behavior when "enable old bugs" is turned on, but:
- This causes some potentially dangerous behavior with reading/writing out of bounds (My development builds of the game check for Out Of Bounds reading on many arrays, and this bug causes OOB reads, which are concerning.)
- I could change the code so this bug behaves in a safe way, but I'm thinking that might be a lot of work.
- I could add in those "weird flags" in a safer way in the future. Possibly.
I'll upload a patch that fixes this (and improves/fixes some other things as well) some time in the near future.
Okay, you can follow these steps to get your progress back:
- open up the Javascript console
- make sure you have the game's iframe selected (it won't work if you run the command on the main page, it has to specifically execute in the iframe's page)
- paste and run the following command:
localStorage["epicpikaguy.itch.io/nss2/slot0.txt"] = "14\r\n10\r\n19\r\n5\r\n1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;0;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;\r\n1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;\r\n1;65;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;33;97;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;32;0;0;0;0;0;32;0;0;0;0;0;0;0;0;0;0;32;32;0;0;96;105;32;0;0;0;64;1;0;0;0;0;32;0;0;0;0;96;33;97;0;64;105;105;105;0;0;0;0;0;0;0;0;96;225;32;32;0;96;9;9;73;32;32;96;73;32;0;0;0;0;0;0;0;64;33;65;225;97;96;41;41;105;457;489;9;73;73;73;0;0;0;0;0;0;0;64;33;33;1;97;41;41;41;13;41;9;41;13;105;73;0;0;0;0;0;0;0;64;33;113;1;97;41;41;41;73;73;9;361;9;41;105;0;0;0;0;0;32;32;32;64;353;33;65;9;97;41;73;73;73;41;457;233;32;0;0;0;0;64;33;97;73;0;96;33;85;9;41;41;13;41;9;9;13;41;233;0;0;0;0;0;0;64;73;96;353;1;65;105;33;9;73;9;41;105;9;105;73;0;0;0;32;32;0;64;73;353;1;65;97;97;41;41;457;9;41;489;457;233;73;0;0;64;33;97;0;64;41;73;97;1;65;97;97;9;45;41;9;9;45;233;105;0;0;0;0;0;0;0;64;9;77;97;97;0;64;457;41;41;105;41;73;73;0;0;0;0;0;0;0;0;64;105;425;41;73;0;64;105;0;0;0;64;105;73;0;0;0;0;0;0;0;0;0;64;41;41;105;0;0;0;0;0;0;0;64;73;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;64;73;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;64;105;0;\r\n10\r\n19\r\n333333333333d33f333333333333d33f333333333333d33f\r\n333333333333d33f333333333333d33f333333333333d33f\r\n11\r\n1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;1;1;1;1;0;0;0;1;1;0;0;0;0;0;0;1;0;0;0;0;0;0;0;\r\n11;14;-1;\r\n1\r\n0\r\n";
Then try refreshing the page. Hopefully, this should work. (But I'm not familiar with the browser in question, so there's a chance it might not, and there's also a chance I made a mistake here.)
I think I might have an idea of what went wrong. The level editor actually reads and writes to your saved progress (for spoiler-y reasons,) so it’s likely that something went wrong during that process.
Fortunately, this is the only report I’ve gotten in the three weeks since the game’s release, so hopefully this is a really rare bug.
I’ll try to implement some sort of save backup system soon, but in the meantime: what did your save game look like? I can try to recreate your progress, then give you a save file which you can load into the game via the JavaScript console.