Pesterquest Rewritten
A fanmade rewrite of Homestuck - Pesterquest!
- IMPORTANT - The web build is only a demo containing Act 1 of the game. Due to certain technical constraints of the itch.io platform, we cannot continue maintaining the web version of PQR. It will remain up to serve as a demo of volumes 1-5. The PC/desktop version will continue receiving updates.
- YOU CAN NOW UNLOCK ALL THE MAIN ROUTES BY CLICKING THE SUN ON THE MAIN MENU!
This game is a work in progress! You will find missing/placeholder sprites, temporary backgrounds/art, and routes that end abruptly. That's to be expected!
The best way to play this game is via the download -- if you would like automatic updates, install PQR through the itch.io app. Updates are frequent, so playing through that is the best way to stay up-to-date. (Android APK available upon request.)
Please read the in-game credits and disclaimer for more information.
Route transcripts are available on AO3.
Pesterquest Rewritten was created by EtchJetty - DM her @homestuck.com on Discord with any questions, feedback, or concerns. We are not officially affiliated with Homestuck, What Pumpkin Games, the HICU, or any related organizations.
Status | In development |
Platforms | HTML5, Windows, macOS, Linux |
Rating | Rated 4.8 out of 5 stars (27 total ratings) |
Author | EtchJetty |
Genre | Visual Novel |
Made with | Ren'Py |
Tags | Fangame, fansim, friendsim, hiveswap, homestuck, Kinetic Novel, pesterquest |
Average session | About an hour |
Languages | English |
Inputs | Keyboard, Mouse, Gamepad (any) |
Accessibility | Subtitles, One button |
Links | AO3 Transcript, YouTube |
Download
Development log
- FEFERI ROUTE COMPLETE!Jun 24, 2024
- ARADIABOT ROUTE COMPLETE!May 17, 2024
- SOLLUX ROUTE COMPLETE!Mar 27, 2024
- RANDOM GUY ROUTE COMPLETE!Mar 23, 2024
- solluxroute bigger update! yaaayMar 20, 2024
- tiny teeny solluxroute content update added!Mar 16, 2024
- minor contentless update + deets on where ive been lmaoMar 12, 2024
- Karkat Route Complete + "why do you want to rewrite pesterquest"Feb 03, 2024
Comments
Log in with itch.io to leave a comment.
I didn't know I could get the feels over an unknowable mass of eyeballs and tentacles, but here we are.
I came back to this after a while (the Karkat update), and I was reminded why I fell in love with this love letter. It's been a while, I gotta replay the earlier chapters at some point.
okay ive been trying for like three days to write a comment here but everything i try to write is just really rambly because i fucking love this game and i keep getting way too excited to write coherently so im just gonna put this in a list so hopefully it will make sense. once my brain starts working again, i will probably write another comment talking more about these updates because i could gush about this for hours!!!
spoilers of course
1. matriorb stuff is awesome! love the direction you are taking this in. similar to dave, jade, and sollux route "what do i do when my purpose in life is gone?" also kanaya losing all she had left of her lusus is heartwrenching and makes sense
2. curious to see how the rose ending will play out since even though sburb never went through kanaya still read the guide (unless im misremembering) and vriska prolly hasnt kissed tavros at least where kanaya could see. idk
3. jade and kanaya talking to each other about stuff that theyve gone through after the game never happened. peace and love on planet prospit!
4. joey and jude stuff is awesome!!! and its great to see john again!
5. blasphemous? interesting! excited to see what that all means :oD
6. the phone thing is a really cool idea! is this what the bdth thing was testing for?
7. holy shit hampter movie fucking real. what the fuck
this comment is SO SO SWEETS. so very sweets. i have been talking about current kanayaroute stuff on tumblr so just know that im like. reading it all and im so so happy people are engaged
yeah the pesterdump/phone format was what the bdth logs were used to test for!!! its been planned since even before i added the bdthlog thing to the game, so finally finally GETTING to it is really gratifying :) we'll be updating it with more logs every few routes!!!
hampter
Calroute for April Fools?
Felt Mansion games references?
Give it up for day 75.
hey man, i appreciate you're a fan of the game, but please don't do this. it makes me not want to work on it at all if the only reaction i'm getting is "why isn't there more, NOW"
we have been working on the game privately. it's been updated to 8.3.2, and the demo's gotten some optimizations. but it's, like, a free fan project that i make in my spare time when i'm interested in working on it, and that's how literally all of my fan projects work?
yeah. please don't do this
pepsicola when
there exist in-game implications thereof.
the people want their routes
their pepsicola secret routes
>last update nearly 2 months ago
Jesus wept.
absolutely late as hell but this has been an amazing project to watch (even though ive only gotten into it semi recently? a few weeks before the june route was publicly talked about)! im super excited to see how things go with kanaya :D!!
meow
I :anatomical_heart: Kanaya.
Okay, first before I talk about spoilers, just wanted to say that currently Vol 11 when locked says you need to beat Vol 9 instead of 10.
anyways, spoilers
said it before, but i think the idea of feferi having to leave gl'bgolyb is very interesting. especially because, like she says, she will have to make decisions like this if she becomes empress. one thing that might stop alternian empress feferi from turning into beforus feferi is listening to people and weighing their needs with hers. but also, like, she's only 13 at this point and having to choose whether or not to bassically never see your parental figure again (and how that affects the other relationships that came out of it like eridan) is... sheesh :/
on a different note, having the dream bubbles set up is really cool! i wonder if we will get to see any ghost players. also... yay!!! i love the new sprites :o) whoever made them did a great job! (sg i think? not completely sure if this route was the bonus route 3 you were talking about)
HOW DID YOU UNLOCK GEVREN ROUTE??????
also yes it's bonus route 3.
anyway. i'll fix that bug and... yeah. this is one of the first huge plot changes that's happened here. glybgolyb not being present is a big deal for the future of the planet
I dug around in the volume files of the game and then used the jump command in the console once I found its label.
That was a pretty good ending to the route, but I sort of feel like Feferi should have had a bit of a bigger realization of the fact that she is definitely not gonna see her lusus anymore, around the end. Maybe with Chekov making her snap out of it or something.
Still, it's good. I also loved the end card.
aaaa the feferi story is cute,,,,
The Gl'bgolyb storyline is so cool!
I am very -EXCIT-ED to see what else happens in Feferi's route!
You spelled a word wrong. Carabeaner is not a word, unless it's a pun I am not getting.
*carabiner, thank you
minor spelling mistake patch available now
GOOB UPD8 >wwww<
*runs around in circles overly excited*
UPDATE 15 HOURS AGO LETS GO ILL BE BACK WHEHN I FINISH IT
>my death had a meaning bef0re y0u robbed me of it
Hoooly shit.
Also (1) CANWC refrance? I am busting as we speak.
I am REALLY curious now with how you'll do Vriska's route. Because it's clear you do not see her as a "did nothing wrong" princess as the DOGSHIT original PQ route did.
Also (2), for the bad (lol) end, was that a placeholder card?
Also (3), a bit of overuse on the punctuation, I think.
Also^4, I like the bait and switch with SPOILER pretending to end the route for a bit.
Oh yeah, also, one thing that Aradia being dead made me think of. Once MSPAR gets back his memories (soon™), I hope I get to see him retcon himself to somewhere to get some godtier slabs, because it makes perfect sense for him to think of that. AFTER ALL, why WOULD he let his friends DIE if he could just...not?
Please don't call the original PQ dogshit in this comments section. I don't want to disrespect the original at all -- this is a loving fansequel, not a teardown/replacement.
And yeah, it was a placeholder card on the bad end. Should be updated now.
I was calling the Vriska route dogshit. Which it is. Abject trash, wasted my time.
this game is awesome
i like homestuck
Begging on my HAND and KNEES for a SIGN of LIFE. Please, tell me this was not abandoned.
SIGN OF LIFE. hi i was in intensive outpatient therapy this whole month. shit sucks!
don't worry, I've been working on the game, if only indirectly. long story but there is now going to officially be an Italian translation?????? yeah buckwild!!!!
have not made any writing headway on aradiaroute because, frankly, her perspective is violently depressed, and i would prefer to. not. exist in the headspace of a character who is violently depressed. not until i get more stable at least lol
it's not abandoned, like i said. there has been work on it. we're just holding it back for a little while.
for more updates, follow @pesterquestrewritten on tumblr :) and thank you for being one of my favorite commenters lol
Take your time, it is all good.
I am currently re-reading it through with a friend (and trying to groom another into reading it but he's a LAZY piece of shit) and I was reminded by how much sovl this has put into it.
🥹
oh wow adoro questo gioco. è appena esplosa la versione desktop quando siamo entrati nell'attico ma adesso lo scarico giusto e vedo. YAAAY. ahhh ho riso per qualche ora questo pomeriggio è tutto così divertente. specialmente quella parte di uhh. palmhuskphone HAHHAAH
pushed a minor patch because i realized the aradiabot jumpscare was broken.
That Aradiabot artstyle looks familiar. Who was the artist?
OH FUCK I COMPLETELY FORGOT TO ADD MORALITYCALLS TO THE CREDITS. THANK U FOR TELLING ME
I liked the way the Sollux route gets solved. Like yeah he's an asshole, but he also realises he's an asshole and MSPAR DOESN'T FORGET ABOUT THE RETCON POWERS!!!! YIPPIE!!! I also really liked the RLM refrance.
Also I think I nearly cried laughing at that fucking Aradia loss image.
New bonus route!!!!!
CONTENTLESS UPDATE LETS GOOOOOOOOO!!!!!!
(this game is awesome)
SO TRUE
*drags metal cup against bars in my cell trying to make noise
Conteent...Conteent...my kingdom for some content...
just for u i have written a big post about where ive been. because i have been making so much content asjfdnfgjsfhsfjh
>wrote a SI fic
Holy based. I will now proceed to read it and give a review of it HERE.
> Sollux turns to you and stars infodumping
this route is purrfect
FINALLY update with new solluxroute content. my motivation and emotional state is super fluctuationy rn but maybe thats appropriate for a sollux route??? LMAO
but yeah. hopefully i'll be working on this more, it's been good to do it
Karkat route getting the 2beep2meow instrumental was incredible lmaooooo. Petition to make it the official Karkat rant theme.
Also, HOLY HELL I LOVE THIS. It was only when I burst out laughing trying to read Dave's lines out loud that I realized I haven't quite felt the way I do playing this game since my first reading of early Homestuck. I can never thank you enough for taking me back to 2016... for better or for worse.
updated the ctrl+T route with a tech demo for a potential future thing..... and then updated it again bc that made the game crash LOL
SOLLUXROUTEE WOOOOOOOO
karkat is one of my favorite characters and you are doing absolutely awesome at writing him :3 love what's been done here and so excited for what's to come!! rlly glad i came across this i always have so much fun checking out the updates :D
hi! ive been replaying the game recently, but i found that trying to load any save file from John's route will just put out the first textbox. is this just because im playing a version from just when karkats route first released and i should update? absolutley LOVE the game by the way !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
are the saves old? renpy is sorta unpredictable when it comes to cross-version save files :/
i recommend using the fast forward option -- i promise we aren't doing any meta "tracking what you pick" things that isnt reflected in the achievements menu :P
actually ill dm you on tumblr for a more detailed bug report
I was experimenting with loading different save files and got mixed results on which ones worked, went to the start, or crashed. I have updated the game to the version 301 and am only using old save files. I am using the Itchio app and the in-app updating feature.
(Video has spoilers for most of PQR including bonus route)
Pressing Rollback too many times, causes the game to crash, as in the window closes.
Here are the crash codes:
Damara/Prologue
[code]
I'm sorry, but an uncaught exception occurred.
While running game code:
File "renpy/common/00action_file.rpy", line 498, in __call__
renpy.load(fn)
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "renpy/common/_layout/screen_load_save.rpym", line 35, in script
$ ui.interact()
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/ast.py", line 823, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/python.py", line 1178, in py_exec_bytecode
exec(bytecode, globals, locals)
File "renpy/common/_layout/screen_load_save.rpym", line 35, in <module>
$ ui.interact()
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/ui.py", line 301, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/core.py", line 2165, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/core.py", line 3197, in interact_core
rv = root_widget.event(ev, x, y, 0)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/transition.py", line 53, in event
return self.new_widget.event(ev, x, y, st) # E1101
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/screen.py", line 793, in event
rv = self.child.event(ev, x, y, st)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1426, in event
rv = super(Window, self).event(ev, x, y, st)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 288, in event
rv = d.event(ev, x - xo, y - yo, st)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 1174, in event
return handle_click(self.clicked)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 1095, in handle_click
rv = run(action)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 388, in run
new_rv = run(i, *args, **kwargs)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 395, in run
return action(*args, **kwargs)
File "renpy/common/00action_file.rpy", line 498, in __call__
renpy.load(fn)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/loadsave.py", line 829, in load
log.unfreeze(roots, label="_after_load")
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/rollback.py", line 1130, in unfreeze
self.rollback(0, force=True, label=label, greedy=greedy, on_load=True)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/rollback.py", line 925, in rollback
self.load_failed()
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/rollback.py", line 843, in load_failed
raise Exception("Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?")
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?
macOS-14.1.1-arm64-arm-64bit arm64
Ren'Py 8.2.0.24012702
Pesterquest Rewritten Wed Feb 7 01:34:18 2024
[/code]
Roxy/Act 5
[code]
I'm sorry, but an uncaught exception occurred.
While running game code:
File "renpy/common/00action_file.rpy", line 498, in __call__
renpy.load(fn)
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "renpy/common/_layout/screen_load_save.rpym", line 35, in script
$ ui.interact()
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/ast.py", line 823, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/python.py", line 1178, in py_exec_bytecode
exec(bytecode, globals, locals)
File "renpy/common/_layout/screen_load_save.rpym", line 35, in <module>
$ ui.interact()
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/ui.py", line 301, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/core.py", line 2165, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/core.py", line 3197, in interact_core
rv = root_widget.event(ev, x, y, 0)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/transition.py", line 53, in event
return self.new_widget.event(ev, x, y, st) # E1101
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/screen.py", line 793, in event
rv = self.child.event(ev, x, y, st)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1426, in event
rv = super(Window, self).event(ev, x, y, st)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 288, in event
rv = d.event(ev, x - xo, y - yo, st)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 1174, in event
return handle_click(self.clicked)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 1095, in handle_click
rv = run(action)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 388, in run
new_rv = run(i, *args, **kwargs)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 395, in run
return action(*args, **kwargs)
File "renpy/common/00action_file.rpy", line 498, in __call__
renpy.load(fn)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/loadsave.py", line 829, in load
log.unfreeze(roots, label="_after_load")
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/rollback.py", line 1130, in unfreeze
self.rollback(0, force=True, label=label, greedy=greedy, on_load=True)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/rollback.py", line 925, in rollback
self.load_failed()
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/rollback.py", line 843, in load_failed
raise Exception("Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?")
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?
macOS-14.1.1-arm64-arm-64bit arm64
Ren'Py 8.2.0.24012702
Pesterquest Rewritten Wed Feb 7 01:38:11 2024
[/code]
Adding this in a second reply because of character limits.
Roxy After Fully Game Crashed
I'm sorry, but an uncaught exception occurred.
While running game code:
File "game/volumes/vol5script.rpy", line 1414, in script
extend " so you zapped back in time to investigate."
File "game/volumes/vol5script.rpy", line 1414, in script
extend " so you zapped back in time to investigate."
File "renpy/common/00library.rpy", line 208, in __call__
renpy.exports.say(who, what, *args, **kw)
File "renpy/common/00gamemenu.rpy", line 130, in _invoke_game_menu
renpy.call_in_new_context('_game_menu')
File "renpy/common/00action_file.rpy", line 498, in __call__
renpy.load(fn)
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/bootstrap.py", line 359, in bootstrap
renpy.main.main()
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/main.py", line 635, in main
run(restart)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/main.py", line 145, in run
renpy.execution.run_context(True)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/execution.py", line 955, in run_context
context.run()
File "game/volumes/vol5script.rpy", line 1414, in script
extend " so you zapped back in time to investigate."
File "lib/python3.9/future/utils/__init__.py", line 444, in raise_
File "game/volumes/vol5script.rpy", line 1414, in script
extend " so you zapped back in time to investigate."
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/ast.py", line 2557, in execute
Say.execute(self)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/ast.py", line 615, in execute
renpy.exports.say(who, what, *args, **kwargs)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/exports.py", line 1493, in say
who(what, *args, **kwargs)
File "renpy/common/00library.rpy", line 208, in __call__
renpy.exports.say(who, what, *args, **kw)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/exports.py", line 1493, in say
who(what, *args, **kwargs)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/character.py", line 1391, in __call__
self.do_display(who, what, cb_args=self.cb_args, dtt=dtt, **display_args)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/character.py", line 1042, in do_display
display_say(who,
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/character.py", line 738, in display_say
rv = renpy.ui.interact(mouse='say', type=type, roll_forward=roll_forward)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/ui.py", line 301, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/core.py", line 2165, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/core.py", line 3197, in interact_core
rv = root_widget.event(ev, x, y, 0)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 548, in event
rv = run(action)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 395, in run
return action(*args, **kwargs)
File "renpy/common/00gamemenu.rpy", line 130, in _invoke_game_menu
renpy.call_in_new_context('_game_menu')
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/game.py", line 358, in call_in_new_context
return renpy.execution.run_context(False)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/execution.py", line 955, in run_context
context.run()
File "renpy/common/_layout/screen_load_save.rpym", line 35, in script
$ ui.interact()
File "lib/python3.9/future/utils/__init__.py", line 444, in raise_
File "renpy/common/_layout/screen_load_save.rpym", line 35, in script
$ ui.interact()
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/ast.py", line 823, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/python.py", line 1178, in py_exec_bytecode
exec(bytecode, globals, locals)
File "renpy/common/_layout/screen_load_save.rpym", line 35, in <module>
$ ui.interact()
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/ui.py", line 301, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/core.py", line 2165, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/core.py", line 3197, in interact_core
rv = root_widget.event(ev, x, y, 0)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/transition.py", line 53, in event
return self.new_widget.event(ev, x, y, st) # E1101
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/screen.py", line 793, in event
rv = self.child.event(ev, x, y, st)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1426, in event
rv = super(Window, self).event(ev, x, y, st)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 288, in event
rv = d.event(ev, x - xo, y - yo, st)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 1174, in event
return handle_click(self.clicked)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 1095, in handle_click
rv = run(action)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 388, in run
new_rv = run(i, *args, **kwargs)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/display/behavior.py", line 395, in run
return action(*args, **kwargs)
File "renpy/common/00action_file.rpy", line 498, in __call__
renpy.load(fn)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/loadsave.py", line 829, in load
log.unfreeze(roots, label="_after_load")
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/rollback.py", line 1130, in unfreeze
self.rollback(0, force=True, label=label, greedy=greedy, on_load=True)
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/rollback.py", line 925, in rollback
self.load_failed()
File "/Users/crystalgamer/Downloads/pesterquest-rewritten/pesterquest.app/Contents/Resources/autorun/renpy/rollback.py", line 843, in load_failed
raise Exception("Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?")
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?
macOS-14.1.1-arm64-arm-64bit arm64
Ren'Py 8.2.0.24012702
Pesterquest Rewritten Wed Feb 7 01:38:32 2024
okay that marvus clip actually gave me a good idea of what's happening
basically the game likes to rewind to the most recent "label" -- there's a label at the start of every route, which is why the game rewound there if there's not any closer one. the trollian label exists, the "blueblood car" label exists, etc.
i didnt code the save file system so i dont really know how to help... "perhaps the script changed in an incompatible way" really is what's going on, i think.
what's definitely interesting is the "unseen text" resetting. are you redownloading it each time, or using the itch app to update?
i'll ask around in the renpy discord for help pretty soon o7
I am using the itch app to update, but I only started using it in late December. Some of the save files I tried to load where saved in early December and November which were the times that I redownloaded the game any time it updated.
did a small update to patch in the achievement icon + update the game to Renpy 8.2.0 instead of 8.1.3! ill patch the web version to the new renpy too, soon
Really enjoyed this, and will definitely be interested in seeing where this goes in the future. My favourite was probably the John route. Everyone so far has felt pretty much in character (though there's not been much to see of the non-Hiveswap trolls yet, obviously). Definitely has the potential for me to like it more than the official Pesterquest, though I can't really say at this early stage, of course. Spoilers + criticism below to not spoil for anyone who hasn't played:
I'm a little sad that the Joey route ended up being more about finding Joey and not so much about engaging with her and Xefros, but I concede that's just because I love Hiveswap so much and always want more Xefros and Joey stuff. The content that was there was enjoyable.
I'd also agree with the commenter below that the jokes about MSPAR's confused pronouns as the result of being a player-stand-in are getting a little tired as of Karkat's route. Unless Emespi is supposed to be foreshadowing the resolution of this, which IMO would be a bad idea since MSPAR is supposed to be a kind of blank slate for the player (I mean, the name alone conveys that...) and characterising them too much by giving them an entirely new identity including name and gender would go against that. If Emespi just serves to show the alternate timeline MSPAR and how things would go without player intervention that's fine and dandy and a cool resolution to the problem of "MSPAR has too many damn friends and they're all split across several planets and universes and points in time"
joey route being limited was definitely a side effect of us not having the art budget for a full set of joey sprites, hah.... and i'll take the crit about dropping the pronoun jokes
i'm glad you like it so far -- emespi was definitely meant to just be "friendsim!mspar, who can be cordoned off with their friends", so that we didn't have to worry about contradicting the messages with having those friends still being out there somewhere
Finished playing CG's route, pretty good. Some of the trolls felt OOC, like Sollux and Aradia, while others felt just spot on, like Kanaya and Equius. Karkat's self-hatred seems a bit TOO played up. Like, he couldn't talk about anything else, really. I also am starting to grow more tired of the constant self-references to MSPAR. Constantly making "jokes" about "erm, Gamzee we're bros but I'm not actually a brother, you feel" stuff is pretty bottom of the barrel in terms of humour, especially since it's starting to get repeated in every route.
I think it's really funny how the win is achieved by being an asshole more often than not. Just knock on his door unprepared and dump verbal salad, snoop on his Trollian and talk to all his friends, basically laugh in his face over his self-hatred tirade. Basically all are things that Karkat really needed. Honestly less like an asshole and more like a boundary pusher, since you're really trying to change the outcome of Homestuck here, and trying to stick to the "canon" isn't MSPAR's purpose.
Keep up the good work.
Hey, I'm interested to know what you think felt out of character for sollux and aradia? IMO they felt pretty in character. Granted, early hivebent sollux is not easy to get right since we don't see a TON of him before he undergoes a bit of a change post-second-awakening (since he no longer has to deal with the voices of all of the soon to be dead on alternia).
Talking about the Aradia on Pesterchum, I think her just blocking MSPAR was a bit strange.
As for Sollux, he seemed like kind of an airhead? Not sure how to describe it, just strangely detached.
Something to keep in mind for Sollux is that he had a tendency to experience rather rapid and intense mood swings early on, which can definitely read as a sort of airheadedness. But it's more that he's stressed as fuck constantly and doesn't know how to deal so he goes very quickly from "fuck fuck fuck thii2 i2 horriible 2hiit" to "fuckiing whatever ii dont even care about thii2 2hiit" to try and cope, and then goes back to more intensely emotional states because keeping those down ain't easy, resulting in the flippy-floppy vibes. That's at least my read of his character in early hivebent at least.
aughhhhh so in character </3
YOUVE DONE IT AGAIN ETCH PERFECT ROUTE NO NOTES
karkat route DONE
LETS GO LETS GO LETS GO LETS GO WOOOOOOOO