I haven't personally found any game in Ren'py that (I feel) has been improved by wandering elements. Even the few "sandbox" renpy games I have enjoyed (and there are a number of them, even very, very bad ones (that I usually modify code to bypass the bullshit)), I still feel those games would have been better as a liner story. Sandbox is it's own game type, and often is forced in where it doesn't really fit (that's what she said), with a poor implementation.
I think VNs in RPGM are the worst of the worst (yes, worse the Unity), as the RPGM engine is NOT designed for them at all. RPGs with a story (and combat) can be "ok", but 99% of the time, I just grab a full save and watch the replay room. There are a (very, very) few where I felt the combat added to the game, but that is the exception. Most are just a boring slog.
Deleted paragraphs on paragraphs here, but the short(ish) version is: a sandbox is about doing what you the player wants (minecraft, no man sky, factorio). There is progression, and sometimes story, but the player can approach that however they want. In a VN, the story is the game, there are only so many ways it can be told, and approached, a player cannot do what they want (maybe choose a different order, or select specific characters to romance and ignore everyone else). Sandboxes in VN's aren't sandboxes, they are clicking through door shaped menu choices to get to the next story moment.
I whole heartedly agree, RPGM is my least favorite porn game experience.
Speaking as someone who has worked on visual novels using ChoiceScript and some parsing in JavaScript (Corruption of Champions being the bug riddle cancer it was to write for without everything unraveling itself upon testing scripts!!) - linear story telling is just easier when have a story you want to tell and sometimes you add choices because there's different approaches to that end that makes readers invest into the work you put into it. Immersion.
You can write a linear story in any medium you want whether it's Ren'py, Choice, Java, Go, Python and many others and it still get your point across. However it's the extra stuff that writers get bogged down on to make it work on a story that dilutes the substance.
Mask of Arcadia, fantastic hex-tile chess strategy game all on it's own; the story could have have been longer, split into trilogy instead, it made combat a slog because story reasons. End Result: Unsatisfying Closure.
Then there's times when you want to give players choices and the story itself takes a backseat. Great choices and decisions that affect outcomes for desirable results but it is just that: desirable results for the sake of desirable results. When the atory is incomplete then what you're left with is just the journey but no destination and no ending.
Corruption of Champions, lots of transformation and body modifications that your characters go through and lots of sex and becoming so enthralled by the deep customization of your character and their story (or what you tell yourself) but at the end of the customization and did everything and your end goal is to fight the big bad queen, it's just not finished so you're left wandering around do things until you lose interest. By the time the game gets an ending its momentum has halted to a complete stop.
Both choice and storytelling have there pros and cons. But then there's games that have a long list of problems that make playing just impossible to keep playing because you're fixing more things than you are writing for it.
Trials in Tainted Space, great story, great plethora of choice, great customizations. But good luck writing for it when you can't just saying:
The Spacer: "He says vigorously while ribbing your cunny with his 50 feet long Terran Cock."
VS
[Player.name]: [[(If/what: He (Other: Her)] says vigorously as (He/Her) ([If Player has: (cock.Type)= Yes (pussy.Type) = No] : "while ribbing your (Player.pussy(1) with (his/her) cock)]]
And that's just for a single line if you have one player against an NPC that only has human body with binary genitals. TITS has over 500 body types and many alien races constantly being made by community writers. It can be 5,000,000 variants to a single scene when you write for just sex. The engine itself uses an index to call upon when using parsing like above to insert and plug one of hundreds of different sections, one is dedicated exclusively for just cocks because some have minimum sizes when a player drinks a consumables item while others also give you a side effect like three pairs of tits and changes your skin type and removes your legs and gives you a long snake tail. One consumable item does all of this. Another item changes how your throat works by giving you no gag reflex and allows you to give blowjobs to NPCs that are over 50 feet long cocks and have the girth of 10. Try writing for characters that have both a pussy and a cock or none at all. Or characters that refer to them as non-binary like (zhem/zhey) now you're asking for trouble just because you want your NPC encounter to be all inclusive and let's everyone player your personal story.
That level of choice is so goddamn complex a writer like me gives up trying to do anything fun because of the damn engine even though your linear story is dangerous good and the choices are so detailed but a nightmare to apply mechanically.
You start to appreciate the simplicity of RPGM and ChoiceScript because it's a simple interface used for what it was designed to do: tell a story with minimal visual graphics and basic mechanics to stimulate the experience you are trying to convey with compromising the integrity of the pacing. RPGM was made for games similar to Pokemon Red and Blue for the Gameboy Advance. ChoiceScript is perfect for a hardback cover book to be converted into a digital book with buttons to make certain choices.
To make a game that goes outside the boundaries of the core design of the engine is a problem and not at all what it was designed to do therefore it will break and the creator will suffer for it and their art. Unity Engine being the main point of contention.
I prefer working on a complete product with minimal deviations and that works with the perimeters of the engine i choose to use for my work. If something is missing or broken then I'm not using it correctly and I've made an error in my writing and finding the issue is much faster and easier because it was my fault and not the engine running because i didn't design the game to do certain things. Like adding pictures to a text-based engine, it's not designed for it and if I'm missing a whole damn scene then i see it's the use of pictures. I remove the picture input script and go back to Alpha to see the results of running the script then i see my scenes then i know what to expect was the issue.
I just love stories and lore, i work with what I'm good at that's viable for what I want as a creator. Same can be said for players. I think the games we select for ourselves sets us up for failed expectations and high hopes when we don't understand the engines used and what they were originally made to do.
Rick and Morty: great story and show.
But RNMAWH was made in the Unity engine, expectations: very very high. Actual results: mixed reception.
VS
RNMAWH made in Ren'py engine, expectations: mixed reception
Actual results: Very, very high.
This was due to the different choices in the engine that allowed for it. But also the efforts of Aaronminus and NightMirror and a whole community of beta testers killing the bugs and inconsistencies.