I second all of this lol, even down to the feeling like a sister part -- was thinking that too, but maybe MC just really feels tired...The GF is super hot
The scenario is really hot
My issue with the game is as someone else mentioned, I feel like I don't have any frame of reference for the MC and GF's relationship. It feels more like the villain is stealing my sister than my girlfriend. For instance, why has the MC not initiated sex at all? For months? It's a step too far for believability. Not to mention that it seems like they never interact at all without the villain present or mentioned.
I love the GF tracker but I wasn't a fan of seeing the new sex interactions pop up. It makes it into a "check the tracker to see the new thing they did" situation instead of "check the tracker to see the things they MAY have done without you knowing" which is a slim difference but a huge one for me. It's the surprise of "WHAT?! When did she give him a handjob?! WTF!" that makes it nerve wracking to open the tracking app IMO. To facilitate that, there would have to be more actual working/flirting scenes. Once the sexual stuff really kicks off it seems all they do all day every day is blowjobs handjobs or kissing. It's a porn game, and thats the main sex delivery mechanism, so I get it, but it makes it an overload of the porn scenario instead of the gradual corruption that I personally think is hotter.
Not a fan of the sex-crazy drugs idea either, but I get it's a kink people have so thats a wash for me. Not sure about revealing the villain as a sex crazed manipulator right off the bat with his inner monologue. Yes, as players of the game we know where it's going. But some subtlety goes a long way. Instead of instantly knowing this guy is a pos stealing my girl, it'd be more interesting to see him as a fellow stranded wanderer working in a desparate situation with us when things go out of control.
All this is to say, I was really impressed with the game especially as a first time dev. I enjoyed it, the sexy parts were hot, I felt the dread necessary for this kind of game to function properly. I look forward to see it develop and your projects in the future.
grindy? lolInteresting game but generally too grindy and repetitive and that lets it down. It needs a greater variety of Renders and Dialogue.
This could be solved easily: more drugs! (DON't do drugs kids) Seriously though, putting something in the Boyfriend's food to deaden his arousal or willpower in some way would be a good solution to this.I second all of this lol, even down to the feeling like a sister part -- was thinking that too, but maybe MC just really feels tired...
Though realistically would have definitely been more forceful at somepoint I think
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/execution.py", line 596, in run
node.execute()
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/ast.py", line 1363, in execute
renpy.exports.with_statement(trans, paired=paired)
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/exports.py", line 1781, in with_statement
return renpy.game.interface.do_with(trans, paired, clear=clear)
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/display/core.py", line 1548, in do_with
return self.interact(trans_pause=True,
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/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 "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/display/core.py", line 2818, in interact_core
self.draw_screen(root_widget, fullscreen_video, (not fullscreen_video) or video_frame_drawn)
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/display/core.py", line 1352, in draw_screen
surftree = renpy.display.render.render_screen(
File "render.pyx", line 486, in renpy.display.render.render_screen
File "render.pyx", line 260, in renpy.display.render.render
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/display/layout.py", line 900, in render
surf = render(child, width, height, cst, cat)
File "render.pyx", line 170, in renpy.display.render.render
File "render.pyx", line 260, in renpy.display.render.render
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/display/transition.py", line 194, in render
renpy.display.render.render(self.transitions[-1], width, height, 0, 0)
File "render.pyx", line 170, in renpy.display.render.render
File "render.pyx", line 260, in renpy.display.render.render
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/display/transition.py", line 384, in render
top = render(self.new_widget, width, height, st, at)
File "render.pyx", line 170, in renpy.display.render.render
File "render.pyx", line 260, in renpy.display.render.render
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/display/layout.py", line 900, in render
surf = render(child, width, height, cst, cat)
File "render.pyx", line 170, in renpy.display.render.render
File "render.pyx", line 260, in renpy.display.render.render
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/display/layout.py", line 900, in render
surf = render(child, width, height, cst, cat)
File "render.pyx", line 170, in renpy.display.render.render
File "render.pyx", line 260, in renpy.display.render.render
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/display/transform.py", line 957, in render
return RenderTransform(self).render(width, height, st, at)
File "accelerator.pyx", line 978, in renpy.display.accelerator.RenderTransform.render
File "accelerator.pyx", line 413, in renpy.display.accelerator.RenderTransform.render_child
File "render.pyx", line 260, in renpy.display.render.render
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/display/im.py", line 626, in render
return cache.get(self, render=True)
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/display/im.py", line 309, in get
surf = image.load()
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/display/im.py", line 761, in load
raise e
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/display/im.py", line 711, in load
filelike = renpy.loader.load(self.filename, directory="images")
File "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/loader.py", line 672, in load
raise IOError("Couldn't find file '%s'." % name)
OSError: Couldn't find file 'run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png'.
strace:openat(AT_FDCWD, "/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 28
newfstatat(28, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0
getdents64(28, 0x55f76d752eb0 /* 19 entries */, 32768) = 728
getdents64(28, 0x55f76d752eb0 /* 0 entries */, 32768) = 0
close(28) = 0
recvmsg(14, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(14, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=17, events=POLLIN}], 1, 0) = 0 (Timeout)
poll([{fd=23, events=POLLIN}], 1, 0) = 0 (Timeout)
poll([{fd=22, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
recvmsg(14, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(14, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=17, events=POLLIN}], 1, 0) = 0 (Timeout)
poll([{fd=23, events=POLLIN}], 1, 0) = 0 (Timeout)
poll([{fd=22, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
stat("/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png", 0x7ffce9155500) = -1 ENOENT (No such file or directory)
stat("/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/common/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png", 0x7ffce9155500) = -1 ENOENT (No such file or directory)
stat("/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png", 0x7ffce9155500) = -1 ENOENT (No such file or directory)
stat("/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/common/images/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png", 0x7ffce9155500) = -1 ENOENT (No such file or directory)
stat("/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png", 0x7ffce9155220) = -1 ENOENT (No such file or directory)
stat("/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/common/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png", 0x7ffce9155220) = -1 ENOENT (No such file or directory)
stat("/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png", 0x7ffce9155220) = -1 ENOENT (No such file or directory)
stat("/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/common/images/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png", 0x7ffce9155220) = -1 ENOENT (No such file or directory)
futex(0x7f3590008950, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f3597e226c8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f3597e226d0, FUTEX_WAKE_PRIVATE, 1) = 1
stat("/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png", 0x7ffce9154320) = -1 ENOENT (No such file or directory)
futex(0x7f3597e226cc, FUTEX_WAIT_BITSET_PRIVATE, 0, {tv_sec=285581, tv_nsec=978975809}, FUTEX_BITSET_MATCH_ANY) = 0
futex(0x7f3597e226d0, FUTEX_WAKE_PRIVATE, 1) = 0
stat("/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/common/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png", 0x7ffce9154320) = -1 ENOENT (No such file or directory)
stat("/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png", 0x7ffce9154320) = -1 ENOENT (No such file or directory)
stat("/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/common/images/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png", 0x7ffce9154320) = -1 ENOENT (No such file or directory)
stat("game/script.rpy", {st_mode=S_IFREG|0644, st_size=233685, ...}) = 0
/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/renpy/common/run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png instead of /run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png, likely because for some reason somewhere the path turned into run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png instead of /run/media/arrchman/dee44b6d-6c4c-13bf-8a95-d3eb240fdec0/NavigatingTheRift-0.5-pc/game/images/magellan/Magellan04.png, the former being a relative path and the latter an absolute path.name = re.sub(r'/+', '/', name).lstrip('/')
load at renpy/loader.pythe twist could be that the drug are simple minerals with some sugar and that why she got her heart beating faster and she had the slut side inside her all alongThe GF is super hot
The scenario is really hot
My issue with the game is as someone else mentioned, I feel like I don't have any frame of reference for the MC and GF's relationship. It feels more like the villain is stealing my sister than my girlfriend. For instance, why has the MC not initiated sex at all? For months? It's a step too far for believability. Not to mention that it seems like they never interact at all without the villain present or mentioned.
I love the GF tracker but I wasn't a fan of seeing the new sex interactions pop up. It makes it into a "check the tracker to see the new thing they did" situation instead of "check the tracker to see the things they MAY have done without you knowing" which is a slim difference but a huge one for me. It's the surprise of "WHAT?! When did she give him a handjob?! WTF!" that makes it nerve wracking to open the tracking app IMO. To facilitate that, there would have to be more actual working/flirting scenes. Once the sexual stuff really kicks off it seems all they do all day every day is blowjobs handjobs or kissing. It's a porn game, and thats the main sex delivery mechanism, so I get it, but it makes it an overload of the porn scenario instead of the gradual corruption that I personally think is hotter.
Not a fan of the sex-crazy drugs idea either, but I get it's a kink people have so thats a wash for me. Not sure about revealing the villain as a sex crazed manipulator right off the bat with his inner monologue. Yes, as players of the game we know where it's going. But some subtlety goes a long way. Instead of instantly knowing this guy is a pos stealing my girl, it'd be more interesting to see him as a fellow stranded wanderer working in a desparate situation with us when things go out of control.
All this is to say, I was really impressed with the game especially as a first time dev. I enjoyed it, the sexy parts were hot, I felt the dread necessary for this kind of game to function properly. I look forward to see it develop and your projects in the future.
Afterall, don't we all have "the slut" inside us?the twist could be that the drug are simple minerals with some sugar and that why she got her heart beating faster and she had the slut side inside her all along
we get the taste of her bedroom personality before the explosion.
just my take
dude there's no grind, what is grind for you?Agree with many suggestions here. Need more development on MC and GF relationship so that the NTR is more impactful.
Slightly less grind with more variation in the dialogue. And maybe more choices so that the story feels less linear and kinetic?
There's plenty of repeat dialogue and scenes. Replaying the same scene over and over again is a grind.dude there's no grind, what is grind for you?