Bug Replications

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.
Message
Author
User avatar
PyTom
Ren'Py Creator
Posts: 16088
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:

Bug Replications

#1 Post by PyTom »

One of the hardest parts of fixing bugs in Ren'Py is actually finding the bugs in the first place. A lot of times, I spend more time trying to reproduce an issue than I do fixing it - and sometimes it's not even a bug at all. Spending that time slows down bug fixes - since I can only work on one thing at a time - and also slows Ren'Py development. When the community can provide me with good bug replications, it will help me and everyone else out.

A replication doesn't need to be the first thing you send me - if you post the error message or traceback, I or someone else will often be able to help you out. But if I ask you for a replication, this is what it should be like.

For Ren'Py, a replication should consist of three things:

A standalone game that quickly demonstrates the problem.

First off, the game must be standalone. I should be able to download it and run it with Ren'Py, and have the game work. This includes having images, music, etc - or at least placeholders. It's not enough to just provide a script excerpt - finding art and other assets to make that script run will often take a long time.

Secondly, the game can be quick. When fixing a bug, I often restart Ren'Py many times, with code that tells me what's going on. If it takes me 15 tries, and 2 minutes to replicate the bug, that overhead added half-an-hour to the fixing process. If i can get the bug in 4 seconds, the wasted time is a minute. There's a couple of things to consider here:

* Disable splashscreens and other time-consuming portions of the program.

* If the bug doesn't show up at the main menu, consider disabling the main menu with the following code:

Code: Select all

label main_menu:
    return
* Ensure that the bug show up within a click or two of program start. For example, you might want to add code right after label start to jump to a bug.

It's not necessary to build distributions, and doing so can be problematic if it causes code or assets to be archived. Instead, please zip up your game and send it to me, either by email to pytom@bishoujo.us, attaching it to a forum post, or uploading it somewhere and adding the link to a github bug.

Instructions on how to replicate the bug.

Make these as clear and concise as possible. For example, "click twice, then roll back."

A description of what you were expecting, and what you got.

This helps me make sure I'm looking at the same things you are.


With the Ren'Py community growing, dealing with reported issues is taking up more of my time. I'm hoping that by providing this guidance, I'll be able to deal with issues more efficiently, so I can spend more time improving Ren'Py and making VN development easier.

Thanks.
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

mjshi
Regular
Posts: 179
Joined: Wed Mar 13, 2013 9:55 pm
Completed: MazeSite01, Ponderings of Time
Contact:

Re: Bug Replications

#2 Post by mjshi »

Interesting. But what if the bug is not because of the game's problem but because of an operating system incompatibility or something?
Since once, Ren'py and almost all other programs refused to start running, apparently my %temp% folder got corrupted somehow. A system restore fixed the problem.
My concern is this- it's impossible to re-create everything about a bug report, right?
I guess if it was a common bug then it would be easy to re-create, rarer ones from people with unique system configurations must be harder to fix.

User avatar
PyTom
Ren'Py Creator
Posts: 16088
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: Bug Replications

#3 Post by PyTom »

That's right, but I think I've gotten fairly good at telling what sort of bugs are system-specific, and what bugs are likely to be exercised by a game. There's a certain amount of discretion required here, but I think we'll be able to manage that discretion.
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

jayel
Newbie
Posts: 8
Joined: Sun Dec 23, 2012 5:39 pm
Contact:

Re: Bug Replications

#4 Post by jayel »

As a former game tester, here's the basic form we used.

Summary: A quick sentence or two describing the issue

Steps to Reproduce:
1. Boot the game.
2. At the game Main Menu, select BEGIN NEW GAME
3. (and so on, step by step)

Results: What happens when you follow the steps.
Expected Results: What *should* happen.

Repro %: x/10 (Try it ten times. Does it happen each time in the same way? Narrow down your steps until you can get the issue to happen regularly.)

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: Bug Replications

#5 Post by jack_norton »

Agreed, the hardest problems are bugs like memory leaks, where the crash doesn't always happens in the same point of the game. Still trying to find out the bug on Planet Stronghold, since had many report of crashes on 6.15 from players but none on 6.14. I'm almost sure is something related to the old ui. language but not sure what yet :(
follow me on Image Image Image
computer games

User avatar
PyTom
Ren'Py Creator
Posts: 16088
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: Bug Replications

#6 Post by PyTom »

jayel wrote:As a former game tester, here's the basic form we used.
The sort of form you use is great for testing completed games, especially ones where you can't change the game itself.

But what I'm trying to do here is to come up with a way to more easily support Ren'Py in a developer-to-developer fashion, so I'd like someone simpler reports. Rather than making me play through the game, I'd like people to change the game so the replication becomes easier - 1-2 steps. And ideally, the replication percentage should be 100%, even if it means fixing the results of random-number-generators.

It's a different level of testing/replication is all.
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
PyTom
Ren'Py Creator
Posts: 16088
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: Bug Replications

#7 Post by PyTom »

If you disable parts of the standard Ren'Py interface (such as save/load/skip/rollback) I will probably not help until you produce a version of your game that has those features restored. That's because I may use them in my debugging process, or simply to make my life more efficient.

Basically, if I feel that I'm spending more time working around your game's interface than I spend testing, then I'm going to stop testing. (And usually, I expect an actual test to take me ~10 seconds to run and evaluate the output of.)
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
Keinart
Regular
Posts: 133
Joined: Sun May 13, 2012 8:28 pm
Completed: One Thousand Lies
Projects: Lotus Reverie
Organization: Keinart Lobre
Tumblr: keinart
itch: keinart
Location: Spain
Contact:

Re: Bug Replications

#8 Post by Keinart »

So, about this, where do we report bugs? Here in this thread? Do I create a new thread? Or is there a bug database to report everything? I have a couple of bugs that, after creating threads here the answers I got were that they were probably bugs, so I was thinking about reporting them since I haven't find a way to fix them. What should I do? :?

The threads are this one and this one.

Thank you and sorry for the bother

User avatar
PyTom
Ren'Py Creator
Posts: 16088
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: Bug Replications

#9 Post by PyTom »

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
Keinart
Regular
Posts: 133
Joined: Sun May 13, 2012 8:28 pm
Completed: One Thousand Lies
Projects: Lotus Reverie
Organization: Keinart Lobre
Tumblr: keinart
itch: keinart
Location: Spain
Contact:

Re: Bug Replications

#10 Post by Keinart »

PyTom wrote:Our bug tracker is at:

https://github.com/renpy/renpy/issues
Oh awesome, thanks. I will use it then. Thank you.

Hurrdurr
Newbie
Posts: 4
Joined: Fri Oct 14, 2016 9:48 am
Contact:

Re: Bug Replications

#11 Post by Hurrdurr »

Does renpy have support for unit testing? If so you could set up testcases Test driven development is awesome, its a bit of a headache to set up but once its done you can refactor the code as much as you want and you get instant feedback on what doesnt work and why.

User avatar
SmartAppleGames
Newbie
Posts: 15
Joined: Wed Feb 15, 2017 12:39 am
Contact:

Re: Bug Replications

#12 Post by SmartAppleGames »

i found a bug in latest version. If you change the textbox.png to have transparent edges like lower width, and load it up the engine freaks out and creates a enlarged image of the textbox.png and still not transparency or lower width but BIG IMAGE of textbox. only way to change it back is to load GUI default then copy paste old textbox.png you made to get back to previous textbox size.

User avatar
Oracle
Regular
Posts: 29
Joined: Tue Apr 19, 2016 8:12 am
Projects: Freight Train, Moonlight River, Arbitration, Timewave, Stardust, Dead Mistress, Dark Forces
Soundcloud: Sound_Oracle
Contact:

Re: Bug Replications

#13 Post by Oracle »

The tutorial is just not working for me. The code windows won't appear and now the blue text thingies in the begging disappeared. HELP!
Let's change the world one note at a time~
Check out my Soundcloud!

User avatar
apoto
Newbie
Posts: 22
Joined: Thu Apr 26, 2018 11:32 am
Contact:

Re: Bug Replications

#14 Post by apoto »

I recently find my project edited in renpy-6.99.14.3-sdk unable to build distributions, however I can still launch the project. There's no bug report but a "Please ensure that your project launches normally before running this command"......

bloobeary
Regular
Posts: 36
Joined: Fri Oct 04, 2019 3:02 pm
Deviantart: bloobeary
Soundcloud: user-212448702
Contact:

Re: Bug Replications

#15 Post by bloobeary »

I don't know if this qualifies as a bug report, or a feature request, but after failing to receive a solution for my problem, and doing a search of the forums here only to discover that I was not alone in my quest, I thought it might be worth asking about.

The basic problem is this:
When using a {nw} statement, followed by a transition, and then followed by an extend, the transition makes the text briefly dissappear.

Thus:

Code: Select all

    c "{cps=10}Character talking text goes here. {/cps}{w=3}{nw}"
    
    show screen timer
    with Dissolve(.5)

    extend "{cps=10}Character continues talking here.{/cps}{w=5}{nw}"
The text vanishes during the Dissolve transition.

If there isn't any way to stop the text from vanishing, it would be nice if one was added.
If the text isn't supposed to vanish, then it's a bug.

Either way, keeping text onscreen through a transition would be a valuable thing to have.

Post Reply

Who is online

Users browsing this forum: haitai, Starberries