(debugger / playtester)s' toolkit #37

Closed
opened 2021-06-19 17:09:13 +00:00 by coolestskinnieinthejungle · 6 comments

@Bowie had a great idea to give some much needed love to our debugging folk in the form of some utility functions that will help streamline playtesting.

ideally this will come in two parts, a utilities.rpy script to contain the functions to be used in the renpy console (Shift-O), and a dedicated page on the wiki for further documentation to live.

...
(will update the OP with more specifics)

@Bowie had a great idea to give some much needed love to our debugging folk in the form of some utility functions that will help streamline playtesting. ideally this will come in two parts, a `utilities.rpy` script to contain the functions to be used in the renpy console *(Shift-O)*, and a dedicated page on the wiki for further documentation to live. ... (will update the OP with more specifics)
MichaelYick added the
enhancement
Medium Priority
labels 2021-06-19 23:14:03 +00:00

Sort of related, I just want to point out that for people not using the renpy app itself (for example I use pycharm), the game can be still compiled via terminal.

path/to/renpy-dk-folder/renpy.exe .

Right now you can use --warp with it to go to a specific line, although I'm not sure if that will hold up after the scripts file gets chunked.

Also, since print() is out of the question and the renpy console has its limitations, you can pretty much still detail any data structure by manually raising an exception with it, or by writing to a file if it has to be runtime. A utility function to log timestamped lines into a file would be most welcome though.

Sort of related, I just want to point out that for people not using the renpy app itself (for example I use pycharm), the game can be still compiled via terminal. ``` path/to/renpy-dk-folder/renpy.exe . ``` Right now you can use --warp with it to go to a specific line, although I'm not sure if that will hold up after the scripts file gets chunked. Also, since print() is out of the question and the renpy console has its limitations, you can pretty much still detail any data structure by manually raising an exception with it, or by writing to a file if it has to be runtime. A utility function to log timestamped lines into a file would be most welcome though.
Owner

there has been terminal compilation this entire time and I just haven't tried it

I have the IQ of a brain damaged mouse high on weed

>there has been terminal compilation this entire time and I just haven't tried it I have the IQ of a brain damaged mouse high on weed
MichaelYick added this to the (deleted) milestone 2021-06-21 22:14:51 +00:00
MichaelYick modified the milestone from (deleted) to Monster-Update-6 2021-06-21 22:14:54 +00:00

Right now you can use --warp with it to go to a specific line, although I'm not sure if that will hold up after the scripts file gets chunked.

read about this but the biggest thing that scares me about it (at this point in time) is that it could fuck with the variables

The biggest problem, though, is that Python is not executed before the statement that is warped to. This means that all variables will be uninitialized, which can lead to crashes when they are used.

however there's also a noted solution to what seems like the biggest issue to this

To overcome this, one can define a label after_warp, which is called after a warp but before the warped-to statement executes. This label can set up variables in the 
program, and then return to the preview.

could be worth adding this label if we want to go forward with --warp

src: https://www.renpy.org/doc/html/developer_tools.html

> Right now you can use --warp with it to go to a specific line, although I'm not sure if that will hold up after the scripts file gets chunked. read about this but the biggest thing that scares me about it (at this point in time) is that it could fuck with the variables ``` The biggest problem, though, is that Python is not executed before the statement that is warped to. This means that all variables will be uninitialized, which can lead to crashes when they are used. ``` however there's also a noted solution to what seems like the biggest issue to this ``` To overcome this, one can define a label after_warp, which is called after a warp but before the warped-to statement executes. This label can set up variables in the program, and then return to the preview. ``` could be worth adding this label if we want to go forward with `--warp` src: https://www.renpy.org/doc/html/developer_tools.html
Owner

mmm fun, tools introducing bugs, I'd say leave that as a sort of "last resort" tool to test specific scenes or coreography, not game logic.

mmm fun, tools introducing bugs, I'd say leave that as a sort of "last resort" tool to test specific scenes or coreography, not game logic.
Owner

might tackle this. Anyone got a list of "quality of life" tools they'd like to see?

might tackle this. Anyone got a list of "quality of life" tools they'd like to see?
Owner

killing this due to inactivity

killing this due to inactivity
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Cavemanon/SnootGame#37
No description provided.