3.80 star(s) 40 Votes
Mar 8, 2025
154
271
63
What the hell? Sorry, You are quite mistaken when you believe Netorare is about "empathy" with the MC. Netorare players get off on cheating, destroyed relationships and woes, not empathy with the MC!
Netorase(!) is about a couple sharing/swinging together.
Netorare is about the emotional concept of loss from the MCs perspective, not getting off (remember, the MC does not know, nor does he approve in the stories as the concept of stealing doesn't work that well if it is approved). It is tragedy story and can be told without any sexual scenes or depictions.

Netorase is as you say, sharing/swinging/(and cuckolding) which has much more in common with "cuckolding" than Netorare. After all, taking pleasure in seeing your love shared, is the very basis of cuckoldry.

My point is, these stories are often written to support an audience that enjoys seeing the MC humiliated, cuckolded both actual and through hidden manipulation. Because of that, the Netorare story is often written in the way where the MC indirectly approves of it (ie by making retarded decisions that always promote the betrayal/humiliation).

A traditional Netorare would be a story of love, having the love stolen, the MC suffering and then dealing with the tragedy in some way from his perspective and the reader is to empathize with the MCs plight, not the Netori (ie the ones doing the cheating).
 
Last edited:
Mar 8, 2025
154
271
63
Hi!
Then you are a rule-confirming exception, because the vast majority of NTR lovers on site are very much like I wrote. :)
I would say, from observation, the vast majority of those people are simply identifying with the Netori, not the Netorare which is why in those discussions, you constantly see them advocating for the FMC/Antagonist. In fact, people who get disturbed by the Netorare are often told NOT to empathize/identify with the MC to avoid the demoralized progression, again... because they enjoy the Netori side perspective.

For those in the "severe" minority who self identify with an MC Netorare story AND take sexual pleasure... well... personally I think it is a very detrimental kink to have, extremely unhealthy and self damaging. Most who enjoy a good Netorare story have the negative reaction sexually to the story (ie sex becomes repulsive in thought due to the betrayal).

In the end, Netorare makes a very good sad tragic story, but a very poor "porn" one.
 
Last edited:

MightbeSomeone

Active Member
Oct 25, 2024
563
646
171
The dev being confused about what he is doing caused me to stop support.

He has completely screwed up the loyal path.
His stealing of the wife story has completely fallen off the track
His cuck story is the only thing he seems to be doing correct.
And no sane male is a cuck or likes cuck stories

it seems these games always fall into the same trap
 

PepBuc

Newbie
Sep 6, 2017
15
2
31
is there an open relationship path? in which both MC and MCF fuck 3rd parties consensually and are cuckolding each other?
 

StrongEpsilon

Newbie
Apr 29, 2025
93
295
63
Netorase is as you say, sharing/swinging/(and cuckolding) which has much more in common with "cuckolding" than Netorare. After all, taking pleasure in seeing your love shared, is the very basis of cuckoldry.
I wouldn't put sharing and swinging together, because in the first one, MC is passive, and in the second one, he's active.
Different attitudes, on a somewhat common background.

My point is, these stories are often written to support an audience that enjoys seeing the MC humiliated, cuckolded both actual and through hidden manipulation. Because of that, the Netorare story is often written in the way where the MC indirectly approves of it (ie by making retarded decisions that always promote the betrayal/humiliation).
Yeah, totally agree.
 
  • Like
Reactions: ohhaiguize
Mar 8, 2025
154
271
63
I wouldn't put sharing and swinging together, because in the first one, MC is passive, and in the second one, he's active.
Different attitudes, on a somewhat common background.
I guess, that would be more my "perception" of the issue rather than getting into the technicalities of classifying it as you may be doing.

Personally, I see the concept of having your love be with another be it active or passive as still a form of cucking... but again, just my perception.
 

AL.d

Well-Known Member
Sep 26, 2016
1,999
6,407
792
Netorare is about the emotional concept of loss from the MCs perspective, not getting off (remember, the MC does not know, nor does he approve in the stories as the concept of stealing doesn't work that well if it is approved). It is tragedy story and can be told without any sexual scenes or depictions.

Netorase is as you say, sharing/swinging/(and cuckolding) which has much more in common with "cuckolding" than Netorare. After all, taking pleasure in seeing your love shared, is the very basis of cuckoldry.

My point is, these stories are often written to support an audience that enjoys seeing the MC humiliated, cuckolded both actual and through hidden manipulation. Because of that, the Netorare story is often written in the way where the MC indirectly approves of it (ie by making retarded decisions that always promote the betrayal/humiliation).

A traditional Netorare would be a story of love, having the love stolen, the MC suffering and then dealing with the tragedy in some way from his perspective and the reader is to empathize with the MCs plight, not the Netori (ie the ones doing the cheating).
Most of these people have learnt of that term through this site and the very narrow way most western devs use it. Which makes it impossible to conceive a cheating/betrayal story can happen without a pathetic beta cuck in it. Also why most newer games (coming out from people in this community), almost always end up being ntr = cuckolding in some way or form.
 

La Dani

Engaged Member
Aug 26, 2020
3,904
5,952
647
Please send the error code on the old saves.
Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?

-- Full Traceback ------------------------------------------------------------

Traceback (most recent call last):
  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script
    python hide:
  File "renpy/ast.py", line 1187, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/python.py", line 1260, in py_exec_bytecode
    exec(bytecode, globals, locals)
    ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in <module>
    python hide:
  File "renpy/common/_layout/screen_main_menu.rpym", line 35, in _execute_python_hide
    ui.interact()
    ~~~~~~~~~~~^^
  File "renpy/ui.py", line 304, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/core.py", line 2219, in interact
    repeat, rv = self.interact_core(
                 ~~~~~~~~~~~~~~~~~~^
        preloads=preloads,
        ^^^^^^^^^^^^^^^^^^
    ...<4 lines>...
        **kwargs,
        ^^^^^^^^^
    )  # type: ignore
    ^                
  File "renpy/display/core.py", line 3302, in interact_core
    rv = root_widget.event(ev, x, y, 0)
         ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/screen.py", line 805, in event
    rv = self.child.event(ev, x, y, st)
         ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1508, in event
    rv = super(Window, self).event(ev, x, y, st)
         ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/behavior.py", line 1184, in event
    return handle_click(self.clicked)
           ~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/behavior.py", line 1107, in handle_click
    rv = run(action)
         ~~~^^^^^^^^
  File "renpy/display/behavior.py", line 411, in run
    return action(*args, **kwargs)
           ~~~~~~^^^^^^^^^^^^^^^^^
  File "renpy/common/00action_file.rpy", line 499, in __call__
    renpy.load(fn)
    ~~~~~~~~~~^^^^
  File "renpy/loadsave.py", line 636, in load
    log.unfreeze(roots, label="_after_load")
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/rollback.py", line 1145, in unfreeze
    self.rollback(0, force=True, label=label, greedy=greedy, on_load=True)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/rollback.py", line 950, in rollback
    self.load_failed()
    ~~~~~~~~~~~~~~~~^^
  File "renpy/rollback.py", line 864, 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?

Windows-11-10.0.26100-SP0 AMD64
Ren'Py 8.4.1.25072401
Phone Story 0.12
Fri Sep 26 21:21:32 2025
 

Taptus

Active Member
Game Developer
Jun 7, 2018
505
1,211
229
Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?

-- Full Traceback ------------------------------------------------------------

Traceback (most recent call last):
  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script
    python hide:
  File "renpy/ast.py", line 1187, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/python.py", line 1260, in py_exec_bytecode
    exec(bytecode, globals, locals)
    ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in <module>
    python hide:
  File "renpy/common/_layout/screen_main_menu.rpym", line 35, in _execute_python_hide
    ui.interact()
    ~~~~~~~~~~~^^
  File "renpy/ui.py", line 304, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/core.py", line 2219, in interact
    repeat, rv = self.interact_core(
                 ~~~~~~~~~~~~~~~~~~^
        preloads=preloads,
        ^^^^^^^^^^^^^^^^^^
    ...<4 lines>...
        **kwargs,
        ^^^^^^^^^
    )  # type: ignore
    ^               
  File "renpy/display/core.py", line 3302, in interact_core
    rv = root_widget.event(ev, x, y, 0)
         ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/screen.py", line 805, in event
    rv = self.child.event(ev, x, y, st)
         ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1508, in event
    rv = super(Window, self).event(ev, x, y, st)
         ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/behavior.py", line 1184, in event
    return handle_click(self.clicked)
           ~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/behavior.py", line 1107, in handle_click
    rv = run(action)
         ~~~^^^^^^^^
  File "renpy/display/behavior.py", line 411, in run
    return action(*args, **kwargs)
           ~~~~~~^^^^^^^^^^^^^^^^^
  File "renpy/common/00action_file.rpy", line 499, in __call__
    renpy.load(fn)
    ~~~~~~~~~~^^^^
  File "renpy/loadsave.py", line 636, in load
    log.unfreeze(roots, label="_after_load")
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/rollback.py", line 1145, in unfreeze
    self.rollback(0, force=True, label=label, greedy=greedy, on_load=True)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/rollback.py", line 950, in rollback
    self.load_failed()
    ~~~~~~~~~~~~~~~~^^
  File "renpy/rollback.py", line 864, 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?

Windows-11-10.0.26100-SP0 AMD64
Ren'Py 8.4.1.25072401
Phone Story 0.12
Fri Sep 26 21:21:32 2025
And in which add-on did you save?
 

Taptus

Active Member
Game Developer
Jun 7, 2018
505
1,211
229
Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?

-- Full Traceback ------------------------------------------------------------

Traceback (most recent call last):
  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script
    python hide:
  File "renpy/ast.py", line 1187, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/python.py", line 1260, in py_exec_bytecode
    exec(bytecode, globals, locals)
    ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in <module>
    python hide:
  File "renpy/common/_layout/screen_main_menu.rpym", line 35, in _execute_python_hide
    ui.interact()
    ~~~~~~~~~~~^^
  File "renpy/ui.py", line 304, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/core.py", line 2219, in interact
    repeat, rv = self.interact_core(
                 ~~~~~~~~~~~~~~~~~~^
        preloads=preloads,
        ^^^^^^^^^^^^^^^^^^
    ...<4 lines>...
        **kwargs,
        ^^^^^^^^^
    )  # type: ignore
    ^               
  File "renpy/display/core.py", line 3302, in interact_core
    rv = root_widget.event(ev, x, y, 0)
         ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/screen.py", line 805, in event
    rv = self.child.event(ev, x, y, st)
         ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1508, in event
    rv = super(Window, self).event(ev, x, y, st)
         ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/behavior.py", line 1184, in event
    return handle_click(self.clicked)
           ~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/behavior.py", line 1107, in handle_click
    rv = run(action)
         ~~~^^^^^^^^
  File "renpy/display/behavior.py", line 411, in run
    return action(*args, **kwargs)
           ~~~~~~^^^^^^^^^^^^^^^^^
  File "renpy/common/00action_file.rpy", line 499, in __call__
    renpy.load(fn)
    ~~~~~~~~~~^^^^
  File "renpy/loadsave.py", line 636, in load
    log.unfreeze(roots, label="_after_load")
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/rollback.py", line 1145, in unfreeze
    self.rollback(0, force=True, label=label, greedy=greedy, on_load=True)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/rollback.py", line 950, in rollback
    self.load_failed()
    ~~~~~~~~~~~~~~~~^^
  File "renpy/rollback.py", line 864, 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?

Windows-11-10.0.26100-SP0 AMD64
Ren'Py 8.4.1.25072401
Phone Story 0.12
Fri Sep 26 21:21:32 2025
And, in my opinion, this error came out second after the first error, since it refers to the fact that you found the "rollback" button. Please send the code of the first error.
 

La Dani

Engaged Member
Aug 26, 2020
3,904
5,952
647
Game restarted then loaded the save file:

Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?

-- Full Traceback ------------------------------------------------------------

Traceback (most recent call last):
  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script
    python hide:
  File "renpy/ast.py", line 1187, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/python.py", line 1260, in py_exec_bytecode
    exec(bytecode, globals, locals)
    ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in <module>
    python hide:
  File "renpy/common/_layout/screen_main_menu.rpym", line 35, in _execute_python_hide
    ui.interact()
    ~~~~~~~~~~~^^
  File "renpy/ui.py", line 304, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/core.py", line 2219, in interact
    repeat, rv = self.interact_core(
                 ~~~~~~~~~~~~~~~~~~^
        preloads=preloads,
        ^^^^^^^^^^^^^^^^^^
    ...<4 lines>...
        **kwargs,
        ^^^^^^^^^
    )  # type: ignore
    ^                
  File "renpy/display/core.py", line 3302, in interact_core
    rv = root_widget.event(ev, x, y, 0)
         ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/screen.py", line 805, in event
    rv = self.child.event(ev, x, y, st)
         ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1508, in event
    rv = super(Window, self).event(ev, x, y, st)
         ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/behavior.py", line 1184, in event
    return handle_click(self.clicked)
           ~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/behavior.py", line 1107, in handle_click
    rv = run(action)
         ~~~^^^^^^^^
  File "renpy/display/behavior.py", line 411, in run
    return action(*args, **kwargs)
           ~~~~~~^^^^^^^^^^^^^^^^^
  File "renpy/common/00action_file.rpy", line 499, in __call__
    renpy.load(fn)
    ~~~~~~~~~~^^^^
  File "renpy/loadsave.py", line 636, in load
    log.unfreeze(roots, label="_after_load")
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/rollback.py", line 1145, in unfreeze
    self.rollback(0, force=True, label=label, greedy=greedy, on_load=True)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/rollback.py", line 950, in rollback
    self.load_failed()
    ~~~~~~~~~~~~~~~~^^
  File "renpy/rollback.py", line 864, 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?

Windows-11-10.0.26100-SP0 AMD64
Ren'Py 8.4.1.25072401
Phone Story 0.12
Fri Sep 26 21:42:59 2025
 

La Dani

Engaged Member
Aug 26, 2020
3,904
5,952
647
Game restarted then loaded the save file:

Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?

-- Full Traceback ------------------------------------------------------------

Traceback (most recent call last):
  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script
    python hide:
  File "renpy/ast.py", line 1187, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/python.py", line 1260, in py_exec_bytecode
    exec(bytecode, globals, locals)
    ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in <module>
    python hide:
  File "renpy/common/_layout/screen_main_menu.rpym", line 35, in _execute_python_hide
    ui.interact()
    ~~~~~~~~~~~^^
  File "renpy/ui.py", line 304, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/core.py", line 2219, in interact
    repeat, rv = self.interact_core(
                 ~~~~~~~~~~~~~~~~~~^
        preloads=preloads,
        ^^^^^^^^^^^^^^^^^^
    ...<4 lines>...
        **kwargs,
        ^^^^^^^^^
    )  # type: ignore
    ^               
  File "renpy/display/core.py", line 3302, in interact_core
    rv = root_widget.event(ev, x, y, 0)
         ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/screen.py", line 805, in event
    rv = self.child.event(ev, x, y, st)
         ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1508, in event
    rv = super(Window, self).event(ev, x, y, st)
         ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 1284, in event
    rv = i.event(ev, x - xo, y - yo, cst)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
         ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/display/behavior.py", line 1184, in event
    return handle_click(self.clicked)
           ~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "renpy/display/behavior.py", line 1107, in handle_click
    rv = run(action)
         ~~~^^^^^^^^
  File "renpy/display/behavior.py", line 411, in run
    return action(*args, **kwargs)
           ~~~~~~^^^^^^^^^^^^^^^^^
  File "renpy/common/00action_file.rpy", line 499, in __call__
    renpy.load(fn)
    ~~~~~~~~~~^^^^
  File "renpy/loadsave.py", line 636, in load
    log.unfreeze(roots, label="_after_load")
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/rollback.py", line 1145, in unfreeze
    self.rollback(0, force=True, label=label, greedy=greedy, on_load=True)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/rollback.py", line 950, in rollback
    self.load_failed()
    ~~~~~~~~~~~~~~~~^^
  File "renpy/rollback.py", line 864, 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?

Windows-11-10.0.26100-SP0 AMD64
Ren'Py 8.4.1.25072401
Phone Story 0.12
Fri Sep 26 21:42:59 2025
 

Dodz1984

Member
Feb 26, 2024
137
97
62
Netorare is about the emotional concept of loss from the MCs perspective, not getting off (remember, the MC does not know, nor does he approve in the stories as the concept of stealing doesn't work that well if it is approved). It is tragedy story and can be told without any sexual scenes or depictions.

Netorase is as you say, sharing/swinging/(and cuckolding) which has much more in common with "cuckolding" than Netorare. After all, taking pleasure in seeing your love shared, is the very basis of cuckoldry.

My point is, these stories are often written to support an audience that enjoys seeing the MC humiliated, cuckolded both actual and through hidden manipulation. Because of that, the Netorare story is often written in the way where the MC indirectly approves of it (ie by making retarded decisions that always promote the betrayal/humiliation).

A traditional Netorare would be a story of love, having the love stolen, the MC suffering and then dealing with the tragedy in some way from his perspective and the reader is to empathize with the MCs plight, not the Netori (ie the ones doing the cheating).
You are absolutely right.
Netorare stories are the ones where the MC's SO/love interest will be stolen by a rival. The MC will be dumped by his SO or rejected by his crush while being brutally humiliated in the process.

Cuckolding, sharing and other variants are not Netorare.

People who feel aroused portraying themselves as the cheated MC are emotional maoschistics and you'll never understand this if you're not. A gf/wife/fiancee fucking another man is one of the greatest humiliations a man can go through in our society. Feeling pleasure from being humiliated os not necessarily unhealthy if the other (more important) aspects of your life are good. Any kink will bring you problems of you don't take care of yourself or if you are an unbanlaced person.
 
  • Like
Reactions: La Dani

La Dani

Engaged Member
Aug 26, 2020
3,904
5,952
647
You are absolutely right.
Netorare stories are the ones where the MC's SO/love interest will be stolen by a rival. The MC will be dumped by his SO or rejected by his crush while being brutally humiliated in the process.

Cuckolding, sharing and other variants are not Netorare.

People who feel aroused portraying themselves as the cheated MC are emotional maoschistics and you'll never understand this if you're not. A gf/wife/fiancee fucking another man is one of the greatest humiliations a man can go through in our society. Feeling pleasure from being humiliated os not necessarily unhealthy if the other (more important) aspects of your life are good. Any kink will bring you problems of you don't take care of yourself or if you are an unbanlaced person.
I understood two things:
NetoraSe: they bang your wife, you are happy;
NetoraRe: they bang your wife, you are not happy.
 
  • Haha
Reactions: StrawberryCheese83

Fitharia

Active Member
Feb 6, 2025
647
647
102
I understood two things:
NetoraSe: they bang your wife, you are happy;
NetoraRe: they bang your wife, you are not happy.
Well not exact explanation. But close.

There three terms:

Netori: You do the stealing of others their Love interests and get all the girls, dream of many men.

Netorase: You get horny of seeing your Love interest having sex with other men, there some different goes here, mostly cuck with either humilition or stag. But for some you are happy as you can use your used Love interest afterwards.

Netorare: You are mostly oblivious what happening to you love interests, as other men do everything in their power to make them their own and eventualy your love interests no longer show interest in you as you are a pathetic loser. Though this concept often seen by some players for any girl who has sex with other men, even they not your love interests.
 

Contra2000

Newbie
Nov 27, 2024
54
50
27
I understood two things:
NetoraSe: they bang your wife, you are happy;
NetoraRe: they bang your wife, you are not happy.
Nah..in netorare you are not supposed to know if someone is banging your wife or not.. You're not the cuck here.. But in this game mc knows that his wife is being fucked but still isn't doing anything but just watching from the sidelines..I did told dev that there is no need for mc to get involved with the spy chats and that he should leave that to the persepective of the one playing the game(in ntr storyline).. Here the dev made mc a cuck which is a nts storyline not an ntr and I even told him that there is no need for the black guy (forgot his name) to send pics of Lisa to mc in ntr story line.. But he said something about resentment and all that which doesn't fit in the ntr story line at all.. If it did then mc should have confronted his wife which he didn't so that makes him a cuck in an ntr storyline which is weird
 
Mar 8, 2025
154
271
63
Netorare: You are mostly oblivious what happening to you love interests, as other men do everything in their power to make them their own and eventualy your love interests no longer show interest in you as you are a pathetic loser. Though this concept often seen by some players for any girl who has sex with other men, even they not your love interests.
The only thing I would disagree with here is how you are depicting the MC in general.

Netorare does not imply he is oblivious or that he is a pathetic loser, that is how some writers, more specifically western ones often portrait the MC and I think it is often due to the fact that writing the MC this way is much easier as the "obliviousness" of the MC makes all encounters extremely easy to setup and pass off. Also, framing the MC as a "pathetic loser" works better for the story if the intent is to push a more "Netori" angle (ie the FMC/Antagonist are the heroes) in the Netorare story.

I think that is the biggest complaint for people seeking honest Netorare stories because there isn't a honest emotional connection with the MC due to the need to make them an idiot and constantly justify the cheating being done on him by portraying him as a "loser". That is definitely more of a story focus of Netori on the targets of the steal to frame the them as a cuck.
 
3.80 star(s) 40 Votes