Re: Ren'Py 6.12.1+ Planning Thread
Posted: Mon Feb 14, 2011 12:52 am
I'd be on board for it, as long as the old system is still left in place as is.
Supporting creators of visual novels and story-based games since 2003.
https://lemmasoft.renai.us/forums/
Is there any easy way to make the shift-U updates available as context diffs as well? (As that makes it much easier for me to merge a Ren'Py update with my internal customizations.)PyTom wrote:From a game-maker's perspective, the big benefit is I'll hopefully become more responsive to feature requests. The hope is that I'll be able to make pre-releases to a shift+U update, and you'll be able to start using the new features immediately. You'll also be able to expect that prerelease to become a final release within a month or two. This means that Ren'Py updates can benefit games on a timely basis, even for short-to-moderate length games.
Treating 'eileen happy bikini' and 'eileen bikini happy' as the same image is probably a good thing, but automagically resolving incomplete attribute lists will break games in unexpected ways - if you add 'image eileen spacesuit mad = "esm.png"' near the end of development, all of a sudden 'show eileen mad' *might* make her put on a spacesuit on the beach - or, worse, if the attribute resolver relies on helpful hints like what image tags were shown before, result in one path to the same scene leading to her wearing a spacesuit on the beach while the one the developer tests most often doesn't.PyTom wrote: Image Attributes. Right now, the code:
Will give an error. But should that really be the case? It seems like it might make sense to treat everything after the image tag as an "attribute", and then to try to find an image that matches the set of attributes we have defined.Code: Select all
image eileen happy bikini = "ehb.png" image eileen mad bikini = "emb.png" show eileen bikini happy
In that case, it may not even be necessary to specify all the attributes when updating an image. If after the code example above, we wrote:It probably makes sense to show the eileen bikini mad image. There are some details as to how this would work with things like image prediction and backwards compatibility, but those are (probably) resolvable.Code: Select all
show eileen mad
Eek! The software renderer is a major feature for me - there seem to be a fair number of systems out there where the 3D drivers are subtly broken, and I couldn't find any pure open source drivers that supported hardware acceleration on nVidia or ATI cards the last time I looked.PyTom wrote:Once few-to-no people use the software renderer, I'd like to eliminate it entirely, and begin taking advantage of OpenGL/DirectX accelerated rendering. Also, not having to deal with the software renderer, and the bugs in it and its scaling mechanism would make my life easier.
Hmm. This does seem interesting. Possibly a little too magical, but rather tempting. And it would bring the good bits of automagic image resolution in without the ambiguity.Juxtaposition wrote:I don't know if this would be possible to do, but what if Renpy offered support for implicit show statements? As it stands now, you have to write a show statement every time a character changes expression. There are things one can do to speed up or automate the process, but it's still a lot of work, especially if your VN happens to be very long.
Code: Select all
label beach_scene:
$ e.image = 'eileen'
$ e.tags = 'bikini'
# Equivalent to 'show eileen bikini happy'
e(happy) "Ah, there's nothing like a warm ocean breeze."
# Equivalent to 'show eileen bikini sand annoyed'
$ e.tags = ('bikini','sand')
e(annoyed) "It would be better if Weather Control hadn't set it to 'sandstorm', though."
You can set a default transition in an image's on show event up in the init block. (Though, IIRC, it will then ALWAYS use that image's on show event when the image is shown.) I think ATL properties other than events inherit, soSamu-kun wrote: -A "set default transition for all character sprites" function. Do I really have to write "with dissolve" at the end of all 90000 character show commands in my game?
-An ATL command that combines xpos with xanchor 0.5. In 99% of the cases, xanchor is always going to be 0.5 anyways, so it's a waste of time to have to set xanchor to 0.5 whenever you want to use xpos. e.g. xshow 0.3 automatically sets xpos 0.3 and xanchor 0.5.
Code: Select all
image ornithopter:
'images/ornithopher.png'
xanchor .5
yanchor .5
show image ornithopter:
xpos 400
ypos 310
Code: Select all
show virginia normal at discenter
# some stuff
hide virginia:
linear .5 alpha 0.0
Uh, are you talking about linux only, or even PC ? Afaik if you have both DX/GL, you have covered everything - even those crappy netbooks with horrible Intel videocards!Spiky Caterpillar wrote: Eek! The software renderer is a major feature for me - there seem to be a fair number of systems out there where the 3D drivers are subtly broken, and I couldn't find any pure open source drivers that supported hardware acceleration on nVidia or ATI cards the last time I looked.
Assuming I'm reading it right, in the context of the example PyTom gave, Ren'Py would end up changing from "eileen happy bikini" to "eileen mad bikini", a change of one tag/attribute. A change from "eileen happy bikini" to "eileen mad spacesuit" would be a change of two tags/attributes. I'm pretty sure there is the chance for ambiguity under certain conditions, but that wouldn't be one of them.Spiky Caterpillar wrote:Treating 'eileen happy bikini' and 'eileen bikini happy' as the same image is probably a good thing, but automagically resolving incomplete attribute lists will break games in unexpected ways - if you add 'image eileen spacesuit mad = "esm.png"' near the end of development, all of a sudden 'show eileen mad' *might* make her put on a spacesuit on the beach - or, worse, if the attribute resolver relies on helpful hints like what image tags were shown before, result in one path to the same scene leading to her wearing a spacesuit on the beach while the one the developer tests most often doesn't.PyTom wrote: Image Attributes. Right now, the code:
Will give an error. But should that really be the case? It seems like it might make sense to treat everything after the image tag as an "attribute", and then to try to find an image that matches the set of attributes we have defined.Code: Select all
image eileen happy bikini = "ehb.png" image eileen mad bikini = "emb.png" show eileen bikini happy
In that case, it may not even be necessary to specify all the attributes when updating an image. If after the code example above, we wrote:It probably makes sense to show the eileen bikini mad image. There are some details as to how this would work with things like image prediction and backwards compatibility, but those are (probably) resolvable.Code: Select all
show eileen mad
The key is to have Frameworks, or sets of scripts that provide additional implementation depending on the genre of game.Friendbot2000 wrote:Although I am new to RenPy, I am no stranger to Python and coding. I have one suggestion and a few comments.
I would really like to see RenPy diverge from the visual novel niche and move into other styles of gameplay. Granted if you are inventive enough you can achieve a lot with the current system, but it could be made easier to deal when a creator wants to integrate a complex combat system like that of Fire Emblem (a system I am trying to develop in RenPy) into their visual novel. My current struggle is trying to model it after some of the newer Fire Emblem games (hi-res 3-d images, complex animations, destructible terrain, etc ). I am making headway, but it certainly has been a headache.
In closing, I do have a comment for you all. I think it was mentioned earlier in the thread that someone had a fear that RenPy would evolve into a "drag and drop from the menu" kind of game engine. I find that really disconcerting and I in no way wish to see that happen. I think PyTom has done an incredible thing with RenPy and in my opinion it would ruin the engine if he took out coding from Game Programming. Game designers shouldn't be afraid to code. Python and RenPy are some of the easiest languages to learn and get the hang of and if you take out the programming experience from making a game, I don't think you will reap all the benefits from the experience. Just a warning from a crotchety old programmer. Now get off my lawn.
Wouldn't that be "modules" for python.jack_norton wrote:I would see more benefit in essential libraries or "routines" (lol that's an old word).