• To improve security, we will soon start forcing password resets for any account that uses a weak password on the next login. If you have a weak password or a defunct email, please update it now to prevent future disruption.

Ren'Py Daz Create a censor bar in a meaningful way

Evildad

Member
Jan 7, 2019
113
218
Hello dear developers.
I have a question about censorship. In my current project there will be loli content. For some, I'm not entirely sure that it might cause problems. The bodies go in the direction of "Proud Father". But I don't want to change my idea just because there might or might not be problems. Depending on the platform where it is published.
So now I thought that I would add a patch of bare censorship. However, I am not exactly sure how to implement the whole thing in the most sensible way. I don't really want to have every picture twice. Censored and uncensored.
As an alternative, I would now think of only showing the bar as a screen every time, if necessary. Is there perhaps another optimal option that I just don't know yet?
 

rayminator

Engaged Member
Respected User
Sep 26, 2018
3,040
3,118
you can make it without the adult content and then upload the adult content to
 
  • Like
Reactions: LightmanP

Egglock

Member
Oct 17, 2017
196
110
If you want a quick and dirty way to censor something, just overlay it with a mosaic texture in Ren'py. If you want to completely censor a section of the VN, that would require you to do some coding that locks the content and create a patch.
 

79flavors

Well-Known Member
Respected User
Jun 14, 2018
1,560
2,179
Could you not use some combination of and displayables?

I'm spitballing here, so this solution may not be what you are looking for... but, I've tested it and it works how I planned...

Let's say you have a base 1920x1080 picture bedroom_ch01_s06_001.png (chapter 1, scene 6, picture #1).

You could create a second "censorship" image... maybe a black rectangle 600x200. Let's call it cens_600.png.

Now, we create a new displayable using both those images...
Python:
image cens_bedroom_ch01_s06_001 = Composite(
    (1920,1080),
    (0,0), "bedroom_ch01_s06_001",
    (660,440), "cens_600")

Where the background image is a baseline image which is then overlaid with the censorship image (placed at x=660, y=440).

Obviously, you might need a dozen or so "censorship" black bar images. Or black circles or black bars shown on a diagonal. Since your can only specify "put this at (x,y)" and not the size or direction.

However, you can use a single black image and crop it to various sizes you might need, without creating lots of separate image files.

Python:
# uses "fullblack.png" (1920x1080) file to create various smaller displayables.

image cens_600 = Crop((0, 0, 600, 200), "fullblack")
image cens_900 = Crop((0, 0, 900, 300), "fullblack")

Now we have the original image bedroom_ch01_s06_001.png and a displayable cens_bedroom_ch01_s06_001 which is the same image with a black bar over it.

Next, we need only create a 3rd displayable which automatically picks either of these two images, based on the value of some variable. Let's call it censored.

Python:
image patch_bedroom_ch01_s06_001 = ConditionSwitch(
    "censored == False", "bedroom_ch01_s06_001",
    "True", "cens_bedroom_ch01_s06_001")

A quirk of ConditionSwitch() is that the last entry always needs to be "True" to ensure at least one image is always picked, for the times when all those other conditions above it result in False.

The end result is that the game need only do something like scene patch_bedroom_ch01_s06_001 and the image displayed will be chosen based on the censored variable.

The full thing would look something like:

Python:
# --- script.rpy ---
define censored = True

image cens_600 = Crop((0, 0, 600, 200), "fullblack")     # uses "fullblack.png"
image cens_900 = Crop((0, 0, 900, 300), "fullblack")

image cens_bedroom_ch01_s06_001 = Composite(
    (1920,1080),
    (0,0), "bedroom_ch01_s06_001",
    (660,440), "cens_600")

image patch_bedroom_ch01_s06_001 = ConditionSwitch(
    "censored == False", "bedroom_ch01_s06_001",
    "True", "cens_bedroom_ch01_s06_001")

label start:

    scene black with fade
    "Welcome to my game."

    scene patch_bedroom_ch01_s06_001 with dissolve
    "That picture may or may not be censored."

    if censored:
        "Yup. It was definitely censored."
    else:
        "Nope. We saw everything."

    "*** THE END ***"
    return

Python:
# --- patch.rpy ---
init 1:
    define censored = False

In a lot of ways, you'd be swapping one sort of complexity (creating multiple images) for another (creating custom displayables using code).
But it accomplishes your goal of having a blackout bar which is sometimes visible and sometimes not, while using a single original image per picture shown. Which at least means the disk space usage would be lower (though probably not a lot lower, since most images wouldn't need to be censored).

You could, of course, bypass the need for the ConditionSwitch() version of each displayable by coding something like this each time you want to pick between the images:

Python:
    if censored:
        scene cens_bedroom_ch01_s06_001 with dissolve
    else:
        scene bedroom_ch01_s06_001 with dissolve

I believe Composite() should also work for animations. But don't hold me to that.
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,197
14,930
I'm spitballing here, so this solution may not be what you are looking for... but, I've tested it and it works how I planned...
From my point of view, the problem isn't in your, elegant, solution, but in his approach of the problem.

Loli aren't banned from here because of morality issues, but because of the public it tend to attract. Therefore I'm not sure that the game would be allowed with such censoring methods, whatever the way it would be done. It wouldn't matter that the character is hidden behind a blur or an opaque bar, the loli content would still be present, and so the game would still goes against the rule 7.

As to answer the question, well what to say except that OP already answered by himself while asking ? Proud Father have loli content, have a uncensoring patch, and is available here. He just need to look at how it's done with this game, and do the same thing.
 

Saint_RNG

Member
Apr 2, 2018
111
43
From my point of view, the problem isn't in your, elegant, solution, but in his approach of the problem.

Loli aren't banned from here because of morality issues, but because of the public it tend to attract. Therefore I'm not sure that the game would be allowed with such censoring methods, whatever the way it would be done. It wouldn't matter that the character is hidden behind a blur or an opaque bar, the loli content would still be present, and so the game would still goes against the rule 7.

As to answer the question, well what to say except that OP already answered by himself while asking ? Proud Father have loli content, have a uncensoring patch, and is available here. He just need to look at how it's done with this game, and do the same thing.
So, if I understand correctly, just mentioning in the story that the character is well over 18 years old can be enough? Or is there really a "visual" limit?

My game contains 2 characters who, at the body level, look a bit like this "cosplayer" :

And I guess she's an adult considering how many platforms she uses to get paid with +18 content. :KEK:
You don't have permission to view the spoiler content. Log in or register now.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,197
14,930
So, if I understand correctly, just mentioning in the story that the character is well over 18 years old can be enough? Or is there really a "visual" limit?
The rule 7:
"Content (a game, image, video, story, animation, etc.) depicting nudity or sexualization or sexual/erotic activity involving prepubescent character(s) is prohibited. A "prepubescent character" is one that visually shows no sign of puberty, or if non-visual is otherwise clearly intended to represent a prepubescent character. 2D and 'unrealistic' depictions are generally looked upon more favorably. As this involves some discretion, if you are unsure ask a Staff Member."

The answer to your question is in the need to shows sign of puberty, what imply more that some hairs and kind of boobs. It's more a question of global feeling when looking at the character ; if you look at the character and feel like (s)he isn't even fifteenish, it will not works even if you state that it's a 500yo alien.

Be noted, that the second sentence also explain why OP approach isn't valid. Even if censored when there's nudity, the character will still be known as being visually bellow fifteenish, and the dialog will also state it. What make the game break the said rule 7.


My game contains 2 characters who, at the body level, look a bit like this "cosplayer" :
I'll not talk for the staff, but personally I would vote for "it's loli".


And I guess she's an adult considering how many platforms she uses to get paid with +18 content. :KEK:
[Note: I'm not jurist, just someone with a certain knowledge of Law. This is not to be seen as legal advice, but as a personal thinking regarding the legal aspect of the subject]

Talking purely from a legal point of view, this mean nothing.

Firstly I don't know her Patreon and Onlyfan content, but as long as she's not nude, there's nothing illegal. It's morally tendentious, but totally legal, to show images of underage girls with lewd clothes and in lewd poses. There's clearly a sexualization of the girl in the photo, but you never see a part of her body that is "sexual" ; as far as I have seen after a quick search, there's not even a unexpected glance, when the panties are see-through or too short, she wear something under it to hide her labia.

Secondly, if she's effectively Japanese and live in Japan, she could be 14yo and it would be legal for her to pose nude. Obviously, then the platform should censor the content and make it available only in countries where it's legal to see such content. Can't say if it's effectively what happen, but the new policy of Patreon imply the full censoring of the part under paywall. Therefore from the sole "letter of the Law" point of view, Patreon do nothing wrong ; it's legal for her to do this, and if someone decide to pledge in order to see possible uncensored nude, it's this person that goes against the law in his country, not Patreon nor her. This being said, from the "spirit of the Law" point of view, Patreon could possibly be held responsible if it don't enforce the country verification, and so let someone from a country where it would be illegal access to the uncensored nudes.

Thirdly, the hosting platform can perfectly have missed that there's some nudes, allowing the account at it's creation because it was stated as "cosplay" and at this time all the pictures where none nude. Therefore the account exist by ignorance, not because it's legal content.
 

Evildad

Member
Jan 7, 2019
113
218
Many thanks for the help.
I hope that I won't trigger a discosion about rule 7 here. To be honest, I don't care. Either my game with the content is allowed or blocked. And if I have to adjust it. I am not going to discuss it and it is not my job to evaluate it.

Something else is much more important to me. There are clear laws in my country.
The representation of sexual parts of minors is prohibited!
(And it doesn't matter if it says 18 years or 100 years. Look like children, it's forbidden.)
If someone sits on the bed with their legs apart and looks too young in the game, I am breaking the law. It's not censored anymore. If someone removes the censorship, it is no longer my problem!
And it is an additional security for other platforms.

This is my thought.