Page 1 of 3

Ren'Py 7.0.0 Prereleased

Posted: Sun Apr 22, 2018 5:24 pm
by PyTom
I'm happy to announce the release of Ren'Py 7, the result of over a decade of development since Ren'Py 6 was released. Compared to that release, Ren'Py 7 adds many features uses have long since come to consider core parts of the engine, such as ATL, Screen Language, OpenGL acceleration, support for the Android and iOS platforms, Translations, Accessibility, and so much more.

Thanks to everyone who created with Ren'Py during the Ren'Py 6 series, when Ren'Py and visual novels went from a tiny niche to something that is popular and culturally relevant. I look forward to seeing where Ren'Py 7 takes us.

Compared to Ren'Py 6.99.14.3, this released adds a new layered image system, which provides a cleaner replacement for the use of LiveComposite and ConditionSwitch when it comes to building sprites from layered images created in paint programs. There is a new syntax for such images, and portions can be defined automatically. Layered images also interact better with other portions of Ren'Py, such as the image predictor and interactive director.

Apart from this, this release includes a few fixes and minor new features. As always, check the changelog for complete details.

Ren'Py 7 is brought to you by over 100 people from around the world, and myself, Tom "PyTom" Rothamel.

Downloads of 7.0.0 can be found at:

https://www.renpy.org/release/7.0.0

A full list of changes to Ren'Py can be found at:

https://www.renpy.org/dev-doc/html/changelog.html

A list of changes that may require you to update your game can be found at:

https://www.renpy.org/dev-doc/html/incompatible.html

Please also check out the credits and sponsor list.


7.0.0.50)

This is still a prerelease, but I think it's quite good. There are very few non-bugfix changes - layered images is big, but with the exception of a few changes to the
interactive director, mostly standalone. I'd like to ask people try out layered images in specific, and let me know how they are to use - get some experience before I 100% lock down the syntax. If something seems weird, let me know - there are often quite easy way to do things using layered images, so I might need to make people more aware of them.

Thanks as well to everyone who's tested Ren'Py over the years.

Re: Ren'Py 7.0.0 Prereleased

Posted: Sun Apr 22, 2018 7:12 pm
by Ocelot
Layered images look awesome. One question though: are they considered images, i. e. do image manipulators work with them?

Re: Ren'Py 7.0.0 Prereleased

Posted: Mon Apr 23, 2018 12:24 pm
by ComputerArt.Club
Thanks PyTom!

Re: Ren'Py 7.0.0 Prereleased

Posted: Tue Apr 24, 2018 8:50 am
by DannX
Layered Images sound great, I'll be sure to try them out!

And thank you PyTom and the rest of the Ren'Py team for your awesome work!

Re: Ren'Py 7.0.0 Prereleased

Posted: Tue Apr 24, 2018 10:52 am
by ComputerArt.Club
Just a quick question, is there anyway to link to a previously installed version of RAPT?
I also had a recent thread about it for the last version of Renpy: viewtopic.php?f=8&t=49771&p=484722&hilit=RAPT#p484722
All that Android stuff takes awhile to setup each time and a fair amount of space too. I would like to keep my older versions of Renpy too if possible.

Re: Ren'Py 7.0.0 Prereleased

Posted: Wed Apr 25, 2018 9:42 pm
by Jackkel Dragon
I've been trying out Layered Images, and I'm liking how it works so far. It'll really help with making my workflow much faster, so I'm grateful for that.

One question I do have about it: Is there a way to change the names of attributes created by the group auto function? I ask this because I don't want to need to re-write existing image code to accommodate renamed files, but my naming scheme dug me into a corner with how attributes work. Here's my problem:

My character body images (outfits+poses) are "name_base_a0", etc. The letter is the outfit, the number is the pose.
My character face images are "name_face_a0", etc. The letter is the eye type, the number is the expression.
Both give me the attribute "a0" for the Layered Image, which means setting a0 will activate both of those layers.

So, back to my question, I'd like to be able to add a prefix to the attribute names from "group xxx auto" so that I can control them separately. That way I could have the body attribute be something like "ba0" while the face attribute could be "fa0" (or just left as "a0").

If there's not a way to do this easily, I'll just define each body image attribute individually. I just hoped there was a way I could do this without writing dozens of lines per character.

Re: Ren'Py 7.0.0 Prereleased

Posted: Mon Apr 30, 2018 10:19 pm
by PyTom
7.0.0.77)

This release has a lot of requested changes to layered images, based on some experience.

* if_also has been renamed to if_all, and if_any has been added.
* There are more options to control automatic groups. While my purpose is not to match arbitrary patterns (you can use Python if you want that), the new variant property lets a group match more of an image, while the prefix property lets you add a prefix to an attribute.
* The new attribute_function property of a layeredimage lets you provide a function that takes a set of attributes and returns a set of attributes. This can be used to implement complex attribute logic.

While multi-part layeredimage names have always been supported, this prerelease makes them compatible with the interactive director. A name with multiple parts is convenient when a character has multiple poses, each with their own set of layers.

Finally, there's a big change to the way the with statement and clause yet. When given a dict mapping layer names to transitions, Ren'Py will apply those transitions without pausing. This (finally) provides a convenient way to create transitions that occur while text is displayed. For example, one can now write:

Code: Select all

define dis = { "master" : dissolve }
And then

Code: Select all

show eileen happy
with dis

e "I'm getting happy while I'm talking."

Re: Ren'Py 7.0.0 Prereleased

Posted: Tue May 01, 2018 1:41 am
by Jackkel Dragon
I'm liking the sound of some of these additions. I do have a few questions after going over the documentation so far, though:

1) For layered image automatic attribute creation, I wanted to confirm the details of what the two new values do. "variant" affects both the detection of files to turn into attributes and the final attribute name, while "prefix" just affects the attribute names, correct? For instance:

Code: Select all

layeredimage kahlia:

    group base auto variant "dress" variant "disguise"

    group face auto prefix "f"
...would find the files [kahlia_base_dress_xxx, kahlia_base_disguise_xxx, kahlia_face_xxx] and create the attributes [dress_xxx, disguise_xxx, f_xxx]?

2) Sort of a twofold question. For the modifications to the with statement, it only affects transitions that are defined with the new dict mapping, right? It won't change older code? Also, could more complex transitions (like ATL) get mapped to the final transition? For instance, creating a transition that waits a second before dissolving between images, then wrapping that in a dict mapped transition. (The final result being something like an expression change mid-sentence.)

Edit: Fixed(?) syntax of sample code after testing a bit.

Re: Ren'Py 7.0.0 Prereleased

Posted: Fri May 04, 2018 1:24 am
by Jackkel Dragon
I may have run into a minor graphical issue since testing the prerelease. Whenever I've opened a game with a splashscreen label with the prerelease, it displays the checkerboard "no image" background for a few frames on startup. This is despite my splashscreen labels usually having "scene black" at the beginning. I haven't double-checked if it's unique to this build, but it doesn't seem to be an issue for games without splash screens.

Re: Ren'Py 7.0.0 Prereleased

Posted: Sat May 05, 2018 2:14 pm
by PyTom
7.0.0.89)

This adds a few things.

* There is now a French translation of the tutorial.

* Text now supports a second style of Ruby/Interlinear/Furigana text. This allows a game to have, for example, translations and pronunciations at the same time.

* There is a new displayable prefix system. This lets you write "foobar:argument" anywhere a displayable can be given. (This includes dynamic displayables). If a handler function is registered for foobar, it's called to return the displayable to use.

* Ren'Py supports adding individual files (such as .rpa archives) of bigger than 2GB to a zip file. Some platforms (Windows XP) can't unpack this files, so use it at your own risk.

* It also fixes the regression Jackkel reported above.

Re: Ren'Py 7.0.0 Prereleased

Posted: Sat May 05, 2018 2:17 pm
by PyTom
And, I thought I had replied to Jackkel's post above, but looks like I never hit send.

1) You're right.

2) Yes, if a transition rather than a dict statement is given, the behavior is the same as int previous releases. More general things are possible - either an ATL transition or a use of MultipleTransition would be reasonable ways of getting what you want done.

Re: Ren'Py 7.0.0 Prereleased

Posted: Sat May 05, 2018 3:33 pm
by trooper6
I would love to see an example of the new displayable prefix system in use.

Re: Ren'Py 7.0.0 Prereleased

Posted: Sat May 05, 2018 7:57 pm
by PyTom
There is one in the documentation, at the bottom of:

https://www.renpy.org/dev-doc/html/disp ... e-prefixes

Re: Ren'Py 7.0.0 Prereleased

Posted: Sun May 06, 2018 12:49 am
by trooper6
Cool! Thanks!

Re: Ren'Py 7.0.0 Prereleased

Posted: Sun May 06, 2018 1:39 pm
by Scribbles
I like the new layered image stuff! I'm still figuring it out, but I can't wait for the final release. I got it to work for me for a regular sprite of mine (eyes, mouths, outfits, blush) but I'm still working on getting it to work with a customizable sprite (have to figure out how to let the player change it, and apply the changes and conditionals to the sprite) But I can see using this for future projects! It's very streamlined ^^