Rollback question

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Message
Author
Counter Arts
Miko-Class Veteran
Posts: 646
Joined: Fri Dec 16, 2005 5:21 pm
Completed: Fading Hearts, Infinite Game Works
Projects: Don't Save the World
Organization: Sakura River
Location: Canada
Contact:

Re: Rollback question

#16 Post by Counter Arts » Mon Feb 25, 2008 9:13 pm

Heh heh...

For the rollback and readback debate here is what I say.

At the risk of repeating something that someone may have said before...

The thing about rollback is that... just for letting you go back and change a choice... it's like a game genie. It feels like a cheat.

At least personally, if I KNOW I can just rollback and change my choice the whole tension of making a choice is gone.

Like, when I experienced what was the ONLY choice given to you in the higurashi games, I panicked hard and said to myself "Oh S***" and I was stuck there for 20 seconds trying to decide. It didn't really matter in the end... but still... it was a well placed choice.

Edit: There has to be at least SOME penalty to the player for making the choice they didn't want. Even if it's superficially having to reload again from directly the last choice. I did this many times in the Phenoix Wright games.

The other way around this is to commit another sin by like having a choice wayyyy back in the beginning making or breaking your good ending. I heard some people didn't like this here.
Fading Hearts is RELEASED
http://www.sakurariver.ca

User avatar
EvilDragon
Veteran
Posts: 284
Joined: Fri Dec 28, 2007 5:47 am
Location: Where the Dragons rule!
Contact:

Re: Rollback question

#17 Post by EvilDragon » Tue Feb 26, 2008 4:43 am

Counter Arts wrote:The thing about rollback is that... just for letting you go back and change a choice... it's like a game genie. It feels like a cheat.
THAT IS what I was trying to say. I know it can be disabled when you pass the choice, but that still isn't the log behaviour that I would like to have in my VN.

BTW; why do some people think VNs would become worse if they implement readback over rollback? That really doesn't have to be the case.
Last edited by EvilDragon on Tue Feb 26, 2008 4:48 am, edited 1 time in total.
Angels of paradise, angels of sacrifice
Please let me be under your wings...

User avatar
monele
Lemma-Class Veteran
Posts: 4101
Joined: Sat Oct 08, 2005 7:57 am
Location: France
Contact:

Re: Rollback question

#18 Post by monele » Tue Feb 26, 2008 4:45 am

At least personally, if I KNOW I can just rollback and change my choice the whole tension of making a choice is gone.
This is definitely something personal : I remember multiple choices (dilemmas!) I've faced in games like the Baldur's Gate ones or NWN... and yes, even VNs. I never really thought "bah, who cares, I can reload if I mess up"... as long as the story was good enough to pull me in and make me forget I could actually reload. And I've sometimes paused for minutes just to think about what I would choose. I suppose it's all about investing yourself in the mood :).
Now, though, if the results of my choice led to an unfair death, I wouldn't hesitate to reload. If it led to something bad... but *fair*, I usually don't reload (thinking "I deserved this and it makes sense").
But I'm the kind of player who doesn't take random loot from people's houses unless I'm playing a shady character... it's part roleplaying, part self-created challenge :)

The other way around this is to commit another sin by like having a choice wayyyy back in the beginning making or breaking your good ending. I heard some people didn't like this here.
Unless the game is short, this is indeed annoying ^^;... Most games with challenges that can "kill" you (make you lose in any way) just pop you back at the beginning of the challenge (I'm thinking of action games or platformers... there are usually levels). So if you do lose, you've only lost a few minutes at most, and it's easy to get back into it and try better.
Now if you force the player to play through a whole hour of game just because they made the wrong choice in the first minutes, well... it puts a lot of emphasis on that choice... in a bad way I think :)

User avatar
EvilDragon
Veteran
Posts: 284
Joined: Fri Dec 28, 2007 5:47 am
Location: Where the Dragons rule!
Contact:

Re: Rollback question

#19 Post by EvilDragon » Tue Feb 26, 2008 5:42 am

BTW, if I wanna implement the readback (I just want to see how it works) from the cookbook, where do I put it? In "common" folder, in options.rpy?

I have made a file 00readback.rpy in common folder, and when I disable rollback in options.rpy of my game, I get this error:

Code: Select all

I'm sorry, but an exception occured while executing your Ren'Py
script.

TypeError: Error when calling the metaclass bases
    function() argument 1 must be code, not str

While executing init code:
 - script at line 44 of c:\Program Files\Renpy/common/00readback.rpy
 - python at line 122 of c:\Program Files\Renpy/common/00readback.rpy.

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

  File "C:\Program Files\Renpy\renpy\bootstrap.py", line 210, in bootstrap
  File "C:\Program Files\Renpy\renpy\main.py", line 256, in main
  File "C:\Program Files\Renpy\renpy\execution.py", line 199, in run
  File "C:\Program Files\Renpy\renpy\ast.py", line 554, in execute
  File "C:\Program Files\Renpy\renpy\python.py", line 874, in py_exec_bytecode
  File "c:\Program Files\Renpy/common/00readback.rpy", line 122, in <module>
TypeError: Error when calling the metaclass bases
    function() argument 1 must be code, not str

While executing init code:

Ren'Py Version: Ren'Py 6.6.0e
Angels of paradise, angels of sacrifice
Please let me be under your wings...

User avatar
Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: Rollback question

#20 Post by Jake » Tue Feb 26, 2008 7:05 am

EvilDragon wrote:BTW; why do some people think VNs would become worse if they implement readback over rollback? That really doesn't have to be the case.
I don't think it's so much that the VN will be worse, but that the readback part would be worse than a rollback part would. Rollback is technically far better a solution than readback, because it does things like change the background and sprites to match where you've rolled back to; it's much more like rewinding a video than readback. You're not going to be reading a rolled-back tender quiet scene accompanied by image of a huge horned monster threatening you with an axe, which can happen with readback.

Since it's extra effort to make readback work, and rollback is a technically-superior option to readback, I can totally understand PyTom not wanting to spend the time implementing it.
Server error: user 'Jake' not found

User avatar
EvilDragon
Veteran
Posts: 284
Joined: Fri Dec 28, 2007 5:47 am
Location: Where the Dragons rule!
Contact:

Re: Rollback question

#21 Post by EvilDragon » Tue Feb 26, 2008 7:12 am

Jake wrote:You're not going to be reading a rolled-back tender quiet scene accompanied by image of a huge horned monster threatening you with an axe, which can happen with readback.
Well if you make a separate background for readback mode (let's say something like diary pages or the like), there wouldn't be a situation like you described, would it? :P
Last edited by EvilDragon on Wed Mar 19, 2008 9:00 am, edited 1 time in total.
Angels of paradise, angels of sacrifice
Please let me be under your wings...

User avatar
monele
Lemma-Class Veteran
Posts: 4101
Joined: Sat Oct 08, 2005 7:57 am
Location: France
Contact:

Re: Rollback question

#22 Post by monele » Tue Feb 26, 2008 7:17 am

I don't know if we've already asked this but... why do people use rollback/readback? Maybe there's a use to readback that makes it better than rolling back one screen at a time with accompagnying changes?
I know I rollback if I clicked too fast and skipped a screen or a scene (if it's a bunch of animations). But maybe readback is used for different reasons?

User avatar
Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: Rollback question

#23 Post by Jake » Tue Feb 26, 2008 7:30 am

monele wrote:I know I rollback if I clicked too fast and skipped a screen or a scene (if it's a bunch of animations). But maybe readback is used for different reasons?
That's more or less my use of rollback, as well...

I'm wondering, though - I used the chapter notes in Hotel Dusk to remind myself where I was after I'd been away from the game for a couple of weeks, do people use readback like that? (Does it even persist in saves anyway?)
Server error: user 'Jake' not found

User avatar
EvilDragon
Veteran
Posts: 284
Joined: Fri Dec 28, 2007 5:47 am
Location: Where the Dragons rule!
Contact:

Re: Rollback question

#24 Post by EvilDragon » Tue Feb 26, 2008 10:35 am

Readback SHOULD persist in saves, from what I saw in games using it.

It would also be quite nifty if the user him/herself could be able to switch "log modes" from readback to rollback, depending on their own preference (in Config screen). I think that would solve pretty much all debates here. IF, of course, readback gets that little fix ^^'
Last edited by EvilDragon on Tue Feb 26, 2008 10:46 am, edited 2 times in total.
Angels of paradise, angels of sacrifice
Please let me be under your wings...

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Rollback question

#25 Post by PyTom » Tue Feb 26, 2008 10:40 am

In fact, rollback is an important part of the save system, especially the system that lets you save/load in the face of a changed game. (For example, when you do a shift+R reload.) We always keep a bit of rollback information, even when the maker has blocked it.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
EvilDragon
Veteran
Posts: 284
Joined: Fri Dec 28, 2007 5:47 am
Location: Where the Dragons rule!
Contact:

Re: Rollback question

#26 Post by EvilDragon » Wed Mar 19, 2008 8:41 am

EvilDragon wrote:It would also be quite nifty if the user him/herself could be able to switch "log modes" from readback to rollback, depending on their own preference (in Config screen). I think that would solve pretty much all debates here. IF, of course, readback gets that little fix ^^'
I still think that this is a rather nice idea... Any opinions? :D
Angels of paradise, angels of sacrifice
Please let me be under your wings...

User avatar
JQuartz
Eileen-Class Veteran
Posts: 1265
Joined: Fri Aug 31, 2007 7:02 am
Projects: 0 completed game. Still haven't made any meaningfully completed games...
Contact:

Re: Rollback question

#27 Post by JQuartz » Thu Mar 20, 2008 2:46 am

EvilDragon wrote:I still think that this is a rather nice idea... Any opinions?
The idea is nice but it isn't nice enough to convince others to make it since it's really into the core of Renpy. If you really want such a system implemented, a number of people will be willing to help (via answering specific questions) but you'll have to be the programmer. Perhaps by trying to make it yourself you can judge whether it is truly the effort or not.
I suspect somebody is stealing my internet identity so don't believe everything I tell you via messages. I don't post or send messages anymore so don't believe anything I tell you via messages or posts.

User avatar
EvilDragon
Veteran
Posts: 284
Joined: Fri Dec 28, 2007 5:47 am
Location: Where the Dragons rule!
Contact:

Re: Rollback question

#28 Post by EvilDragon » Thu Mar 20, 2008 11:01 am

I could give it a shot. Besides, there's already the readback script that PyTom did, and it should work for shorter games, as he said (but I couldn't load it in 6.6.0., see traceback a few posts up!). He also said something about implementing some sort of a tree. Now, I know what a "tree" is in file system, but is it the same in this situation? How would I go about implementing such thing? Is it only a change in readback.rpy or do I have to edit some other ren'py core scripts?

Man, I really want to see that implemented, and I hope I can count on anyone's help, if PyTom already decided not to delve into it, perhaps I and all willing to help me can solve this issue. I hope :D
Angels of paradise, angels of sacrifice
Please let me be under your wings...

User avatar
JQuartz
Eileen-Class Veteran
Posts: 1265
Joined: Fri Aug 31, 2007 7:02 am
Projects: 0 completed game. Still haven't made any meaningfully completed games...
Contact:

Re: Rollback question

#29 Post by JQuartz » Thu Mar 20, 2008 9:57 pm

EvilDragon wrote:How would I go about implementing such thing?
That's the big question that the programmer need to solve.
I suspect somebody is stealing my internet identity so don't believe everything I tell you via messages. I don't post or send messages anymore so don't believe anything I tell you via messages or posts.

Post Reply

Who is online

Users browsing this forum: Google [Bot]