VN Ren'Py Examples of Renpy games that that made good use of the NVL-Mode

Marzepain

Newbie
May 4, 2019
61
49
I'm looking for games that do the NVT mode in a good way. I haven't seen any games use it here, but it might be one of those things that escapes my mind if it is done right.
It might be bad practice to use NVL, but not really stated as such.

The is the telling about the action going on or the describing what is seen in the overlay .
I suspect it can be used to create text rich games like Sunless Sea, 80 day's etc.
or
use text as placeholder for missing visuals (Locations, Props, Characters) or missing Actions (animations).

The former would be useful for giving backstory and the later for keeping the story going where it would otherwise crash.
The use of placeholder text may make it possible to create scene's out of order based on importance or interest, similar how film studio's shoot scenes.

I did hear that using NVT is generally bad because it makes the text hard to read and
specifically bad because it hides the characters we want to see,
but I do think a text over a location can be good.
Examples from the outdated because the new tutorial doesn't have examples.
1606930932136.png
1606931109074.png

Alternatively having a Renpy game that hat the dialog in a bar at the right or left side of the screen may better, as it wouldn't obstruct the view.
Haven't seen that either. Maybe Renpy is tool limited for such a thing?
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,279
15,119
It might be bad practice to use NVL, but not really stated as such.
It's bad practice to use NVL wrong, what is different.

Basically speaking, it's a mode that mimic visual novel books and old school text adventure video games. But it present few interest in modern gaming, even when the game is a visual novel. In VN books, there's narration because you are limited to X photos by page and Y pages for the story. But video games don't have this limit, therefore the narration can/should be shown instead of been told.


Haven't seen that either. Maybe Renpy is tool limited for such a thing?
No, Ren'py can perfectly do this and isn't the reason why you don't see this. Firstly there's games using NVL only, like Interns of Ecstasy Island, or Lucretia's Legacy, by example, and secondly there's games that move the dialog box. No, the reason behind the few titles doing one or the other, is that it's bad. Not as in "bad practice", but as in "effectively bad".

Most languages are read left to right, putting the dialog box on the right side will be counter intuitive ; naturally your eyes tend to the left. Same for the two/three games that put the dialog box on top of the window, while eyes naturally tend to look down. In both case, the player is constantly forced to goes against what is natural for his body, and it quick become annoying. Therefore, the only solutions are a dialog box at the bottom or left of the screen (right for language read right from left). But for obvious reason, putting it on one side would either limit the text you can put inside, or take a bigger place on the screen.

As for the NVL mode itself, it's totally useless without a strong narration. It would only hold the dialogs, that would feel more natural and be less confusing in the dialog box. But here come the problem, too much narration isn't a good thing unless you're effectively making a text game.
This isn't a book, but a media that have text, visual, and can have sound. The other difference with books is that a game (whatever a VN or something more advanced) is interactive. Therefore, for it to be enjoyable, for the player to have the desire to interact, and do it seriously, you need to involve him, what can't be achieved with too much narration ; if everything is told to you, you're just passive, while the fact to have to look at the screen in order to fully understood what's happening make you active, and therefore involved.

This don't mean that the NVL mode is bad by itself, just that it have less interest nowadays and should be limited to what really need it.
By example, the MC hit the road to visit whoever girl that live on the other side of the state/country. It's a long journey, hours on the road. Take few images as illustration, pass in NVL mode, and in the same time in narration mode, then describe the trip with few sentences ; if you hit the end of the screen, you loose. It would be faster, both for the author and the player, than effectively depicting the whole trip, and better than making it last one instant, the time for the player to pass from the, "let's go, time to hit the road", to the, "finally I'm here", that are generally used in games.
Plus, the use of the NVL mode would looks better than the narration done into the dialog box. If in top of that you correctly use texts tags like or , it will still feel dynamic and not really disturb the player.

Edit:Corrected the links that were initially a big mess.
 
Last edited:
  • Like
Reactions: Marzepain

Marzepain

Newbie
May 4, 2019
61
49
Hi, AON, I was hoping you answered. I highly value your knowledge of Renpy and storytelling.

It's bad practice to use NVL wrong, what is different.

Basically speaking, it's a mode that mimic visual novel books and old school text adventure video games. But it present few interest in modern gaming, even when the game is a visual novel. In VN books, there's narration because you are limited to X photos by page and Y pages for the story. But video games don't have this limit, therefore the narration can/should be shown instead of been told.
I absolutely agree that Visual Novel being a Visual medium should show instead of tell. It is the same advise that is given to Hollywood screenplay writers as film is also a visual medium and expose dumps are a sign of green writer stuck in novel mode.

That said, I think the there are some exceptions to this, placeholders when developing, games with adaptive text and exploration games.

Placeholder text
Maybe you disagree, but I think that being able to follow the story to the end while not all the assets are done would be better then having games start and only increment the story a tiny bit every release. Even worse are the stories that start out good but never go beyond the 0.1 version. Really depressing.
Also . Movie scripts are rewritten all the time and are adjusted by during the project, but with Visual Novels that never seems to happen. Lots of VN's seem to meander endlessly, making the story as bend as a banana or as scrambled as a Picasso picture. That warped structure can be interesting, but for most . However the story is set in concrete, because a lot of artwork is already made and creators are committed to it. Having a placeholder text may mitigate that as text is cheap to change.

Do you object to a Renpy VN using a text placeholder or do you think it's appropriate in some circumstances?

Adaptive text
Adapting the text to circumstances may make the player more involved. For instance the protagonist may use 25 different props to knock out the antagonist. To make that into visual content would mean animating complex cut outs or make many videos or slide shows.
This may be more a thing for as seen in games like and Inkle changes a lot of sentences and dialog based on parameters and values. They exercise fine grained control over the text to immerse the player into the story. There are a lot of visual images in those games, but a lot is left to the imagination explicitly.
Using the imagination can also circumvent things that are impossible to display, like the color of magic .

The Python functionality Renpy is build on can handle text based on parameters and values. Question is, should that text should be shown in the NVL screen?

Descriptive text for exploration
Games that explore a world generally have text akin to that of a travel brochure. It's noting things that are interesting, strange, dangerous, etc. Pointing things out in visuals is quite hard and there should be a lot of locations in an exploration game so the volume of artwork would be great.
Games like , , use the architecture devised for . A Storylet is a chunk of contained narrative that gets triggered by things in the game. It more course then what Ink does. It lends itself a like that of a sailor traveling to many shores. In these games illustrations are attached to these stories, but the text seems more important then the visuals.
Storylets have been a for a while because they can narrative content with more than the typical branching narrative. In my opinion Storylets are akin to a Scene in a screenplay and can have action as well as dialog, only the way the player gets to them is different. The quality based triggering works well with a main game where you navigate a world. That main game generally has the simplicity of a minigame and functions more like a selection menu for stories then a game.

Renpy seems to be missing a way to embed the game between the Storylets. The NVL-mode may not be appropriate, because there is little possibility to arrive somewhere.

No, Ren'py can perfectly do this and isn't the reason why you don't see this. Firstly there's games using NVL only, like Interns of Ecstasy Island, or Lucretia's Legacy, by example, and secondly there's games that move the dialog box. No, the reason behind the few titles doing one or the other, is that it's bad. Not as in "bad practice", but as in "effectively bad".
I will be checking out these 2 games. Thanks for the suggestion.

Most languages are read left to right, putting the dialog box on the right side will be counter intuitive ; naturally your eyes tend to the left. Same for the two/three games that put the dialog box on top of the window, while eyes naturally tend to look down. In both case, the player is constantly forced to goes against what is natural for his body, and it quick become annoying. Therefore, the only solutions are a dialog box at the bottom or left of the screen (right for language read right from left). But for obvious reason, putting it on one side would either limit the text you can put inside, or take a bigger place on the screen.
I value your point that the eyes tend to scan left for the most important information when your used to reading from left to right. However I disagree that the most important information is always the text, so I think the image can be in some games on the left side.

What is annoying is that the information is not in one place so the eyes are bouncing around like watching a tennis game. The eyes have to travel further from the side of the screen then from the bottom of the screen.
Humans are able to handle this, as a newspaper page with an image can have columns with text around it. Also limiting the with of the text doesn't have to be bad, as again newspapers limit column with so people can read it faster.

It may also upset players as it's not what they are expecting and that's generally not a good idea.

As for the NVL mode itself, it's totally useless without a strong narration. It would only hold the dialogs, that would feel more natural and be less confusing in the dialog box. But here come the problem, too much narration isn't a good thing unless you're effectively making a text game.
This isn't a book, but a media that have text, visual, and can have sound. The other difference with books is that a game (whatever a VN or something more advanced) is interactive. Therefore, for it to be enjoyable, for the player to have the desire to interact, and do it seriously, you need to involve him, what can't be achieved with too much narration ; if everything is told to you, you're just passive, while the fact to have to look at the screen in order to fully understood what's happening make you active, and therefore involved.
Well the interactive aspect of VN's and Renpy in particular is quite limited if you compare it to games like or . Both have dialog boxes with text where the situation is described and meaningful choices can be made. Star Traders even does dialog in a bubbling up sort of way similar to 80 day's does dialog that gives better overview of what is said then Renpy does it. Yet the text is not what these games are about.

As for being involved, some books can grab my intention while others can't, just like some narration can and others can't. The interaction part is in making choices. Text can be helpful in making those choices as well as audio and visuals.

I think the expectation of a Renpy VN is that the story told is a short story about intimate relationships. The action of the story isn't in interaction with the world, but in interaction with Characters. You could probably create a quality VN without locations or props, as long as you have Characters, Dialog and Plot your good. (Without props or locations the plot would have to be about some secret or information you have to pry from other Characters, but it can be done)

Or do you think a VN has to be visually impressive? And if so, all of it?


This don't mean that the NVL mode is bad by itself, just that it have less interest nowadays and should be limited to what really need it.
By example, the MC hit the road to visit whoever girl that live on the other side of the state/country. It's a long journey, hours on the road. Take few images as illustration, pass in NVL mode, and in the same time in narration mode, then describe the trip with few sentences ; if you hit the end of the screen, you loose. It would be faster, both for the author and the player, than effectively depicting the whole trip, and better than making it last one instant, the time for the player to pass from the, "let's go, time to hit the road", to the, "finally I'm here", that are generally used in games.
Plus, the use of the NVL mode would looks better than the narration done into the dialog box. If in top of that you correctly use texts tags like , it will still feel dynamic and not really disturb the player.
I think that your example is similar to the yellow text scroll lead-in of Star Wars. It quickly sets up the story, so we can get to the good parts. Using it in such an obvious way multiple times during the story would make it choppy, as every time we are trust in a new situation we have to immerse ourselves in.
It's probably related to how much information is in that text. If it only contains the name of the city you just arrived in it practically disturbs nothing.
If it describes that you have arrived in another dimension where up is down, then goes into detail how alien the culture is and how fast the history you have to consider when making choices then little is left of the emersion into the story.

Or do you think the size of the the text in the NVL-mode doesn't matter?
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,279
15,119
[Note: Sorry by advance for my probably bad English in this message. My brain is half working, and it will surely be shown]

Hi, AON, I was hoping you answered. I highly value your knowledge of Renpy and storytelling.
Well, thanks.


Placeholder text
Maybe you disagree, but I think that being able to follow the story to the end while not all the assets are done would be better then having games start and only increment the story a tiny bit every release. Even worse are the stories that start out good but never go beyond the 0.1 version. Really depressing.
While I agree with you in regard of stories getting worse being really depressing, I have to disagree with the rest. It's obviously just my own point of view (worth being remembered time to time), but placeholders shouldn't exists.
I understand your point of view, and you aren't really wrong having it. But it stand on a place where the reality hit the theory, and do it really hard. Few people will be like you, while too many will meet, in a way or another, what I'll say bellow.


I know, it's difficult to meet the deadline, but if there's placeholders, the player is face to three and only three possibilities :
  • He stop to play the game there, waiting for the scene to be added. The longer it will take for the scene to effectively be added, the more he'll forget why he was interested by this game.
  • He restart the game every time there's an update, with the hope that the scene will now be added. The more updates he'll play without this scene to effectively be added, the more he'll fill that there's nothing new in the game ; this whatever how much new content is effectively added.
  • He'll continue to play, without going back, saying to himself that he'll replay the game once it will be finished to see all the scene. [narrator]He'll never do it.[/narrator].
[The last one being what will happen in the case you present, but I'll go back on this later.]

Pact with a Witch is a game a love, really. The writing is good (even if sometimes a little heavy), the drawing pleasant, the story really interesting, and the game mechanism, with sometimes the need to loose points in order to gain more, fabulous. Plus, while struggling with it, the author put a fully interactive sex scene in it, with an adaptive system ; if you do this too often it will be less effective, but it you don't do it enough, it will not open some other gates.
But it have a default, too many placeholders for the CG. And I don't talk about the patreon reward, that is to continue further than the effective ending, having the dialog and choice, but not yet the CG. The game is 5 years old, and around half of the CG are still temporary drawing.
Despite all the love I have for this game, for the reasons said above, I stopped to follow it more or less one and half years ago. I have a double save, one where the placeholders starts, one at the end of the effective game. But with the time it became more boring to wait for the placeholders to be replaced, than it was enjoyable to continue the story.


Also . Movie scripts are rewritten all the time and are adjusted by during the project, but with Visual Novels that never seems to happen.
Totally agree, and it's precisely why placeholders are bad.
Most devs are pure amateur with few or no writing knowledge ; and I use "writing" as a global thing, so the whole construction of the game, not just the dialog line. When they start their game, the majority only have a blurry idea of their story, and too many nothing more that the premise, but I'll forget those ones. There's also some that have a full script of the whole story, but like they do it good, I'll also forget about them ;)

So, because of the lack of knowledge of their authors, most games are wrote based on dynamic writing, by people who don't know much about writing, and even less about dynamic writing. This imply that the story is constantly rewrote. It's just that this rewriting take place on their mind and on their notes.
I know, it's bad practice, but it's what happen and, in the end, it tend to works. There's bad surprises like you said, but there's also really good ones. And from what I can see, the good ones seem to be the majority. But I admit that it's also due to the fact that many games are abandoned before they had the time to turn bad.

But what would happen if they were working with placeholders ?
  • Firstly, we would get the keys of the whole story.
    This would remove all the possibilities to be surprised by something that we failed to see.Therefore, it would remove part of the enjoyment. We already know the keys, no need to try to guess, we know.
  • Secondly, we would judge the game according to its author's skill at the time he release this "full of placeholders" preview.
    Unless it's a really interesting story, or if the few completed scenes are effectively interesting, we will tend to judge it badly ; this because too few are good enough writers to correctly presents their placeholders.
    Whatever what will happen in the future, when we'll play the final release, we will do it with a strong bias, our first impression.
  • Thirdly, like they are amateurs, they improve with practice.
    And here, it's real practice, they have our feedback, they know what they have to change in order to be better. Therefore, the story we will get in the final release will be way better than the one we saw in the initial preview.
    Note: this being assumed that there's place for improvement. It's a reality, we all have our limits, and some will never be able to become at least an average writer, what don't mean that they are stupid, just that it's not their thing.
  • Fourthly, they'll not replace the placeholders in the right order.
    There's scenes that they'll still not feel, so that they'll keep for later. If you add this to the third point, we will have a game where the writing quality will goes back and forth depending of the scene, in place of effectively improving the more you go into the story.
    I know, ideally they would go back to the other scenes, to change them in order for them to meet the same quality than the rest of the game. Like you said, it's what is done for movie scripts. But remember that here it's not anymore a script, it's the game by itself. You aren't in the anticipation to have something good to show, nor in the enjoyment to make it a reality. You are in between the two. When it's your job, you deal with it, but here it's there passion. Poison the passion, you'll slowly kill the creation. Therefore, in the end they don't do it and, in term of quality, their game is a rollcaster.
  • Fifthly, it's a expectation versus reality thing.
    The later the placeholder will become a real scene, the higher will be our expectations for this scene... and so the stronger will be our disappointment. This while, with a story discovered piece by piece, we have way less expectations (globally speaking, "at least as good as what was done before"), so we are more tolerant to a messed scene.
  • Sixthly, as I said previously, we will never come back to the game.
    There's around 7500 games available, globally 10 new ones each month. The time this game reach its finish state, we will have better things to do that going back to a game that we judged badly when we tried it the first time.

It doesn't mean that you're wrong, but you're applying an approach that fit neither the process authors use, nor the business model they've chosen.
The placeholders approach can only works if you decide to release the game only once finished. Because there it's effectively similar to a movie script ; you goes back and forth until you've a complete game with a consistent quality. But unless you're a known studio, or have a known distributor, or have used a fundraising platform beforehand, or really are the hit of the decade, you'll not even earn enough to cover the time you past working on the game ; so forget about a payback of your expenses.


However the story is set in concrete, because a lot of artwork is already made and creators are committed to it. Having a placeholder text may mitigate that as text is cheap to change.
And so the more opened is the gate to disappointment. There's already games that are deceiving because the story took an unexpected and unwanted change. Imagine how deceiving it would be if this change happened right before the part that you saw as placeholder and that also was the reason why you decided to follow this game...

The real problem isn't the absence of placeholders, but the way too many authors write their game ; so without an effective initial script they past months working on.


Do you object to a Renpy VN using a text placeholder or do you think it's appropriate in some circumstances?
The only legitimate reason I see is for a scene that had to be postponed due to technical issues.

The deadline is reached, it's just one of the possible path, the author decide to use a placeholder in order to release the update in time. Else, like implied, with so many words, above, for me its more the sign of a lack of beforehand works, than anything else.
If you really know your story, if you really planed your process, you know both what you'll have to do, and how many times you'll (globally) need to do it. Therefore, whatever if you don't make the scenes in the right order, when the time will come to release the update, everything will be done.
There's obviously surprises. One scene don't feel as good as you wanted it, one CG feel weird when put in the middle of the others. But if you decided to have effective deadlines, this should be already took in count in your planing ; "one scene need between X and Y days, so I can do at least Z scenes before the deadline. If I'm lucky and can works faster, I'll reward me with one or two days off, it would do good to my health."
And if you decided to put the quality first, and so release only when you reach the point you fixed as limit, whatever the time it will need, then why should you put placeholders ?


Adaptive text
Adapting the text to circumstances may make the player more involved.
Here, a good old screen will always be better than the NVL mode.

Obviously, the screen for the said NVL mode can be tweaked, or totally rewrote, so it will fit your desires. But a dedicated screen will offer you more power than a screen that will display the dialog lines, and you'll have more control over it.
Let's say that part of the text have to come from an array, with the index coming from a function, the whole thing being stored in a dict. Something like :
Code:
init python:
    class Person(renpy.python.RevertableObject):
        [...]
        def getLevel(self):
            if self.love < 5: return 0
            elif self.love < 10: return 1
            [...]

define mcNickName = { "girlname": [ "asshole", "dumbass", "brother", "boyfriend, hihihi", "my love", "sir", "master" ],
 [...] }
With the NVL mode, you'll have to use this :
Code:
label whatever( girl ):
    $ nickname = mcNickName[girl.name][girl.getLevel()]
    NVLchar "Hello, [nickname]"
With a dedicated screen you can have something like :
Code:
label start:
    show myNVLMode
    [...]

label whatever( girl ):
    $ NVLstrings.append( ( "Hello, ", mcNickName[girl.name][girl.getLevel()] ) )

screen myNVLMode():
    showif not len( NVLstrings ) == 0:
        for line in NVLstrings:
            hbox:
                for atom in line:
                    text ( "{}".format( eval( atom ) ) )
It's a basic example, and I wrote it on the fly, so there's perhaps some correction to do. It's also a shitty example, since mcNickName can be a method of the Person class and so the whole thing can be limited to girl.mcNickname(). But it was to show the principle, and nothing more came to my tired mind. In the end, it still show that you've more freedom and can goes further while having less to do each time you've to display a line.
Imagine that your adaptive text need not just one of those entries, but three, four or more. With the NVL mode, for each one you need to store it into a temporary variables before you effectively build the dialog line. This while, with a dedicated screen, it's the screen that will build it, with a single line.

This being said, this apply to NVL mode, while the adventure mode would be way better for this. While depending of the same text processing code, as far as my memory works today, only the adventure mode permit to add parameters to the dialog line, therefore it's more opened to dynamism than the NVL mode.
[Note: It's totally fictional code intended as demonstration, I don't remember exactly the attributes and all right now]
Code:
screen say( who, what ):
  [...]
  text ( what.format( *what[params] ) )
  [...]

label whatever( girl ):
    "Hello, {}"( params=( mcNickName[girl.name][girl.getLevel()], ) )
As compact as a dedicated screen working like the NVL mode, and easier to do since there's really just one line to change in the say screen to make it works ; it's just that it have do be changed by something else that the stupidity I wrote here.


Descriptive text for exploration
Here I agree totally. I would even extend it to textual transition (like "meanwhile") and any narration part ; being known that, for me, there should be no narration unless it's to shorten a boring and useless scene, like the travel one I used as example in my previous comment.

The dialog box is for... dialog, and should be only used for this. Of course, there's by default a narrator character that will use it, but it doesn't mean that you must use it.
A big (but not too) "Meanwhile" appearing in the middle of the screen while always be more explicit than the same "Meanwhile" in the dialog box, and generally with the same font and size than all the dialog lines. And the same apply for any narration than you can't avoid.
You used Star wars introduction text as example, and it's exactly that. It describe something that we don't see (yet there should be some related images behind the narration) but need to know, therefore it should be displayed differently than the dialog lines, that are the companion of what we see. I'm sure that the cognitive bias behind this have a name, but I don't even remember it in my native language.


I value your point that the eyes tend to scan left for the most important information when your used to reading from left to right. However I disagree that the most important information is always the text, so I think the image can be in some games on the left side.
The problem is that an image without its context mean too many things, and in the same time nothing.
Take a photo of your grand-mother when she had the age of your father. If you look at it without knowing who's this person (let's say that you never meet her) she'll look familiar, dot. But if you look at it knowing who is this person and what was her age, you'll now search for the face of your father in this image of her own mother.
And then you'll see them, those eyes of the same color, this nose with this small little bump that they share, this wrinkle when when they smile. They were there from the start, and you show them the first time. But not knowing the context, not having something to search, those information stayed unnoticed.
The same apply for the CG. You need to have the context, and so the new dialog line, in order to be able to interpret correctly what you'll see. Therefore you naturally look at the text first.

This being said it's not a question of most important information, but more a question of, hmm, "unknown territory". And this difference is also the reason why the few devs who release their game with a strangely place dialog box, failed to realize that it goes against their game.
The player don't know what to expect. He click to pass to the next... to the next what ? Sometimes it's a screen, sometimes it's an image, sometimes it's a new dialog line. Most of the time, the image stay, but the dialog line change, few times it's the opposite. This while the author know precisely what will come next, since it's him who put it there.
Therefore, while the author is directly looking at what have changed, the player is in search of this change, starting by the text, just in case.

Now, seat comfortably and naturally in front of your computer. Don't try to look at something, let your eyes wander, then fallback naturally to what is, more or less their default position. Then tell me, isn't them showing you the bottom half of your screen ?
It can not be the case, but for the majority it's what will happen. By default we are looking at the bottom part of our screen, because we all read, and write, from top to bottom, so it's always there that we'll have the more chances to see a change.
In the same time, you still see the rest of the screen, right ? It's more or less blurry, depending how strong is your peripheral vision, but if something change, you'll surely notice it, even it at first you don't know for sure what have changed.
Then, finally report this to a game. With the dialog box at the bottom of the screen, an instant is enough to know both if the text have changed, and if the CG have changed.

Globally speaking, we are at year 50 of video gaming, and at year 40 of video games that have text but aren't limited to it. How many games do you know that don't have their dialog on the bottom of the screen ?
In a sector so competitive, where everyone try to find the innovation that will give them an advance over their competitor for one year or two, or at least make them be different, if it was really possible to have the dialog somewhere else (still "for a generic person reading from left to right and up to down", so all occidentals and a part of the others) you can be sure that it would be a thing since decades.
You can try it with Interns of Ecstasy Island that I liked previously, since the text is at the left of the screen. It's playable and not impossible to deal with it. But not only it take a big part of the screen (around a third if I remember correctly), there's also this little thing... It's not really disturbing, but it's difficult, at least for me, its... well, I don't feel totally at ease, like if something was wrong. But, I'm 49, with almost 40 years of video gaming behind me, it can simply be that it's not what I have the habit to have.


Humans are able to handle this, as a newspaper page with an image can have columns with text around it.
I have to stop you there, the comparison isn't totally valid, for two reasons.
Firstly, in a newspaper the image is here to illustrate the text, while in a visual novel the images are (supposed to be) here to complete text. In the first case, you look at the image once then forget it, while in the second you frequently go back to the image, either because they changes, or because the new dialog line made you wonder "if", and you're looking at the CG in search of an answer.
Secondly because, even when involving choice, a visual novel, and even more an adult one, is a more passive occupation than reading a newspaper. This being partly due to the fact that it's an entertainment, and partly to the fact that it's the text that come to you ; by opposition to a newspaper where you'll go from the top to the bottom of the page.


Well the interactive aspect of VN's and Renpy in particular is quite limited if you compare it to games like or .
Ren'py is missing a lot of things, but also offer the possibility to (relatively speaking) easily add them yourself. Alas, too few devs effectively use this. But when you see the old school 3D maps of Sakura Dungeon, or the RPG Maker-like maps of Planet Stronghold 2, coupled to their combat feature, well, you also see that there's way more to do with Ren'py than visual novels or sandbox-like visual novels.
It would need to think more in depth about it, but globally you can do the same with Ren'py ; what don't mean that Ren'py is the best engine for it. But, like for the writing, the limit always stand on the author side. And there isn't much that are effectively good coders, than there's that are effectively good writers. What isn't at all a criticism, just an observation ; in fact, that so many achieve to goes further than a pure kinetic novel, with a more or less working code is already something big that talk for them.


I think the expectation of a Renpy VN is that the story told is a short story about intimate relationships.
The expectation come from what the player know.
Above I talked about Sakura Dungeon. Mostly all those who played this game, and enjoyed it, are deceived by all Winged Cloud games that came after it. The studio shown that Ren'py can do more, that they are able to do it, and that they can make a "good story and more" this way, and now we are expecting to see this again in their games ; this while still having lower expectation when it come from purely indie games.
But, as I implied right above, the fact that Ren'py can do way more, doesn't mean that it's the engine that you should use to do it. What still shouldn't prevent devs to go further than the usual VN or sandbox VN-like games.
The only thing that most people still see in RPG Maker is the combat, it's possible to do this with Ren'py. And it's not really difficult even without much codding knowledge. Like more and more Ren'py VN tend to give strong antagonists to the MC, why not going one step further, and give fights to the player ? I don't remember the name, but there's a Super villain game where there's few combats... each time, you've three time three choice to make, dot.
Ren'py can do better, devs can do better. And I'm sure that, if it's well handled and fit the story, people would like it.


Or do you think a VN has to be visually impressive? And if so, all of it?
Like implied above, I think that there's now too many VN.
They aren't the only games available on the adult scene, but they asphyxiate it. If not by their number, they do it by their resemblance ; which don't mean that there isn't good VN nor innovative stories, just that they are alas the exception.
But to be totally honest, if I have in mind Ren'py games that would goes on this "more than a VN" route, the one that would be my first (once I'll finally find the time to seriously works on it) would be one of those classical sandbox-like VN, with a not this innovative story.
It's the curse of the scene. Unless you're a genius (and even in this case it's not guaranty), you'll have to slowly build your fan base, or come with the right thing at the right time. Therefore, you need a finished game and some patrons before you can works on more ambitious (and so expensive) games.


I think that your example is similar to the yellow text scroll lead-in of Star Wars. It quickly sets up the story, so we can get to the good parts. Using it in such an obvious way multiple times during the story would make it choppy, as every time we are trust in a new situation we have to immerse ourselves in.
Yes, but in the same time, if your game need that the MC have to cross the whole country/state this often, there's a problem with your story. Situations that need a narration to shorten them should stay the exception. When the travel is short (house->works) by example, you can use a accurate transition, or a short animation. By example using a movie technique, with few render where the character(s) jump further and further, and slowly fading from one to the other.


It's probably related to how much information is in that text. If it only contains the name of the city you just arrived in it practically disturbs nothing.
But it will feel wrong. You rarely jump from a place to another.
Another possibility is, once again something that come from movies, a filling scene. Above I talked about the trend to have strong antagonist in recent VN. While the MC is traveling to a new city, you can show the bad guys searching for it in a place he usually go. Then once this scene end, the MC reach his destination.


Or do you think the size of the the text in the NVL-mode doesn't matter?
It depend of what you do with it. If you use it as important narration (still like the Star Wars introduction) the size don't matter this much, as long as you don't write a whole novel as narration. But if it's used as translation substitute, it should stay short ; more than just two/three lines, but less than the whole screen.
 
  • Like
Reactions: Marzepain

Marzepain

Newbie
May 4, 2019
61
49
Thank you for your extensive answer and the time and effort you put into it. English is not my first language either and I would be a bad listener if I discredit someone's arguments based on the packaging.

I agree with your arguments and you have convinced me that NVL-Mode text placeholders are bad.
This topic has stayed rummaging in my head and there are some things I like to add.
you probably know all this stuff, but maybe some lurkers find it useful.


Simplifying when to use Placeholders
I think the question whether or not to use placeholders, be it text or otherwise, comes down to:

"Is there a dedicated Alpha for the game?"

An build defined as an INTERNAL not feature complete build, being tested by testers who are part of the development team. While a build should be feature complete and gets tested by Early adopters and other interested parties.

It is akin to the question I use when to decide to use a technology like LINQ or Stored Procedures (SP) to access a database and that that is "Is there a dedicated database administrator (DBA) tester for the database?"

Enabling full playthrough testing
Both a Tester as a DBA are part of the development team where you make provision in your software so they can function. Placeholders enable a tester to test more of the game, while a DBS can alter the contents of an SP without bothering the rest of the team.
If there is no hard definition within a game development team and everybody does everything, it can still be valuable to have placeholders to be able to do a whole playthrough, but less so as they could also work on the real assets to move the game development along.

If the community is used for testing and the community is also it's intended audience showing sub par work will lead to a bad judgment by that community as you stated before. The community forgives a lot, but we can't help being human.


Using placeholders makes it possible to test sooner, but not to release sooner.
This also is also true in a professional setting when pitching to a publisher or investor.
Consider this video " " of a publisher where one of his dislikes is "12. I can't tell what's placeholder and what's not." 11:40

Those people will judge the game poorly, because the bad placeholder might be in the final game instead of the extremely bad placeholder that is not considered in that way.
Not that a publisher is needed these days, but it something to keep in mind when looking for one.

When I was at a multimedia company 20 years ago they used " ", " " and " " images as placeholders. Those hurt my eyes and where so ugly I was really motivated to get them out off sight.


The process not being iterative has impact
Not being able to use an iterative process combined with it's intended results also being highly uncertain, an impact on the development process of a game.

Agile feature development not valid
Being in software development I'm used to methods like and , with emphasize releasing features early, so they can be used earlier and thus create or safe money sooner.
Of course there is also a release schedule of the software there, but that is mainly arbitrarily, although occasionally there will be themed releases, most of the features stand independent of each other.
This is fundamentally different from a game that must be judged as a whole. A bad game with great graphics is still a bad game and good game with sub par graphics is still good. If a tool is not a complete solution for what you need, you can use multiple other ones to amend it. If a game is not good enough playing another game when there are parts you don't like is not an option.

More classic Project management is not valid either
A processes like will not work if there is a lot of learning to be done and the outcome of the project is highly uncertain, although the budgeted time and resources may have some buffers and flexibility to them. The process is more flexible, because it is hypothesis driven experimentation, but also has iterative product releases that will expose the game to its audience before it's ready.

Serialized literature instead of Placeholders
As placeholders are not an option for a game the area to test should be smaller. This would lead to smaller stories after each other in a game. This would mean that the VN's are actually a form of .
I've come across arguing that games are more like a or a earlier.
This doesn't have to be bad as stories, published in a newspaper, have become prize winning novels.
The stories here would probably fit more in the genre as they share some stylistic and thematic similarities to the soap opera, like the . The significant difference is their series run length; telenovelas tell one self-contained story, typically within the span of a year or less whereas soap operas tend to have intertwined storylines told during indefinite, continuing runs.

I'm just mention what logically seems to work for the VN genre, but everybody should do whatever they like.

Examples of Cinematic text that work
Upon searching a bit the NVL-mode seems to correspond to the cinematic " " or more specifically the "expository intertitle"
The opening crawl is actually a form of and it's origin is in the .
It doesn't match to the NVL-mode as in that mode the text doesn't move.
I can't seem to find the "text transition" in Film on Wikipedia or . It does seem like a logical name.

The Intertitle is common for Silent Film, but also used for Medieval, Wild West and Fantasy movies, so it seems to used as a style element indicating Old or Other world then contemporary.

Silent movie
1607210378504.png
Blade Runner
1607210257405.png
Grimm
1607210321694.png
The contemporary use is actually for conveying and postal letters to the audience.
1607210470756.png
Although for SMS the text is generally floating as " " next to a person.
1607210421558.png 1607210438401.png
That seems hard for the NVL-Mode.

Renpy's space in gaming
You have stated on numerous occasions that Renpy is capable of much more then VN's and the examples you show are convincing that it can be done. That said it still occupies a certain position in the game development world.

That's partly because of Python as the programming language matters for professional game creators. This is echoed in
" " 7:30 "Does it matter what language you learn"

Personally having recently took a number of Linkedin Python courses. I think it's a little blunt, showing it scripting language heritage, but it's nice because it doesn't try to hide things that can become problematic.
However mobile and indie games generally use Unity and AAA games Unreal or some custom engine.
Although lots of game engines used to use Python as a scripting language, these times not so much.
Maybe this will change when goes and Renpy updates it's dependancies, as Renpy seems to be build on PyGame and PyPy should make that significantly faster.

Even when that has has happened, using Renpy as a component in a game doesn't seem possible.

Integrating a PyGame components into Renpy seems tricky as it take over everything. You have shown an example of that it can be done, but it's probably not more creating another game within Renpy then configuring some settings of a component in Python.
Combining Renpy with something like or , both implemented in PyGame, might work if I can shut one of while the other is playing

The alternative is using Unity components like , of " " fame as it uses a similar as Renpy, as does in it's . It's not really an option as in that case programming would switch from Python to C# and it would cross the chasm of amateur's creating something they love to junior developers trying to better themselves.
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,279
15,119
An build defined as an INTERNAL not feature complete build, being tested by testers who are part of the development team.
But then, isn't it better to only test a given scene ?

At work, we have a strong testing policy, but obviously we all start with basic unitary tests that only target the function we are working on. It's only when all the functions past their tests, that we test the unit/feature/whatever they are wrote for. And only when the unit/feature/whatever all pass the tests, that we test the software itself.
We could use placeholder-like functions that proceed only the basis with a frozen context, and directly test the unit/feature/whatever. But then, is the error due to one finished function, or to one of the placeholder ones that is too generic ? And if we waited to have all the functions, then the error could come from whatever function involved ; is it this one that return a wrong value, or this one that wrongly process the value it get ? We would fallback to a late unitary testing at a time where we don't have their specification in mind, and don't necessarily remember immediately why we wrote it this way, and not that way. Bonus points if both functions have been wrote by two different persons.
We loose time doing those unitary tests, but then gain more time when we pass to the unit/feature/whatever tests, because we know for sure that it's either an integration error or a bad interaction between two functions.

Of course, in a Ren'py game with placeholder, the impact is limited, but still the time gain stay.
You'll judge the scene accordingly to the leading or trailing placeholder, and it's possible that you find that they don't link right together. Therefore you'll return it to the dev, that will change a dialog line or redo a render to correct this. But then, the effective scene will be different that the placeholder ; it's always the case, because it always feel different in your script and when it become something real. And once again the two scenes don't like well, again the dev have to make changes ; and the first ones was minutes (for dialog) to hours (for renders) lost uselessly.

Alpha version:
"[Placeholder: The MC peek his mother under the shower. He's not fast enough, she caught him when taking a towel before exiting the shower] Scene effectively done, the MC go to the mother's bedroom to apologize, the first CG is the mother fully clothed."
Return: Hmmm... The mother dress really fast, shouldn't she be at most in underwear ?

Beta version:
"The MC peek his mother [...] towel before exiting the shower. The MC feel bad and go to his room, sit on his bed and decide to apologize. The MC go to the mother's bedroom to apologize, the first CG is the mother with only her panty, putting her bra on."
Return: Hmmm... The mother dress really slowly, shouldn't she have more clothes ?

Of course, the part where the MC pass through his room wasn't in the placeholder ; with the transition effect used in the game, it didn't mattered this much. But when making the scene, the author felt that something was missing ; the player don't feel enough MC's guilt. Therefore he added this small interlude, a scene where MC's guilt is clearly shown.
It can be just one CG, the MC sat on his bed, and one single dialog line, "What the fuck have I done ? I'm really a bad son". But it totally change the pace of the game, and so what the player expect to find when entering the mother's bedroom.

What a test include totally depend of the question it have to answer to.
We focus first on the function individually because the question is, "is this function following all its specifications". At this time we don't care how it interact with the rest, if it follow its specifications, then it's the right code for this function, dot. As I said above, any error after this point will come from the integration, a bad interaction or something forgot in the specification. It limit the place where the error can be.
Applied for a game, the question when you test a scene should be, "is this scene understandable, and did it carry the expected feelings". With possibly a, "are the decision made during this scene correctly handled". It's only later that you wonder if the scenes links correctly together.
Doing it this way also make the testing more efficient, because at each step the tester(s) have only one thing to focus on. The scene itself during the Alpha test, then only the transition between scenes during the Beta test. This way you risk less to miss something.


This said, it doesn't mean that placeholders can't play a role during tests...

Enabling full playthrough testing
...for this reason, a pre-Alpha test. A test where there's nothing more than placeholders describing all the scenes, in order to validate that their order feel right. Because, once again, what you have on the paper (your script) will never feel the same once you see it working.
And when you write a sandbox-like game, I would say that this pre-Alpha phase is fundamental. It don't need much time to be wrote, nor much time to be proceeded. But by doing it again and again, going through as much variation as you can think, you'll catch that, "oh fuck ! With this order, the mother accept to give a handjob to the MC, and in the scene right after she go full tantrum because the MC see her in her underwear. It's totally weird, I have to correct this".
You can obviously do the same thing during the Beta test, but either you've to pass through all the scenes, so it will be way too long to do all the tests, or you'll use Ren'py's skip feature, and then probably miss the significant details.

Therefore, yes, placeholders have an utility. A pre-Alpha (or code Alpha) test version full of placeholders and where you use colors to describe the level of each important points in the scene. Something that would looks like :
Code:
Mother reaction: tantrum [red]
Mother reaction: Not happy [orange]
Mother reaction: neutral [Deep Blue]
Mother reaction: happy [sky Blue]
Mother reaction: lusty [green]
If during your test you pass from "deep blue" to "red" for the mother reaction, like in my example above, you'll immediately see it. And you'll need what ? 5 minutes to perform a full test with a given configuration, against at least 1 hour (for a small update) if you do it with the Beta.
If you do this with the definitive structure for the code, when you'll works on the scenes you'll just have to fill the said labels. You know that they'll link in the right order, that the variable changes are now correct, and that the choice are correctly handled. All you need now is the CG and dialog lines.


If the community is used for testing and the community is also it's intended audience showing sub par work will lead to a bad judgment by that community as you stated before. The community forgives a lot, but we can't help being human.
But if you use the community for that, it fallback to the "bad feeling about the game", "lost in interested because there's no more surprise in the story", and "the 'I'll replay it later' that never happen", that I listed in my previous comment. It can only be done with people that agreed to be spoiled and really want to help.


Consider this video " " of a publisher where one of his dislikes is "12. I can't tell what's placeholder and what's not." 11:40
Therefore, better not have placeholders at all ;)

It obviously wouldn't works if you're in search for a publisher, because the pitch will not feel right ; but like you said, there's no real need for a publisher in this scene, at least for indies devs. But, if you're releasing your game, the absence of placeholders will not lower the quality and interest of the game. This while their presence can do it because, like said in the video you linked, the player can't always tell if it's a bad scene or a too good placeholder.


When I was at a multimedia company 20 years ago they used " ", " " and " " images as placeholders. Those hurt my eyes and where so ugly I was really motivated to get them out off sight.
I have kind of the same habit when I code. Because yes, reader my friend, even when codding you can have to rely on placeholder ; by example when you want to try a new approach, or works on a part you don't have the habit to code. In order to see if you understood correctly, it's generally preferable to proceed step by step (unless the compilation times is effectively too high) because each step depend of the previous one. So, better validate that "this" works before starting to write the code that will totally depend of this answer. But sometime you need at least a basic version of what follow for the code to do something.
So, authors my friends, don't hesitate to do the same when working on your game ; especially if you don't have much experience in coding.

Personally I put this placeholder code at 0 level of indentation (except in Ren'py/Python of course), what totally mess with code folding, and make me want to get rid of it as soon as possible. What is similar to the ugly colors you talk about.
When you've no other choice than using placeholder, do something that will annoy you. This way you'll never forget it, and you'll replace by real content as soon as possible.


The process not being iterative has impact
Not being able to use an iterative process combined with it's intended results also being highly uncertain, an impact on the development process of a game.
If you thought the code, and planed the development, correctly at first, it shouldn't be a problem. You've securities for content that still have to come, and you add the scene in such way that they'll be no hole, even in an alternate path or in the story of another character.
By example, Super Powered use a modular base for its code. Each character have a label for each action, and the labels having all the same format (generally "[name of the character]_[action]") they are dynamically built by the core. You can add a character easily, creating the right labels being all you need to do. Therefore, the only thing needed is to validate that the label exist before offering the possibility to perform an action.
And it's how he do it, implementing the character piece by piece. The greyed buttons replacing the need for a placeholder for every interaction none implemented yet. This permit him to have all the girls present right from the starts years ago, while still having nowadays some that need to be effectively implemented. This while having placeholders only for the scenes related to the main generic actions (like acquiring a new power or training) what is a really bad thing.

Like I said initially, if you need to rely on placeholder in what you release, then it mean that you haven't past enough time thinking your project. For a linear or almost linear game, it's half a problem, but for a pure sandbox one like Super Powered, soon or later it will lead to bugs in your game ; at least because of the lack of security tests.


Agile feature development not valid
Being in software development I'm used to methods like and , with emphasize releasing features early, so they can be used earlier and thus create or safe money sooner.
Agile is bad, agile is evil ;)
More seriously, I'll obviously not start the eternal debate, mostly because I don't care, it's not how development should works ; with "how" meaning "thinking that there's a paradigm that can apply to every project and context".
This lead to a question I don't have a definitive answer to : Can this be applied to this kind of game development ?

In one hand I would tend to answer "yes", because well, it's what devs do. Releasing their game piece by piece, adding not only scene, but also features, updates after updates.
But in the same time, like few of them have effectively knowledge in development, they have a really hard time to implement them retroactively ; they don't know how to build their code to anticipate the new feature, and tend to break everything when they do it. In top of that, too many lack of initial planing, and when the game will be finished, half of the features will still not be implemented.

But it doesn't mean that Agile paradigm can't benefit to the scene, in a way Super Powered is the proof that a similar approach is efficient. It's more the authors that aren't ready, than the paradigm that can't works.
But once again, you don't need placeholders for that. Build your code to react to both the absence, then presence, of the feature/content.
It's, more or less, what I do with my mods. As much as possible I validate that the original code haven't changed ; what technically is limited to the presence of a screen, label, variable and function. And if at least one entity isn't found, the whole part of the mod depending of it is automatically disabled, without possibility to manually enable it. This way the mod works without breaking the game.


More classic Project management is not valid either
A processes like will not work if there is a lot of learning to be done and the outcome of the project is highly uncertain, although the budgeted time and resources may have some buffers and flexibility to them.
I stop you there, the time and resources can't be budgeted ; at least not with a Patreon business model.
Let's say that I start my first game today. With my actual knowledge of Daz3D and my actual configuration, I can probably do 10 renders/day.
My game is a hit, after only two months I get $1000/month. I've enough to add some RAM and change the GPU, I pass to 15 renders/day. Six months on, I now have $4000 to spend on a secondary computer, that I'll dedicate for the renders, and my scene building skills have greatly improved, I need less time to find the right lighting, the right expression, pose and all. I reach 50 renders/day. And with the money left, I can buy the assets I need for the future of the game.
At the opposite, my game pass totally under everyone's radar. One year that I release updates, and I haven't even earned $1000 at all. My Daz3D skills have improved, but I'm still stuck because my computer isn't powerful enough to let me works on the game, do what I usually do, and do more than 10 renders/day. Plus those $1000 are too short, I still miss few assets that I'll need really soon.

Which lead to, yes, classical project management isn't for this scene.
When I talk about planing the making process of your game, it's a fluctuating planing. This scene after that one, between X and Y days to do a scene, this part have to be codded before I can advance this story arc, and things like that. But you've no effective timing behind this, because it depend of a context that will change regularly.
Plus, like most devs do everything by themselves, giving a strict process order isn't a good idea. Write the dialog first, then do the render, then integrate, then pass to the next scene. Ideally it's how it should be done. But, by example, sometimes you aren't in the right mood to build some scenes, so better works on the dialog for another one, than forcing yourself and poison your passion.

But, once again, do you really need to use placeholders because of that ?
Yes, you've one scene more that have its dialog done. But you also are the only one to know it, you've no obligation to add it to your release.
Profit to this advance to reward yourself ; you've done more than you expected, you're on the right track keep going dude, you can really do it. It's better for your moral than the, "what the fuck is this scene with just dialog", that would inevitably appear in the game thread if you release it as placeholder.


The stories here would probably fit more in the genre as they share some stylistic and thematic similarities to the soap opera, like the .
Not necessarily just soap operas. I don't really know for US comics, and it don't really apply to Japaneses manga, but in Europe, comics historically have the habit to put a cliffhanger-like at the end of the page. Not necessarily something that lead to a suspense, it's generally more on the side of "the page let you mid action". It's also a good way to see if the story was firstly released in episode on whatever publication (and to know what content was released), or directly released as book.
If it's directly a book, then it will happen at the end of every odd page. You'll not stop here, you'll turn this page to see the end of the action ; and like you've started to read the page, you'll continue, and also read the page at its side. And now repeat, you're again left mid action. And if it was a periodical publication, then this cliffhanger will happen at the end of each published part.

It's something that Midlife Crisis started to do lately. No suspense in the story, no antagonist, but each update now tend to let you in the middle of a scene. Well, I'll play the next update, I obviously want to know what will happen.
Personally I found this method more effective than a cliffhanger that imply an effective suspense ; unless it's like in Love and Submission, where we were left once with an emotional cliffhanger. It was a fucking great move that grown a massive emotional bound with the story. Side note, I really hope that veqvil will one day achieve to deal with his problems, and then also be able to come back to effective development, he's a fucking great writer.


I'm just mention what logically seems to work for the VN genre, but everybody should do whatever they like.
Same here. I give a lot of advice, but the most important one is what I implied when talking about Agile : There isn't one method that works for everything, everyone, or every time ; and there's even less that apply for the three together.
Reader, my friend, pick what you want, it's how it should works. Whatever if what you do isn't "the right way". As long as it effectively works, then it's how you should do it, dot.


The opening crawl is actually a form of and it's origin is in the .
It doesn't match to the NVL-mode as in that mode the text doesn't move.
Oh, but it can move :D But honestly it would probably feel wrong.


The Intertitle is common for Silent Film, but also used for Medieval, Wild West and Fantasy movies, so it seems to used as a style element indicating Old or Other world then contemporary.
It's more used as an indication of "older time", but for the movie more than for the story.
Take someone that can travel in time, and goes to the future to film what happen there. Then he come back and edit what he filmed to make a movie, by obviously using the technology and methods of his time. Intertitle were initially used to give the same kind of retroactive indication ; whatever what you see, whatever if it represent, or looks like, the present or the future, know that it come from the past.
All this precisely because they were common in Silent Movies, therefore for the older, they refer to this time. Now it's a self fed bias for everyone who don't really know about Silent Movies ; you see it as having this meaning, because it had this meaning every time you saw it.

Then its meaning changed a little, making it be used as alteration of the reality.
By example, as used in Blade Runner, it permit to establish an alternate universe that, whatever how evolved it can looks, have either regressed, or faced an evolution that wasn't consistent ; generally better tech without social improvement. Here, it carry a feeling near to, "what the fuck ? They have flying cars and still use those static texts on black screen, where they can have come to text incrustation ?" This being due to the anachronism between the world depicted, and the technology, already out dated, used for the narration effects.
But when it come to Grimm, personally I think that they messed it. The font they used clearly show that they wanted to make it looks like if we weren't in reality, but the characters of one of the Grimm brothers tales ; looks, they're even writing the story right now. But the feeling isn't there, at least for me. It would probably have been better to show the text over a parchment ; even if historically it don't fit, it would have led to a better understanding.


The contemporary use is actually for conveying and postal letters to the audience.
They aren't effectively intertitle ; there's still the "title", but not anymore the "inter".
They are full part of the action, even in Sherlock when they don't show a SMS, but the key frame of Sherlock thinking. They don't replace something (dialog for Silent Movies), don't establish a difference (Blade Runner/Grimm), nor effectively narrate something. In place, they extend the scene, giving it a new dimension, by providing us what should have been "unseen information".
Still, once again they have to be done right. In Sherlock, they install the simultaneity of the actions. When it's Sherlock thinking (it happened just once or twice if I remember correctly), it clearly express his multi-tasking ; he's doing something totally unrelated, and in the same time already searching for the answer to the problem. Same when Watson (in your example) receive a SMS, what establish clearly that times don't freeze for the characters that aren't on the screen.
But this works only because it don't stop the action, at the opposite of the first screenshot where the action is relatively frozen the time for the exchange to happen.

This said, I totally recognize that it's fucking hard to do, especially in a movie. In a game at least it all depend of the player, but in the movie you've to take count of the possibility to translate the text, and to let it on screen enough for anyone to read it, but not enough for it to become boring.
Yet, ideally it should always be done like in Sherlock. You start an insignificant action involving a secondary character on foreground, then insert the SMS exchange, focusing on the involved character, while the said action apparently continue to play on what is now the background.


That seems hard for the NVL-Mode.
It's hard for games in general. This for the opposite reason that make it hard for movies ; you don't know how many time the player will stay on it. Therefore you can't do the foreground action that continue on the background trick. Either the action advance automatically, and so risk to end before the player finished reading, or it advance manually, and the player will probably not notice that something happen in background.
If in top of that you decide to give dialogs to the said action, for it to be more noticeable, it's dead. In a movie, the spectator can decide to focus on reading the text, and the dialog will just be a sound that he hear but don't listen to. But in a game, there will be only reading and it will be :
  • Read the received SMS
  • Read a dialog line
  • Read the answer to the SMS
  • Read the new dialog line
  • Repeat
More than one question/answer and the player will be totally lost, understanding neither the SMS exchange, nor the dialog.

In the end, in game freezing the story is, so far, the only way to go. But it don't feel too weird because, even in third person view, the player tend to fusion with the main character. Therefore, that the action stop when he read a SMS feel more natural, because for us also, when we read a SMS we stop what we where doing.


Although lots of game engines used to use Python as a scripting language, these times not so much.
Not just game engines, a lot of software including a scripting possibility tend to use Python. But I would say that it's a fad before everything else.
From, globally, mid 90's to the end of 10's Perl was THE language to know for scripting. Nowadays almost none of the persons who start their career know a single thing about it, preferring Python. The language is still usable, faster than Python, better than it for most administration task, object ready, and way more flexible, what is both a curse and an advantage ; it's only default is its Unicode support. But nowadays the fame aura past to Python.
Python started, and clearly achieved, to replace Pascal as teaching language. Since a little more than a decade, every student having learned coding at school is expected to know Python. This while on the compiled languages side, you can possibly learn C++, or in place C#, without having a single course regarding C. Python also have for him its rigid structure, what make it easier, not to write code, but to deal with the "hey, my code don't works, can you help me".
Put the two together, and it's the ideal language to add a script capability to any software. Professional know it already, while amateurs talk so much about it that finding help will be easy.

Honestly, except some variation of Basic, but it would then be way to limited, I don't think that Ren'py would have had such success without how easy Python can be to use. Compare it with RPG Maker, that don't use a too complicated language since it's JavaScript, and have, proportionally, way less authors that tried to do their own things.


Maybe this will change when goes and Renpy updates it's dependancies, as Renpy seems to be build on PyGame and PyPy should make that significantly faster.
They're still probably to an effective transition. As for Ren'py, it have to switch to Python 3.x before switching to PyPy.
Yet, I'm not sure that it would be the right move. By itself Ren'py is probably too versatile and erratic, to effectively benefit from PyPy's JIT, and it would probably be the same for PyGame as used by Ren'py.
Take the Character clas by example. In practice it's __call__ method is used a lot, but when you look at the code of the core, it's almost never used. And globally it's the same for the whole class. Therefore not only it can only benefit from an optimization at runtime, but also this optimization would be useless ; the process stop right after it, waiting for an input from the player.
At the opposite, even counting the prediction and the refresh, the code (inline Python block) present into a screen could be proceeded only time to time ; not enough to looks like an optimization is needed. Yet, it's what need the most to be optimized and what slowdown some games.
This said, my knowledge regarding PyPy's JIT are limited, so perhaps that it can still works.

But anyway, is this port really needed ? As I said, that you also implied yourself, for advanced use Unity or Unreal would always be better anyway. Except on Android, Ren'py is strong enough and fast enough for what he do. As far as I saw, when there's a slowness it's almost always the fault of the dev.
The only bottleneck I found so far due to Ren'py itself is the way its viewport works ; it process the events for every entries, even when they aren't shown, not even partly, on the screen. Yet, on the 10 years old computer (1.25Ghz CPU), I used at this time, it was a problem only when you had an action when the entries are hovered, on only when you've more than 400 entries.
When you think about it, it's already impressive. Used correctly, Ren'py can check 400 events every single time it's notified that the mouse have move. It can goes to what ? 400 events 50 times by seconds, something like that. For an engine that lack of optimization, and is an interpreted language on top of one of the slowest interpreted language, it's good performances. Especially when you take in count that, if a game have a reason to ask this much to it, then it should anyway have been done with an engine less dedicated to VN.
 
  • Like
Reactions: Marzepain