Page 36 of 38

Re: Ren'Py Gripes

Posted: Sat Jul 17, 2021 9:03 am
by Kia
I've been tinkering with an easy way to fade backgrounds into each other based on a time keeping function and it turned out to be more complicated than I expected. I can think of several ways to do it using screens, but I have an idea that will make it much less complicated: Multiple timelines

This is the gist of it:
Alongside the main timeline we make (or define) side timelines:

Code: Select all

label backgrounds timeline bg:
    show bg1 morning with with dissolve
    pause
    show bg1 noon with with dissolve
    pause
    show bg1 afternoon with with dissolve
    pause
    show bg1 night with with dissolve
    pause
    jump backgrounds
These timelines only advance through direct commands:

Code: Select all

init python:
    def advance_bg():
        renpy.timeline.bg.advance()
    def bg_jump(label):
        renpy.timeline.bg.jump(label)
this way we can dissolve images into each other (specially backgrounds) without interrupting the game's flow.
Another advantage having multiple timelines can have, is ability to have multiple conversations happening at the same time but with different paces. the character can be answering text messages while the story is going on, or leave answering those text messages for a later time.
or it can be like playing multiple games at once if we let the player have multiple say or NVL screens.

Re: Ren'Py Gripes

Posted: Sun Aug 01, 2021 8:20 pm
by lewishunter
Hi! I am using the gui.text_properties() and gui.button_properties () documented in https://www.renpy.org/dev-doc/html/gui_ ... hlight=gui

I would like if this functions could return all the properties (ike position) instead of only standart style properties. This way the code would look more simpler and tidy.

Re: Ren'Py Gripes

Posted: Thu Sep 02, 2021 9:14 pm
by lewishunter
A PRESSED STATE FOR BUTTONS.

I realized that the lack of a pressed state for buttons (like many software and OS. e.g. Windows) makes Ren'Py feel somewhat unresponsive to the user, giving it an 'amateurish' feel.

It would be grate writing something like "pressed" or the "selected" image be the same as the "pressed" image, or having two pressed states, one for when idle and another when selected.

I found a japanese user (akakyouryuu) who made a plugin trying to solve this but only for imagebuttons. The downside is that it's buggy when toggling fullscreen and you cannot use screen language.
imagebutton2.rpy
(7.25 KiB) Downloaded 51 times
EDIT:

I found a code made by Asceai in this post: viewtopic.php?t=26961

It's more simple to apply but still buggy.

Still it would be great if Ren'Py could do it as a basic feature.

Re: Ren'Py Gripes

Posted: Wed Oct 13, 2021 11:36 pm
by bloobeary
The biggest gripe for me at the moment, and honestly, I feel this rises to the level of being a bug, is that the character name and dialog will vanish from the screen if a transition is used on a character sprite.

A subtle dissolve between character expressions really looks good, and helps to add polish to a game, but not if it causes the character's name and dialog to keep blinking on and off. I've searched for a solution to this and seen tons of people asking how to make this stop happening. And the few suggested fixes that I've seen for it appear to be ineffective.

I'd also like a new tag, similar to {nw} but which doesn't cause dialog to vanish from the screen. I'd like to be able to have a character speak with a pause before their sprite appears onscreen, and there's just no way to do that without forcing the player to click first. So, give us a tag, maybe {nwt} (for "no wait, transition") that acts like an automatic mouseclick.

Re: Ren'Py Gripes

Posted: Fri Oct 15, 2021 9:42 pm
by lewishunter
It's not a bug. I changed it doing this:

Code: Select all

define config.say_attribute_transition_layer = 'master'
This works by applying the attribute transition to the master layer only (or other if you want) thus avoiding applying it to the dialogue layer (screen layer). You can change the layers too. Check the documentation.

Re: Ren'Py Gripes

Posted: Wed Oct 20, 2021 6:28 pm
by bloobeary
Ok, my current gripe and again, if there's just something I'm not seeing here, please tell me how to fix this one too:

I can do:
Dissolve(2.0)
to slow down a dissolve.

Why can I not also do:
ease(2.0)
...to slow down an ease?

I've tried it. It throws an error.

Re: Ren'Py Gripes

Posted: Mon Jan 24, 2022 1:15 pm
by Kia
alongside align .5,.5, I often find my self typing fit_first True every time I use fixed. I think this setting should be True by default since the main use of fixed is overlapping two things on top of each other.
Also, since putting two object inside frames and buttons would distort the frame size, perhaps forcing them to fit the first child would be the more sensible option for all of them.
I don't know if I've suggested this one before, but it would be grate if bars accept a child so we can overlap a text or image on them without resorting to fixed.
And, style for images please.

Code: Select all

style battle_add:
    align (.5,.5)

Re: Ren'Py Gripes

Posted: Sat Apr 09, 2022 6:40 am
by luoying
I built a music room. I hope it can adjust the music progress. It's complicated, but I succeeded in the end.

I hope it can be made simpler. Of course, there is a video player. I hope it can adjust the playback progress through the progress bar. This function is very good. There are many video games now.

My English is very poor. I can only communicate with you through translator. I'm really sorry.

Re: Ren'Py Gripes

Posted: Thu Nov 17, 2022 11:37 pm
by camzgr8game
Id like to have a better particle system + documentation on how to use it, probably not top priority, but something a bit easier to use and with more tools.
Specifically Id like to be able to birth particles from a black and white map so that I can have particle effects coming off layers.
Better controllers for spin/velocity, drag, scale over life, life randoms, direction, etc.
It would be super cool to have colliders as well and bounce events, second events, depth sorting but not sure if they would be totally crucial.
Second events being particles being able to emit sub particles, so you could have better trails/magicy type fx.
Bounce events being killing a particle that collides with a collider and then spawning in a bunch of particles at the collision point.
Depth sorting as in if you have 2d sprites in a 3D space, you could have the particles go behind and in front of things. Like a teleporter effect from the JJabrams Masterpiece Star Trek, having the particles swirl in a cylinder in front and behind your character.

Also Id like a tool or something that could do minimum spec testing. This is probably easier to do than a particle engine overhaul.
But basically something that pins the framerate of the game at a specific framerate, then auto plays the game on full power on your computer, and then decreases resources like CPU/GPU/Memory each playthrough it does until the framerate isn't sustainable.
The user would have to set up a cheat system for the engine to use so that if you had things locked behind a value ie You need 500$ to click this button the game could just ignore it and click the buttons etc. From this you'd also be able to spit out a nice treeview of every path mapped out and what links to what in some sort of graphical display.

All that being said, the engine is amazing for being free and the community around it is amazing, I just wish I knew more python so I could take better advantage of it. But im getting there slowly.

Re: Ren'Py Gripes

Posted: Wed Dec 07, 2022 9:24 am
by Kaji
Would it be possible to get a simplified furigana syntax? {rb}日本{/rb}{rt}にほん{/rt} is functional, and matches HTML, but it is extremely hard to read, especially if you're trying to do Japanese learners a favor and add furigana for the full script of your game.

Case in point, this is simply unreadable in any casual manner when trying to review or edit the script:

Code: Select all

"{rb}全国{/rb}{rt}ぜんこく{/rt}の{rb}神様{/rb}{rt}かみさま{/rt}が{rb}出雲{/rb}{rt}いずも{/rt}へ{rb}集{/rb}{rt}あつ{/rt}まって、{rb}一ヶ月{/rb}{rt}いっかげつ{/rt}にわたる{rb}会議{/rb}{rt}かいぎ{/rt}を{rb}開{/rb}{rt}ひら{/rt}きます。"
An alternative to this could be to adapt the syntax used over at Japanese.SE, where you put the kanji in [brackets] and reading in (parentheses) (their system is a bit more sophisticated and can intelligently parse thinks like kana in between kanji, but I'm not looking for that much here).

The example above would look like so, using the suggested format:

Code: Select all

"[全国](ぜんこく)の[神様](かみさま)が[出雲](いずも)へ[集](あつ)まって、[一ヶ月](いっかげつ)にわたる[会議](かいぎ)を[開](ひら)きます。"
While it's fair to note that brackets are already reserved for "[variables]", it perhaps a similar alternative syntax can be worked out, like all parentheses? (日本)(にほん)

Re: Ren'Py Gripes

Posted: Fri Dec 09, 2022 1:48 am
by Kia
Every time I forget to remove .rpyc files before sending a folder to somebody, their anti-virus goes bananas over them, it would be great if renpy would generate them inside a parallel folder tree instead.
Maybe keep the save and cache folders there as well. That way they wouldn't be in the way anymore, and won't find themselves where they shouldn't be.
Also, in launcher, a button to delete all rpyc files would come in handy in rare occasions that they cause an error.

Re: Ren'Py Gripes

Posted: Fri Dec 09, 2022 2:55 am
by PyTom
Kaji >>> This seems doable, though I'd have to find a syntax. I'm sort of thinking something like:

"{rp}(kanji|furigana){/rp}"

Where there are a lot of ways you could automate the {rp} (ruby-parens) tag. What do you think?

Kia >>>

.rpyc files are important to how Ren'Py saves and load games. If an antivirus system detects them, it's defective and should be replaced by one that works.

Re: Ren'Py Gripes

Posted: Fri Dec 09, 2022 3:33 am
by Kia
PyTom wrote: Fri Dec 09, 2022 2:55 am .rpyc files are important to how Ren'Py saves and load games. If an antivirus system detects them, it's defective and should be replaced by one that works.
That's what I say to everybody. Still, if it's possible, keeping them separate would make developing complex games a bit more pleasant.

Re: Ren'Py Gripes

Posted: Fri Dec 09, 2022 7:34 pm
by Kaji
PyTom wrote: Fri Dec 09, 2022 2:55 am Kaji >>> This seems doable, though I'd have to find a syntax. I'm sort of thinking something like:

"{rp}(kanji|furigana){/rp}"

Where there are a lot of ways you could automate the {rp} (ruby-parens) tag. What do you think?
That definitely looks a lot cleaner! It's nice in that it's still easy to put into the script with search/replace once I'm done editing the script. Current process looks like the following:

Code: Select all

[日本語](にほんご)                      Use [brackets] around kanji and (parentheses) around kana when editing in text editor
{rb}日本語](にほんご)                   Replace '[' with '{rb}'
{rb}日本語{/rb}{rt}にほんご)            Replace '](' with '{/rb}{rt}'
{rb}日本語{/rb}{rt}にほんご{/rt}        Replace ')' with '{/rt}'
Your idea can reduce that to just a simple search to add the {rp} tags outside of parentheses and then a quick check ensuring that nothing got marked by accident in the search/replace process

Another possibility to streamline it just a step further, if it's not already in use, might be {{double braces}}?

Code: Select all

{{日本語|にほんご}}

Re: Ren'Py Gripes

Posted: Sun Dec 11, 2022 7:41 am
by brunoais
Kia wrote: Fri Dec 09, 2022 3:33 am
PyTom wrote: Fri Dec 09, 2022 2:55 am .rpyc files are important to how Ren'Py saves and load games. If an antivirus system detects them, it's defective and should be replaced by one that works.
That's what I say to everybody. Still, if it's possible, keeping them separate would make developing complex games a bit more pleasant.
As a workaround, you may use a version manager and tell the version manager to ignore the .rpyc files.

For example, if you use git on linux (or git-bash on windows):

Code: Select all

# Make sure git exists
touch .gitignore
# Ignore rpyc
cat << 'EOF' >> .gitignore

# rpyc files are causing antivirous to go haywire. This avoids that
*.rpyc
EOF
# Remove .rpyc files from git but don't delete them
git rm --cache '*.rpyc'
Then you can commit and push.