How to eliminate backtracking to a menu?

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
F.I.A
Miko-Class Veteran
Posts: 546
Joined: Wed Sep 21, 2005 10:49 pm
Projects: Winter Shard, EVE, Hyperion
Contact:

How to eliminate backtracking to a menu?

#1 Post by F.I.A »

As stated in the subject box, I am wondering how can I prevent players from backtracking after choosing a choice from a menu. Most of the time, I insert a true-false statement or other variable after a choice, thus, I do not want the player to choose a choice, then backtrack to choose another to ruin the gaming.

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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: How to eliminate backtracking to a menu?

#2 Post by PyTom »

F.I.A wrote:As stated in the subject box, I am wondering how can I prevent players from backtracking after choosing a choice from a menu. Most of the time, I insert a true-false statement or other variable after a choice, thus, I do not want the player to choose a choice, then backtrack to choose another to ruin the gaming.
Here we go again.

Okay, let me point out that there are some compelling use-cases for allowing rollback through menus. For example, it's possible that the user could accidentally double-click, and make the wrong choice on a menu. It's happened to me a few times.

I also dislike the idea of protecting a user from themselves. I mean, you're not planning on shutting down the ability to save at menus, right? So really, what you're doing is to make going back to those menus slightly more inconvenient, without changing the end result much.

The best way around this, of course, is to make both paths after a menu interesting to the user. I always thought that games like the old sierra adventures (where you'd be faced with three identical doors, and behind doors 2 and 3 lay certain and instantaneous death) were less than ideal in this regard, and so I encourage you not to repeat that.

That being said, if you really want to do this, take a look at readback.rpy in the extras directory. The comments in there also talk about how to reduce or eliminate rollback.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

F.I.A
Miko-Class Veteran
Posts: 546
Joined: Wed Sep 21, 2005 10:49 pm
Projects: Winter Shard, EVE, Hyperion
Contact:

#3 Post by F.I.A »

Perhaps there is some misunderstanding. I am not saying that I want to prevent the users from backtracking after messages, more like prevent them for back tracking after a choice so they will not spoil their own gaming. For example, when they choose a choice to give someone something(This sets a variable to True.) then backtrack and choose the choice not to, this might be confusing when the one comments about the gift later, which they technically did not give.

Maybe I should put the variable somewhere farther from the menu to prevent that. Or follow your suggestions in making both choices attentive enough.

Side: Actually, I kind of like the rollback you implemented. Since I am quite a slow reader and watcher, sometimes I just cannot grasp all the thing happened at once in the screen. Thus this feature works like a Rewind button in a player. :P

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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:

#4 Post by PyTom »

Oh, I think you're misunderstanding about how rollback works. Rollback will reset the variables to the values they had at the point that was rolled back to. So the case you give isn't a problem. Specifically, the following code:

Code: Select all

$ date = False

if date:
    "The value of date is True."
else:
    "The value of date is False."

"Waiting for a bit."

menu:
    "Go on the date.":
        $ date = True
        "I went on the date."
    "Don't.":
        "I didn't go on the date."

"Waiting for another bit."

if date:
    "The value of date is True."
else:
    "The value of date is False."
should Just Work (tm), regardless of anything you do regarding rollback.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
Quin
Regular
Posts: 117
Joined: Sun Nov 20, 2005 4:29 am
Location: Maine
Contact:

#5 Post by Quin »

Sorry for reviving an old thread, but I didn't think this question deserved its own thread, nor did it fit with the thread I started a couple of weeks ago on a different aspect of rollback which, if I had only read this thread first, I would never have had to ask. ó_ò Also, it's debatable whether this is more of a Ren'Py question or a Game-Makers' Corner question. Anyway...

Is there any good argument to be made for restricting rollback on at least the first play-through of a game, to ask that the player at least try to "play fair" on their first time through? (Upon reaching any ending, a persistent flag could be set to allow rollback in future play-throughs.)

I think I may have answered my own question when I typed "ask" in the previous paragraph and knew I really meant "demand"... but just for the sake of justifying the question, I'll explain why I'm asking it.

As I'm doing the flowchart for my game, I'm occasionally finding that some paths from a menu are clearly less interesting to a player than others, depending on the player's goal. If I have four menu items and three of them will eventually lead to a paragraph which makes it clear that the protagonist will not get the date with character A, will a player actually proceed without rolling back if their goal is for the protagonist to date character A? (Of course, if the player wants the protagonist to instead date character B or not date at all, this could instead apply to the fourth menu item.)

I wholly understand PyTom's argument that the player shouldn't be protected from themselves. But it feels impossible for me to make every branch of a conversation feel equally rewarding, especially when a player may just read a line to the effect of "Well, if that's how you feel, I don't think I want to go on a date with you" and instantly roll back to pick a different choice.

In some cases in my game, this isn't a problem -- for instance, a decision you make early in the game will allow/disallow an option much further into the game (probably more than 100 lines away). But I've just been struggling through drafting one conversation where character A is on the fence about whether to undertake a certain endeavor with the protagonist, and the choices the player makes in that conversation will ultimately define character A's decision. The conversation is between two and five decisions deep. None of the paths from the first menu make it impossible to get the positive outcome, but subsequent choices along each path can result in the negative outcome.

I don't want to be the evil game-maker who gets cursed at for making it harder for the player to time-travel (a distant cousin of the evil game-maker who thought one save point every two hours or so would be sufficient)... but I'm having qualms about crucial decisions that will forever shape the protagonist's life being undoable with the nudge of a scroll wheel. I know I'm the type of guy who used to read Choose Your Own Adventure books with multiple fingers acting as bookmarks, and I know I'm not the only one.

I guess the ultimate question here is: Can restricting rollback really make a game not just tougher, but better?

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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:

#6 Post by PyTom »

I should just point out that the argument you give above applies equally well to saving at (or just before) menus. Eliminating rollback will just mean that the sort of player who wants to game the game will have to save slightly more. (Internally, loading and rollback are the same thing to Ren'Py.)

I wouldn't worry too much about the meta-level of saving, loading, skipping, and rollback. But as I've said before, I'm not a big fan of protecting people from themselves.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

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

#7 Post by monele »

One thought : player that would have rolled back will probably save at each choice and reload if they don't like what they see. Understand : whatever wall you put, the players will try to go around it. It's just that they'll hate you more and more as you make the wall larger and higher ^^;. And you punish the "good" players who do it for a valid reason, whatever that might be :).

I agree with PyTom here : it's up to the player how he's going to play. Personally, I hate having to read dialogs because the developers decided they were mandatory. Same thing with long cinematics. I'm not sure which recent game had its cinematics locked (no click-to-skip) and the makers insisted "but if someone skips them on the first play-through, they won't understand the missions :("... Well tough for that stupid click-frenzy player ô_o... I do read the first time, but on the Nth time, no... bo-ring~
I might be mean but I have no compassion for someone who skips through every cinematic and ends up asking "uuuh, what do I do now?" when thrown into the game. Especially when because of this type, we're not allowed to skip/rollback through stuff >.>

shaja
Regular
Posts: 73
Joined: Sun Oct 16, 2005 8:34 am
Contact:

#8 Post by shaja »

But it feels impossible for me to make every branch of a conversation feel equally rewarding, especially when a player may just read a line to the effect of "Well, if that's how you feel, I don't think I want to go on a date with you" and instantly roll back to pick a different choice.
But I've just been struggling through drafting one conversation where character A is on the fence about whether to undertake a certain endeavor with the protagonist, and the choices the player makes in that conversation will ultimately define character A's decision. The conversation is between two and five decisions deep. None of the paths from the first menu make it impossible to get the positive outcome, but subsequent choices along each path can result in the negative outcome.
It sounds to me like you are designing the conversation with simulation in mind - that is, giving a realistic range of choice to the player with many decision points. The problem with simulation is that it does lead to the possibility of uninteresting / frustrating outcomes.

This adds to the 'game-ness' of your creation, but that's not necessarily something a player wants in a VN. Like monele says, if you create a 'wall' for your player with a frustrating plot path, your player will see it as a punishment.

For a real-world example, I've played a good number of the early nineties PC graphic adventures with my girlfriend, who is a very casual gamer.

Playing Lucasarts adventures, she would rarely hit the point of frustration where she'd hand control to me and go off to do something else. Lucasarts adventures were designed to never require the player to restore an earlier game state as the result of a bad decision.

Sierra adventures, on the other hand, always included the possibility of a game end screen and associated restart / reload dialog. In girlfriend's one attempt to play a Sierra game, it only took two of those ("What? I had to save?") before the game was put away.

Anecdotal, of course, but there you go.

If your goal as a VN designer is to tell your story in one specific way, then you may as well eliminate player choices, or limit them to the bare essentials. If the story is good, the lack of player choice will not matter.

Less is more, especially when you eliminate the negative.

See also: Jamie Fristrom's GameDevBlog "Original Sources" for some stuff I found interesting on player motivation.

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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:

#9 Post by PyTom »

shaja wrote:Lucasarts adventures were designed to never require the player to restore an earlier game state as the result of a bad decision.
As a fan of Lucasarts' work, let me point out that's only 99.999% true. In Monkey Island, just _try_ holding your breath underwater for 11 minutes.

(The rest of the points are pretty good, though.)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
Quin
Regular
Posts: 117
Joined: Sun Nov 20, 2005 4:29 am
Location: Maine
Contact:

#10 Post by Quin »

Py'Tom and Monele >> you've both talked me out of doing it. ^_^ After reading your posts, it only confirms what I was realizing as I wrote it. Why make things harder for the player? If they want to cheat to get through a game, that's their prerogative... and it's their own fault if they don't feel as rewarded at the end.

Shaja >> Undeniably I'm leaning toward the simulation side rather than the kinetic novel side. I don't aim to tell one single fixed story, but to create a framework within which each play-through can be its own story, where you can go through a second time and have half the story be different than your first time.

I realize not every player wants game-ness, and I realize I can't satisfy every player. But in case I gave the wrong impression, I'm not setting up lots of branches leading to game-over events; it's just that within each scene (in the theatrical sense), there are a number of outcomes that can be reached, some of which bring the player closer to one possible goal than others. (There are multiple goals possible.)

I'll give this more thought and comment, and would love to hear more from others... but for now, it's off to the salt mines for me.

User avatar
mikey
Lemma-Class Veteran
Posts: 3249
Joined: Sat Jan 10, 2004 6:03 am
itch: atpprojects
Contact:

#11 Post by mikey »

Dissenting opinion, I'm afraid
(rant-style ^_^)

First of all, what's so bad about frustration? I believe it's an essential part of bishoujo gaming. You cannot compare the thrill of the first playthrough with the subsequent ones, even if they turn out better. I have played games where I literally accepted my fate when the girl refused me - I knew it was pointless to restore some game point, because she broke my heart and you don't fix it with a Load.

Yes, it was because I went to the kitchen instead of going to the room. So should I blame the idiot designer who gave me this random choice? No, my feelings towards her were stronger because there was also a certain randomness in the choices before that. It just felt more real, it made me feel happy and lucky.

There are the "good" games I played where it was possible, by carefully playing, get any girl you wanted. And all I can tell you is that it always felt sterile. I believe I like Ms.B from Kykuit exactly because of this - I didn't get my wish ending on my first playthrough, but if I did get her on my first try by a number of "Talk to Ms.B"-choices, it would just be another teacher for me, and no where near as special as now.

I am often really shocked at how analytically people look at the games. The constant talk about graphics quality, characterization, polished plot, replay value and similar. How can someone judge this? I mean, so the game has plot holes, terrible graphics and frustrating controls. But shouldn't it be about how it makes you feel?

I played Tomb Raider 6 despite its horrible controls, despite that it never showed me the intro, or that it crashed on a regular basis. It was frustrating, and easily the worst play comfort in the series, but I never complained, because I love that game so much and it simply outweighed everything.
Quin wrote:Why make things harder for the player? If they want to cheat to get through a game, that's their prerogative... and it's their own fault if they don't feel as rewarded at the end.
I disagree. Because there is the mere option of cheating like backtracking and saving, it means you CAN do it. And it takes some of the thrills away - I don't have to make use of the save and play it honestly, BUT: when I do reach a good ending, I will feel more rewarded when I manage to beat a game that doesn't even have that option.

Think of it as a safety net. If it's there, and you tell yourself you're still going to walk that rope as cautiously as you would without it... you're just kidding yourself. Many games have this play comfort now. But it takes away lots of the tension and ultimately, it doesn't feel as special as it could have.

Of course, limitations will make your game harder, unfriendly and more random perhaps. But if someone plays it properly and gets through in the intended way, you'll probably feel that bit happier for him - it will be a case where the right player(s) found your game, not where a you made the right game for the player(s).

Bring on the flames. :(

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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:

#12 Post by PyTom »

Okay, I'll take mikey's bait.

I play Ren'Ai games for a number of purposes, but foremost among them is to be told a satisfying story. The medium of visual novels provides a means for storytelling that is unlike less interactive media, insofar as it gives the user an illusion of control not found in recorded media, comics, and the like. But ultimately, I'm doing this to be doing this for the story.

Now, instead of good endings and bad endings, let me propose that a more important distinction is between satisfying and unsatisfying ones. A satisfying ending is one that tells a complete story. It may be a happy story, or a sad one... but it's one that needs to be told, and that probably the user will want to see.

An unsatisfying ending is one where the story just runs into a wall and stops, without any sense of closure or termination... without the user being satisfied with the time they spent playing the game.

I think that the latter sort of ending should be avoided, as much as possible. At the very least, every ending should give the player something they didn't have before playing it, so they don't feel like they wasted their time.

If you avoid these unsatisfying endings, then it doesn't really matter to the user what path he takes. He'll be getting a satisfying story either way. And in that case, the meta-level doesn't matter on the first play-through, as there's no real motivation for the user to want to switch paths.

So I think the key is convincing the user that he is always on some sort of satisfying path. Make it so that there isn't a mistaken choice on a menu, but instead there's always a reason to play on to the end. Make the choices reasonable enough so that if the player simply picks what comes naturally to him, he will wind up with a compatible ending.

If you're not doing this, then the real problem isn't that the user can change paths, it's that the user _wants_ to switch paths. And that's the real problem, and limiting what the user can do isn't going to fix that.

I don't think there's a need to simulate all the downsides of real relationships... unless they serve the story, it's just a waste of time. I don't think frustration for sheer frustration's sake has to be part of it.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

Megaman Z
Miko-Class Veteran
Posts: 829
Joined: Sun Feb 20, 2005 8:45 pm
Projects: NaNoRenO 2016, Ren'Py tutorial series
Location: USA
Contact:

#13 Post by Megaman Z »

PyTom wrote:
shaja wrote:Lucasarts adventures were designed to never require the player to restore an earlier game state as the result of a bad decision.
As a fan of Lucasarts' work, let me point out that's only 99.999% true. In Monkey Island, just _try_ holding your breath underwater for 11 minutes.

(The rest of the points are pretty good, though.)
you know, finding this game is as simple as typing in "xxxxxxx xxxxx xxxxxxx xxxxx" xxxxxxxx. Xxxxxxxxx has it.

...and the wait time is murder. 45 minutes...

[edit... sadly, it seems I didn't read the full path... it resides under "demos"... oh, well. let's see... I think I still have the PCGAMER disc with the full version on it...]
Last edited by Megaman Z on Thu Dec 08, 2005 11:31 pm, edited 1 time in total.
~Kitsune Zeta

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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:

#14 Post by PyTom »

Please don't give instructions on how to pirate copyrighted software on the board. The last thing we need is our hosting pulled over some sort of DMCA issue.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

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

#15 Post by monele »

I think that the latter sort of ending should be avoided, as much as possible. At the very least, every ending should give the player something they didn't have before playing it, so they don't feel like they wasted their time.
Very interesting bit :). I'm working on something similar to Quin (it seems) as in I'm trying to bring the possibility of very different playthroughs and this makes me realize I should emphasize on the interesting bits.

What if things go wrong with the girl ? Maybe it doesn't have to stop there as a bad ending but instead switch to some other little story about side characters. Or at least we could get to see what happens even though things failed.
In my project, I'm trying to have side stories that can get resolved or not along the main girl path. In my case I plan to give them an ending whatever happens, but maybe one could use such side stories to be resolved if a main girl path ends on a bad note ?

Post Reply

Who is online

Users browsing this forum: No registered users