Floating Frame Director style in Ren'py?

A place to discuss things that aren't specific to any one creator or game.
Forum rules
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
Message
Author
User avatar
Auro-Cyanide
ssǝʇunoƆ ʇɹ∀
Posts: 3059
Joined: Sun Jul 25, 2010 9:02 am
Completed: http://auro-cyanide.tumblr.com/visualnovels
Projects: Athena
Organization: Cyanide Tea
Tumblr: auro-cyanide
Deviantart: Auro-Cyanide
Location: Melbourne, Australia
Contact:

Floating Frame Director style in Ren'py?

#1 Post by Auro-Cyanide »

I want to attempt a FFD style for my VN because I am more inclined towards art and I wanted to create more balance between the visual and written story telling. Thing is... I can't program and I don't want to create something that is too difficult or can't be programmed.

This is what I want to attempt to do:
Image

Since I have no idea what I am doing, I thought I would ask some people who may. What I would like to know specifically is:

1. Is it possible?
2. Is it too hard?
3. Is this going to take up too much space?
4. Would it be better to create separate pages for each change or have each change separate and apply it to the page (as demonstrated in image)?
5. If it is better to have separate elements, will that be difficult to program?

Feel free to put in your two cents worth on what you think would work better or what would be easier. I don't know what I am doing so the more information the better :D

User avatar
DaFool
Lemma-Class Veteran
Posts: 4171
Joined: Tue Aug 01, 2006 12:39 pm
Contact:

Re: Floating Frame Director style in Ren'py?

#2 Post by DaFool »

Last time I talked to Scout (regarding a collaboration which sadly didn't take off) she mentioned considering making FFD implementation on her own. You might want to talk to her about it.

The way I'd go about it, since I'm a lazy bastard,would be to simulate the effect using plain NVL and indenting the hell out of paragraphs. Then time the next speech bubble sprite to appear under the text when there's a change in indentation. NVL, after all, goes from top to bottom, and most speech bubble styles also read from top to bottom.

User avatar
PyTom
Ren'Py Creator
Posts: 16096
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: Floating Frame Director style in Ren'py?

#3 Post by PyTom »

This is one of those things that would take me a couple of full days of work to pull off. I'd do it if someone was willing to put together a set of speech bubble sprites, and perhaps some sample images. My gut feeling is that the right approach for this is to show the various panels using the regular screen/show/hide statements, so displaying the text bubbles is what the ffd-like mode would take care 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
Auro-Cyanide
ssǝʇunoƆ ʇɹ∀
Posts: 3059
Joined: Sun Jul 25, 2010 9:02 am
Completed: http://auro-cyanide.tumblr.com/visualnovels
Projects: Athena
Organization: Cyanide Tea
Tumblr: auro-cyanide
Deviantart: Auro-Cyanide
Location: Melbourne, Australia
Contact:

Re: Floating Frame Director style in Ren'py?

#4 Post by Auro-Cyanide »

My first instinct was to have each page cover the changes so it would be a [show image] thing, but I suspect that would take up a massive amount of space. And that is just me being lazy.
I gather that to have the panels be separate I would have to designate co-ordinates for placement, correct? (I think that is right anyway, I've only watched the demo D:)

At this point I am mostly concerned a) if it is actually possible b) how I would need to arrange things and to what extent I can do it so that I can create the art itself. The script I am doing won't take long since I am keeping it short and concise, but the art will take longer. I want to get that prepared before I try tackling programming (or finding someone to tackle it for me).

I might have to have a chat with Scout if she has time. Also probably Chensterrain, I know she did something similar at the beginning of Lucky Rabbit Reflex.

User avatar
PyTom
Ren'Py Creator
Posts: 16096
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: Floating Frame Director style in Ren'py?

#5 Post by PyTom »

I'm kind of thinking the right way to do this would be to (somehow) assign a unique ID to each panel, and then have a system that lets the maker drag the frames around to position them. I think typing coordinates would be too annoying for this sort of system, since the placements aren't going to be easy ones like left, right, and center.
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

Counter Arts
Miko-Class Veteran
Posts: 649
Joined: Fri Dec 16, 2005 5:21 pm
Completed: Fading Hearts, Infinite Game Works
Projects: Don't Save the World
Organization: Sakura River
Location: Canada
Contact:

Re: Floating Frame Director style in Ren'py?

#6 Post by Counter Arts »

It's definitely possible. You'll just have to know the ATL language. In-script ATL is something you'll have to learn... not too hard for you to do yourself. Also you'll probably be abusing the reload shortcut key CTRL-R.
Fading Hearts is RELEASED
http://www.sakurariver.ca

User avatar
chensterrain
Veteran
Posts: 225
Joined: Sun Oct 26, 2008 2:01 am
Completed: Lucky Rabbit Reflex!, Dusk ~A Moonlight Romance~
Projects: Edge of Elsewhere
Organization: Super63
Tumblr: supersixthree
Deviantart: chensterrain
Location: London, UK
Contact:

Re: Floating Frame Director style in Ren'py?

#7 Post by chensterrain »

Auro-Cyanide wrote:I might have to have a chat with Scout if she has time. Also probably Chensterrain, I know she did something similar at the beginning of Lucky Rabbit Reflex.
Heh, the comic panels in LRR were literally just fullscreen PNG files, unfortunately - nothing that would be viable for a full game (a couple of screens took about thirty different images! D:). A proper FFD system for Ren'Py would be fantastic though, I've been wondering if that sort of thing was possible for a while.

User avatar
Auro-Cyanide
ssǝʇunoƆ ʇɹ∀
Posts: 3059
Joined: Sun Jul 25, 2010 9:02 am
Completed: http://auro-cyanide.tumblr.com/visualnovels
Projects: Athena
Organization: Cyanide Tea
Tumblr: auro-cyanide
Deviantart: Auro-Cyanide
Location: Melbourne, Australia
Contact:

Re: Floating Frame Director style in Ren'py?

#8 Post by Auro-Cyanide »

chensterrain wrote:
Auro-Cyanide wrote:I might have to have a chat with Scout if she has time. Also probably Chensterrain, I know she did something similar at the beginning of Lucky Rabbit Reflex.
Heh, the comic panels in LRR were literally just fullscreen PNG files, unfortunately - nothing that would be viable for a full game (a couple of screens took about thirty different images! D:). A proper FFD system for Ren'Py would be fantastic though, I've been wondering if that sort of thing was possible for a while.
But it looked sooooooo pretty~ Thanks for telling me though. That is how I thought to do it as well since I wouldn't much idea to do it otherwise. I think the speech bubbles may cause the greatest problems. I would love to have that much control over the typography, but maybe a traditional text box would be functional. That being said, maybe if it is correctly planned, you could just treat each panel as if it were a sprite. To simplify matters I was planning on having conversations set out much like normal sprites, so attaching speech bubbles would have to be planned out much like changing emotions.

I think it is possible, but I'm not sure what it is going to do to file size. I might have to just do a test for the opening and see what happens before I work on the rest. It is a very short game, I wouldn't dream of doing something longer with FFD to start with. The opening is just over 1000 words so I think the entire thing might be around... 7000-8000.

User avatar
LateWhiteRabbit
Eileen-Class Veteran
Posts: 1867
Joined: Sat Jan 19, 2008 2:47 pm
Projects: The Space Between
Contact:

Re: Floating Frame Director style in Ren'py?

#9 Post by LateWhiteRabbit »

I wanted to chime in my support for this feature in Ren'py, since PyTom was asking.

Having a drag and drop style of interface creation would be a huge boon for doing this, since I plan on having the same style pop-ups and cut-in panels in my game. Having to use screen coordinates is indeed cumbersome. Something that let the creator graphically drag a panel to where they wanted it and have the coordinate code auto-generate would be a massive time saver.

User avatar
Auro-Cyanide
ssǝʇunoƆ ʇɹ∀
Posts: 3059
Joined: Sun Jul 25, 2010 9:02 am
Completed: http://auro-cyanide.tumblr.com/visualnovels
Projects: Athena
Organization: Cyanide Tea
Tumblr: auro-cyanide
Deviantart: Auro-Cyanide
Location: Melbourne, Australia
Contact:

Re: Floating Frame Director style in Ren'py?

#10 Post by Auro-Cyanide »

LateWhiteRabbit wrote:I wanted to chime in my support for this feature in Ren'py, since PyTom was asking.

Having a drag and drop style of interface creation would be a huge boon for doing this, since I plan on having the same style pop-ups and cut-in panels in my game. Having to use screen coordinates is indeed cumbersome. Something that let the creator graphically drag a panel to where they wanted it and have the coordinate code auto-generate would be a massive time saver.
So yes!

I don't want to appear ungrateful or anything, since I am very happy that ren'py actually gives people like me an opportunity to make games when we can barely code our way out of a forum, but any type of drag and drop feature would be absolutely amazing. No pressure of course, I'm happy doing what I need to do ^^

User avatar
PyTom
Ren'Py Creator
Posts: 16096
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: Floating Frame Director style in Ren'py?

#11 Post by PyTom »

Again, the prerequisite for me to code this is for someone to step up and make some art for me to play with. I'd then add drag-and-drop FFD to the list of things to do for Ren'Py - probably in the current development cycle, although maybe the next one, depending on how I want to handle the current list of bug fixes.
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
LateWhiteRabbit
Eileen-Class Veteran
Posts: 1867
Joined: Sat Jan 19, 2008 2:47 pm
Projects: The Space Between
Contact:

Re: Floating Frame Director style in Ren'py?

#12 Post by LateWhiteRabbit »

Yeah, a drag and drop system would be very useful for all kinds of on-screen graphics and applications. Sprites, buttons, menus, etc. I'd still want the code option available for dynamically placing images, but to have something that could tell me what the coordinates should be would be incredible. I'm not sure how much work that would be to add, and I'm like Auro-Cyanide - PyTom already does so much for free I hate to put him out.

It's just you get so used to Ren'Py doing everything that it a little shocking when you run into something it doesn't do!

What art would you need PyTom, speech bubbles and panels?

User avatar
Auro-Cyanide
ssǝʇunoƆ ʇɹ∀
Posts: 3059
Joined: Sun Jul 25, 2010 9:02 am
Completed: http://auro-cyanide.tumblr.com/visualnovels
Projects: Athena
Organization: Cyanide Tea
Tumblr: auro-cyanide
Deviantart: Auro-Cyanide
Location: Melbourne, Australia
Contact:

Re: Floating Frame Director style in Ren'py?

#13 Post by Auro-Cyanide »

Yes, there is also that. Being able to just know the co-ordinates would probably help.

You can have the panels and that I produce if someone doesn't get in before me.

User avatar
Sexo Grammaticus
Regular
Posts: 69
Joined: Thu Jun 09, 2011 1:54 am
Projects: human instrumentality and vocals section
Location: butts
Contact:

Re: Floating Frame Director style in Ren'py?

#14 Post by Sexo Grammaticus »

Just throwing my voice behind this idea. It'd be a wonderful extension of Ren'py's storytelling capabilities.
i have no signature and i must obscure game reference

0ion9
Regular
Posts: 79
Joined: Thu Jun 16, 2011 9:17 am
Contact:

Re: Floating Frame Director style in Ren'py?

#15 Post by 0ion9 »

Hi, (yes, I'm new.)
For the time being, are you aware that you can do something like this in GIMP to find out coordinates?:

1. Drop the graphic elements onto a Screen-sized canvas and position them as you want.
2. Bring up the PyGIMP console (Filters->Python->Console) [This does require that you enabled PyGIMP during install, if you're running Windows. On Linux it's available by default]
3. Paste this in:

Code: Select all

def offsets():
    for i in l:
        print ('# %s' % i.name);
        print ("\t" + (",\n\t".join(["(%3d, %3d), %20r" % (v.offsets[0], v.offsets[1], v.name) for v in i.layers])))
        print ('')

o = offsets()
You can then
4. Get a printout of the current positions of every layer just by typing

Code: Select all

o()
in the console ['o' is just a shorter alias for 'offsets', of course]
offsets() actually gives a tabular printout of the positions of every layer in every image.

(I like this solution particularly because GIMP includes A. the ability to easily nudge layers by small (Arrow keys) or larger (Shift+Arrow keys) amounts,
and B. the Align tool for positioning layers relative to each other)

I'd like to hack up a GIMP plugin for this later, actually. A quick hack will do for now ;)
Hope someone gets some use out of it :)

EDIT:
Here's a relative-positioning version.. well, just replace that one line:

Code: Select all

        print ("\t" + (",\n\t".join(["(%1.3f, %1.3f), %20r" % (float(v.offsets[0]) / i.width, v.offsets[1] / i.height, v.name) for v in i.layers])))
and also a version which assumes the anchoring is central rather than top right.

Code: Select all

        print ("\t" + (",\n\t".join(["(%3d, %3d), %20r" % (v.offsets[0] + (v.width / 2), v.offsets[1] + (v.width / 2), v.name) for v in i.layers])))
That one is probably the most useful. I'm still learning about the practicalities of using RenPy, although the system itself is perfectly straightforward :)

Post Reply

Who is online

Users browsing this forum: No registered users