- Jun 10, 2017
- 11,010
- 16,297
[Yeah, I know, I'm grumpy again]
Globally speaking, there's nothing in this thread that can't already be done relatively easily by Ren'Py, even the phone system, if you take the time to read the documentation. And half of what is asked is already possible with less than 5 lines added to the right screen ; when then aren't natively available without changes.
Those errors happen because there's coders who don't care about what the documentation say regarding the way to declare a variable. They'll not care more with this new engine than they are doing with Ren'Py.
Practically, the number of step back is limited by the needed memory to store each one of them.
If yes, you can guaranty that the loops will be completed:
And all values in an ATL code can be variables (if my memory don't betray me, they can also be returned by a callable).
And if you meant video animations, it's also possible with a simple hard pause (it's bad).
Its users.I ask you guys, what Ren'Py features do you wish were better?
Globally speaking, there's nothing in this thread that can't already be done relatively easily by Ren'Py, even the phone system, if you take the time to read the documentation. And half of what is asked is already possible with less than 5 lines added to the right screen ; when then aren't natively available without changes.
• Chat history is always visible right to the beginning of the conversation.
H
key.This already exist in Ren'Py. A bit complex for people with few coding knowledge, but both the gallery functionality and the replay system exist and are really efficient.- Inbuilt gallery functionality. Both for bonus images and replaying scenes.
Three lines in the "choice" screen, and the use of menu attributes.- Inbuilt walkthrough/hint system. Pretty popular request from players, so making it easier for devs to do it themselves would be helpful.
Python:
screen choice(items):
style_prefix "choice"
vbox:
for i in items:
# <---
if store.walkThroughIsOn:
textbutton ( i.caption if not "hint" in i.kwargs else i.caption + " [{color=#0F0}" + i.kwargs["hint"] + "{/color}]" ) action i.action
else:
# --->
textbutton i.caption action i.action
label whatever:
menu:
"do this"( hint="This consequence" ):
[...]
"do that"( hint="That consequence" ):
[...]
It's not "more complex", it's impossible.- Better system of managing save states, so saves don't get broken if a new variable or some other reference is added in the wrong place. This is probably more complex than I'm making it sound, though.
Those errors happen because there's coders who don't care about what the documentation say regarding the way to declare a variable. They'll not care more with this new engine than they are doing with Ren'Py.
You can already rename save pages in Ren'Py ; click on the "page x" in top of the screen. As for naming the save files, it's natively supported. It's just that the default interface do not include the five/six lines needed to enter the name of the save.For the save system itself, [...] Renaming tabs and saves would keep their playthrough organised.
In Ren'Py itself, doing what you want would need three lines and the change of two values.Probably would be a pain in the ass to implement this, but honestly the Renpy save system mostly works fine as is, so would have to be something pretty good to provide a significant improvement.
Python:
screen file_slots(title):
[...]
# <---
viewport:
scrollbar "vertical"
style "whatever you want"
# --->
# Change those values
grid gui.file_slot_cols gui.file_slot_rows:
[...]
Excuse-me, you want to make a game engine better than Ren'Py, and you don't know the most used and praised feature that Ren'Py offer ? The rollback is the possibility to revert the game to its previous state, step by step, technically up to an unlimited number of past interactions. What mean that, technically, you can finish the game, then play it backward and have the exact expected game state corresponding to the moment you now are in the game.I don't know what rollback means ,
Practically, the number of step back is limited by the needed memory to store each one of them.
Ren'Py have QWORD number of save pages that, once the interface tweaked to include a viewport (as shown above) can have QWORD number of save slots. I don't know what he meant by "unlimited", but even with the full default configuration Ren'Py offer billions of save slots to the players.but as long as by "unlimited" you mean hundreds of slots the rest of those features will definitely be implemented.
You mean ATL animation ?the thing I hate the most about renpy is how you can't chain animations while guaranteeing completed loops, and how you can't change any useful variables from inside animation loops.
If yes, you can guaranty that the loops will be completed:
Python:
image myAnim:
"image 1"
pause 0.1
block:
"image 2"
pause 0.1
"image 3"
pause 0.1
repeat 3
block:
"image 4"
pause 0.1
"image 5"
pause 0.1
repeat 2
function endMe
init python:
def endMe( trans, st, at ):
store.animationFinished = True
return None
screen showAnim( animName ):
timer 0.01 repeat True action If( store.animationFinished, [ SetVariable( "animationFinished", False ), Return() ], NullAction() )
add animName
label whatever:
call screen showAnim( myAnim )
And if you meant video animations, it's also possible with a simple hard pause (it's bad).
This should do it:+Being able to decide whether you want to skip through unseen text or not
Python:
# shift + tab to change betwee unseen text to seen only.
screen unseenSkip():
key "shift_K_TAB" action Preference("skip", "toggle")
if store._preferences.skip_unseen:
text "unseen" xalign 1.0 yalign 0.0
init 10 python:
config.overlay_screens.append( "unseenSkip" )