Suggestion: Default transition/with for layeredimage groups

In this forum we discuss the future of Ren'Py, both bug fixes and longer-term development. Pre-releases are announced and discussed here.
Post Reply
Message
Author
strayerror
Regular
Posts: 125
Joined: Fri Jan 04, 2019 3:44 pm
Contact:

Suggestion: Default transition/with for layeredimage groups

#1 Post by strayerror » Sat Feb 09, 2019 3:47 am

The use case starts with having a pretty vanilla character layeredimage, with eyes, mouth, arms, torso groups. When changing facial expressions, which can happen often in dialogue, it's nice to have no transition at all keeping things nice and snappy, however when changing body positions (especially larger arm movements) no transition can be a bit jarring. For that reason it's common to end up using with dissolve on show and say statements that will update body geometry.

Given that the layeredimage already knows which attributes correspond to arm and torso movements, it would be nice to be able to give a with statement to those layeredimage groups (which if I understand correctly, really means being able to give one to all attributes in that group) that would kick in if an attribute change within that group is triggered as part of a show or say statement (only if no other transition is attached directly).

The level of flexibility this would add above and beyond what is already provided by config.say_attribute_transition would enable:
  • the afore mentioned distinction between groups such as facial expressions and body parts
  • expanded scope to impact not just say but also show calls
  • characters to move at different speeds
    (I love the idea that some characters could have faster or slower transitions based upon their age, fitness and/or personalities!)
Hope this makes sense, look forward to hearing your thoughts! :)

User avatar
PyTom
Ren'Py Creator
Posts: 15469
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Suggestion: Default transition/with for layeredimage groups

#2 Post by PyTom » Mon Feb 11, 2019 3:41 pm

Basically, this can't be done the way layered images are implemented. The two different configurations of an li are entirely different, as far as Ren'Py concerned - like they would be if they were just separate image files. So there's no way to simply change from one to the other, except as a whole.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

strayerror
Regular
Posts: 125
Joined: Fri Jan 04, 2019 3:44 pm
Contact:

Re: Suggestion: Default transition/with for layeredimage groups

#3 Post by strayerror » Mon Feb 11, 2019 5:37 pm

Ooops, re-reading the OP I see I didn't do a great job of articulating the feature. This wasn't a suggestion that different parts of the LI use different transitions, only that when the LI knows an attribute within a certain group will be updated, it uses a transition against the entire LI, such that:

Code: Select all

e happy "first happy"
e vhappy "then very happy"
e bored armscrossed "then bored" with dissolve
e neutral "still bored but defensive"
e armssides "back to normal" with dissolve
Wouldn't need the explicit dissolves if the LI could be defined thus:

Code: Select all

layeredimage e:
    ...
    group expression:
        attribute neutral default <image>
        attribute happy <image>
        attribute vhappy <image>
        attribute shocked <image>

    group arms:
        with dissolve
        attribute armssides default <image> # implied with dissolve
        attribute armscrossed <image> # implied with dissolve
So the behaviour would essentially be if an attribute has a transition (direct, or implied by the group), use that transition on the entire LI. I don't have a good idea yet about how to resolve multiple transitions if more than one attribute with a transition mutates at the same time, but hopefully the concept makes a bit more sense now?

User avatar
PyTom
Ren'Py Creator
Posts: 15469
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Suggestion: Default transition/with for layeredimage groups

#4 Post by PyTom » Tue Feb 12, 2019 12:46 am

It does, but transitions don't apply to individual displayables, outside of ATL. They generally apply to layers of the entire screen. I don't think I want to add automatic transitions like these, at least for the time being.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

strayerror
Regular
Posts: 125
Joined: Fri Jan 04, 2019 3:44 pm
Contact:

Re: Suggestion: Default transition/with for layeredimage groups

#5 Post by strayerror » Tue Feb 12, 2019 7:14 am

Aha, that makes sense, thanks for explaining :)

Post Reply

Who is online

Users browsing this forum: No registered users