Ren'Py 6.99.13 Released

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
User avatar
PyTom
Ren'Py Creator
Posts: 16093
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:

Ren'Py 6.99.13 Released

#1 Post by PyTom »

I'm happy to announce Ren'Py 6.99.13, the last in a series of releases that will culminate in Ren'Py 7. This release improves Ren'Py for creators of all experience levels. Some of the highlights of this release are:
  • The two games that are bundled with Ren'Py have both been remade. Both are now in the 16:9 aspect ratio and use modern Ren'Py programming techniques. The Tutorial has been rethought, and is now structured to be a basic and in-depth class in Ren'Py, with hundreds of new examples. (The old tutorial may still be used when a translation exists for a language.)
  • Ren'Py now ships with the Interactive Director, which can be accessed by pressing 'D'. The Director allows one to edit scripts from inside Ren'Py, adding and modifying the scene, show, hide, with, play, queue, stop and voice statements.
  • Ren'Py now runs on the Raspberry Pi. Raspberry Pi files can be downloaded and added to a Ren'Py release, though it's the creator's responsibility to ensure that their project runs in the limited memory available on that platform.
  • Ren'Py now takes advantage of Non-Power of Two (NPOT) textures to reduce memory usage when supported on a platform. Memory usage can be reduced further by setting config.cache_surfaces to False.
  • The functionality of the {a} text tag, which introduces a hyperlink, has been improved. It's now possible to use a hyperlink to jump to a label, call a label, or show a screen.
  • The say statement has been extended to take arguments. This new syntax can be used by advanced creators to provide additional information to a say statement.
  • Ren'Py now loads files in a second thread, preventing sound playback and looping from causing drops in the framerate.
  • Translations of the launcher to French and Brazilian Portuguese have been added, while the new tutorial is also available in Russian.
In addition to these, dozens of minor improvements are mentioned in the changelog.

Downloads of 6.99.13 can be found at:

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

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

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

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

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

Please also check out the credits and sponsor list.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3791
Joined: Mon Dec 14, 2015 5:05 am
itch: Imperf3kt
Location: Your monitor
Contact:

Re: Ren'Py 6.99.13 Released

#2 Post by Imperf3kt »

Awesome work as always. I missed the pre-release period thanks to my desktop being in pieces, so hopefully I can get it in working order soon and try out all the awesome updates!
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor

Twitter

User avatar
Amie
Regular
Posts: 28
Joined: Tue Jun 06, 2017 4:48 am
Contact:

Re: Ren'Py 6.99.13 Released

#3 Post by Amie »

Thanks PyTom, all of those improvements sound great! Ren'Py is the best :D

User avatar
Arowana
Miko-Class Veteran
Posts: 531
Joined: Thu May 31, 2012 11:17 pm
Completed: a2 ~a due~
Projects: AXIOM.01, The Pirate Mermaid
Organization: Variable X, Navigame
Tumblr: navigame-media
itch: navigame
Contact:

Re: Ren'Py 6.99.13 Released

#4 Post by Arowana »

Thanks for all your hard work, PyTom! I'm very excited for this release! :D
Complete: a2 ~a due~ (music, language, love)
In progress: The Pirate Mermaid (fairytale otome)
On hold: AXIOM.01 (girl detective game)

Image

User avatar
ComputerArt.Club
Veteran
Posts: 427
Joined: Mon May 22, 2017 8:12 am
Completed: Famous Fables, BoPoMoFo: Learn Chinese, Santa's workshop, Cat's Bath, Computer Art Club
Location: Taiwan
Contact:

Re: Ren'Py 6.99.13 Released

#5 Post by ComputerArt.Club »

We really appreciate this! Thanks Tom!

User avatar
JamieDW
Newbie
Posts: 9
Joined: Thu Sep 28, 2017 10:15 am
Completed: Death Roulette: June Chapter
Projects: Death Roulette: July Chapter
Github: manalojamie0728
itch: jamiedw-offc0728
Location: Philippines
Contact:

Re: Ren'Py 6.99.13 Released

#6 Post by JamieDW »

This sounds awesome! Thanks, Tom!
Besides, what interest is there?
It's not as if everyone is going to care, anyway.

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4084
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: Ren'Py 6.99.13 Released

#7 Post by jack_norton »

I found a bug, or at least a different behavior vs previous stable release. I use a Dynamicimage and in previous version was running fine, in this one I get this crash:

Code: Select all

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/gameflow.rpy", line 1141, in script
    call screen chooseTeam
  File "renpy/common/000statements.rpy", line 485, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
Exception: DynamicImage u'gfx/protag/male_[prace]_hair[protag_hairstyle]_light.png': could not find image. (u'gfx/protag/male_elf_hair5_light.png')

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/gameflow.rpy", line 1141, in script
    call screen chooseTeam
  File "C:\renpy-6.99.13-sdk\renpy\ast.py", line 1775, in execute
    self.call("execute")
  File "C:\renpy-6.99.13-sdk\renpy\ast.py", line 1763, in call
    return renpy.statements.call(method, parsed, *args, **kwargs)
  File "C:\renpy-6.99.13-sdk\renpy\statements.py", line 163, in call
    return method(parsed, *args, **kwargs)
  File "renpy/common/000statements.rpy", line 485, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "C:\renpy-6.99.13-sdk\renpy\exports.py", line 2612, in call_screen
    rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward)
  File "C:\renpy-6.99.13-sdk\renpy\ui.py", line 287, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "C:\renpy-6.99.13-sdk\renpy\display\core.py", line 2553, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)
  File "C:\renpy-6.99.13-sdk\renpy\display\core.py", line 2916, in interact_core
    self.draw_screen(root_widget, fullscreen_video, (not fullscreen_video) or video_frame_drawn)
  File "C:\renpy-6.99.13-sdk\renpy\display\core.py", line 1980, in draw_screen
    renpy.config.screen_height,
  File "renpy/display/render.pyx", line 430, in renpy.display.render.render_screen (gen\renpy.display.render.c:6938)
    rv = render(root, width, height, 0, 0)
  File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2983)
    rv = d.render(widtho, heighto, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\layout.py", line 702, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3445)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2983)
    rv = d.render(widtho, heighto, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\layout.py", line 702, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3445)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2983)
    rv = d.render(widtho, heighto, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\layout.py", line 702, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3445)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2983)
    rv = d.render(widtho, heighto, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\screen.py", line 625, in render
    child = renpy.display.render.render(self.child, w, h, st, at)
  File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3445)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2983)
    rv = d.render(widtho, heighto, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\layout.py", line 702, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3445)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2983)
    rv = d.render(widtho, heighto, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\layout.py", line 862, in render
    surf = render(d, rw, height - y, cst, cat)
  File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3445)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2983)
    rv = d.render(widtho, heighto, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\behavior.py", line 715, in render
    rv = super(Button, self).render(width, height, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\layout.py", line 1093, in render
    st, at)
  File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3445)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2983)
    rv = d.render(widtho, heighto, st, at)
  File "renpy/display/accelerator.pyx", line 108, in renpy.display.accelerator.transform_render (gen\renpy.display.accelerator.c:2047)
    cr = render(child, widtho, heighto, st - self.child_st_base, at)
  File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2983)
    rv = d.render(widtho, heighto, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\imagelike.py", line 254, in render
    crend = render(image, width, height, st, at)
  File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3445)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2983)
    rv = d.render(widtho, heighto, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\image.py", line 392, in render
    return wrap_render(self.target, width, height, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\image.py", line 213, in wrap_render
    rend = render(child, w, h, st, at)
  File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3445)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2983)
    rv = d.render(widtho, heighto, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\layout.py", line 702, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3445)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2983)
    rv = d.render(widtho, heighto, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\layout.py", line 318, in render
    surf = render(self.child, width, height, st, at)
  File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3445)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2983)
    rv = d.render(widtho, heighto, st, at)
  File "C:\renpy-6.99.13-sdk\renpy\display\image.py", line 586, in render
    self.find_target()
  File "C:\renpy-6.99.13-sdk\renpy\display\image.py", line 519, in find_target
    raise Exception(error)
Exception: DynamicImage u'gfx/protag/male_[prace]_hair[protag_hairstyle]_light.png': could not find image. (u'gfx/protag/male_elf_hair5_light.png')

Windows-7-6.1.7601-SP1
Ren'Py 6.99.13.2919
 0.6.3
I think it's related to my image callback system?

Code: Select all

    def missing_image_callback(s):
        if renpy.loadable(s[:-4] + ".webp"):
            return im.Image(s[:-4] + ".webp")
        if not renpy.loadable(s + ".base.jpg"):
            return im.Image("blank.png")
        if not renpy.loadable(s + ".mask.jpg"):
            return None
        return im.AlphaMask(im.Image(s + ".base.jpg", cache=False),
                            im.Image(s + ".mask.jpg", cache=False))
    config.missing_image_callback = missing_image_callback
anyway before it was working fine :) thanks
follow me on Image Image Image
computer games

User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3791
Joined: Mon Dec 14, 2015 5:05 am
itch: Imperf3kt
Location: Your monitor
Contact:

Re: Ren'Py 6.99.13 Released

#8 Post by Imperf3kt »

I am seeing Ren'Py 7.1.0.0 in my latest install. I take it this is a pre-release?
(Would also explain why building it took almost 2 hours compared to the previously sub-hour process)
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor

Twitter

User avatar
mitoky
Veteran
Posts: 316
Joined: Sat Feb 07, 2015 9:12 pm
Projects: The Purring Demon's Love, circus eterie
Contact:

Re: Ren'Py 6.99.13 Released

#9 Post by mitoky »

Just a small question, should i download per the site or is clicking "update "on the launcher too ok?
(and thank you for your hard work!)

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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: Ren'Py 6.99.13 Released

#10 Post by PyTom »

Imperf3kt wrote: Mon Nov 06, 2017 7:56 am I am seeing Ren'Py 7.1.0.0 in my latest install. I take it this is a pre-release?
(Would also explain why building it took almost 2 hours compared to the previously sub-hour process)
Um... Could you be on the nightly build? It's 7.1 at the moment, since 6.99.13 will turn into 7.0.
mitoky wrote: Mon Nov 06, 2017 8:58 am Just a small question, should i download per the site or is clicking "update "on the launcher too ok?
(and thank you for your hard work!)
Updating in the launcher should work.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
Discostar
Regular
Posts: 40
Joined: Mon Mar 10, 2014 10:29 am
Contact:

Re: Ren'Py 6.99.13 Released

#11 Post by Discostar »

I just updated to 6.99.13

Updated my Xcode project, and sent the build to my device.

Now there's a black screen after the launch image shows for a few seconds.

I don't know what to do... :(

UPDATE: I just dumped the original Xcode project, and re-created it from the Renpy launcher. Works now. Yay.

User avatar
Karl_C
Veteran
Posts: 232
Joined: Sun Mar 31, 2013 6:18 am
Contact:

Re: Ren'Py 6.99.13 Released

#12 Post by Karl_C »

Hm, most of the time 6.99.13 simply works, but from time to time the game won't start because GL is disabled for any reason and I get:

Code: Select all

Bootstrap to the start of init.init took 0.31s
Early init took 0.00s
Loader init took 0.06s
Loading error handling took 0.10s
Loading script took 1.99s
Loading persistent took 0.02s
Importing _renpysteam: ImportError('No module named _renpysteam',)
Set script version to: None (alternate path)
Running init code took 1.80s
Loading analysis data took 0.18s
Analyze and compile ATL took 0.01s
Index archives took 0.00s
Dump and make backups. took 0.00s
Cleaning cache took 0.00s
Making clean stores took 0.02s
DPI scale factor: 1.000000
Creating interface object took 0.97s
Cleaning stores took 0.00s
Init translation took 0.05s
Build styles took 0.01s
Load screen analysis took 0.41s
Analyze screens took 0.00s
Save screen analysis took 0.00s
Prepare screens took 0.55s
Save pyanalysis. took 0.00s
Save bytecode. took 0.00s
Running _start took 0.00s
Interface start took 0.15s
GL Disabled.
Total time until interface ready: 7.45193505287s
OS: Linux 4.4.103-36 default
Hardware: AMD Radeon HD 4350/4550
Software: Gallium 0.4 on AMD RV710 (DRM 2.49.0 / 4.4.103-36 default, LLVM 3.8.0)
OpenGL: 3.0 Mesa 17.0.5

Post Reply

Who is online

Users browsing this forum: Google [Bot]