Which resolution to use/using multiple resolutions

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.
Post Reply
Message
Author
Guest

Which resolution to use/using multiple resolutions

#1 Post by Guest »

Hi!

I currently make a game with renpy. All graphics so far are svg and are being converted to png with a little script before running the game.

I used the resolution of 1440x900, wich was already a compromise to my laptop (my desktop is 1920x1200/laptop is 1440x900). But then I wanted to test the game under WinXP and my old Winows-box has only a resolution of 1280x1024. Beside being smaller this is also another aspect-ratio. So I have the following questions:

- Is there a way of having svg-graphics directly in renpy? - Last time I tried to specifiy a svg filename instead of png it didn't work.
- Is there a way of having all graphics in another directory than game, that could be changed? (one directory for each supported resolution)
- Is there an automated way of having black bars added when the aspect ratio is 4:3 (some kind of hook when displaying images or so)?
- What are you other nv developers doing with this problem?


Grettings,
Thomas

luminarious
Veteran
Posts: 353
Joined: Thu May 01, 2008 1:12 pm
Projects: Winter, winter
Location: Estonia
Contact:

Re: Which resolution to use/using multiple resolutions

#2 Post by luminarious »

As I play VNs in Windowed mode, I am making my own mainly with that in mind. 720*480 is the resolution I chose. At that size the art is OK, text is legible and lines aren't too long for reading. I could of course go a bit larger, if necessary. For example, would it be legible on your FullHD screen? (I have 1280*1024 screen myself)

Black bars depend on video card drivers. On my laptop, if I play a 800*600 game full-screened, it shows black borders all around the game (it shows the game in it's native res, while screen is 1024*768).

P.S. I think it was a VN called Felix - Gaijin or something similar that used HD graphics that were downscaled with a script if smaller-resolution screen was used, search the forums for that..

Guest

Re: Which resolution to use/using multiple resolutions

#3 Post by Guest »

Thanks!

Here is the link to the article mentioned above automatic scaling in renpy for others.

This has one drawback though: You need to have PNGs (or any other bitmap-format) for the images in the highest resolution, which consumes space. A lot, if you use really hight resolutions. And high resolutions you need to use, because even the bilinear scaling shows anti aliasing artifacts, if the original resolution is around the same size (but not equal) as the original. Another factor of course is the aspect ratio.

A question to PyTom (hoping he reads this): you once (Aug 2004 to be specific) said something about svg support in renpy. Is there some progress there, or did you drop that idea? - I ask because my whole problem would instantaneously be solved, if instead of doing an im.Scale(..., resx, resy) for each image, an im.FromSVG(..., resx,resy) would be possible.

This would also shrink my distribution's size by about a half (or maybe even more).

Greetings,
Thomas

Twar3Draconis
Regular
Posts: 129
Joined: Thu Apr 19, 2007 12:07 am
Location: Michigan, United States, Terra
Contact:

Re: Which resolution to use/using multiple resolutions

#4 Post by Twar3Draconis »

You could enable imouto mode, which has automatic scaling.
Image

Poldy
Newbie
Posts: 2
Joined: Wed May 07, 2008 4:51 am
Contact:

Re: Which resolution to use/using multiple resolutions

#5 Post by Poldy »

I would also be interested in seeing SVG support in Ren'Py.

PyTom has probably not implemented this feature due to the lack of SVG support in PyGame. But it is possible to add SVG support via the Cairo library. Cairo runs afaik on linux, windows and osx, that covers most systems. I consider doing it myself, but I lack the Ren'Py experiences.

What is the demand for SVG support? Who would have use for it beside the topic starter and me? (I need motivation here :wink: )

-Poldy

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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: Which resolution to use/using multiple resolutions

#6 Post by PyTom »

Hm... for SVG to be supported in Ren'Py, there would need to be a way of creating a pygame surface from an SVG file. If I had code that did that, I'd consider adding it... although on my system, librsvg and libcairo take up >600k, and that's without me looking for any dependencies. I'm not sure I want to bloat the Ren'Py distribution by another 600k per platform, and the size of distributed games by 600k per game.
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

Poldy
Newbie
Posts: 2
Joined: Wed May 07, 2008 4:51 am
Contact:

Re: Which resolution to use/using multiple resolutions

#7 Post by Poldy »

As I see it some projects will benefit from it, in size and quality. There the 600K, or let it be even 2MB, won't make that much difference compared to the space saved by using svg instead of a bitmap format. Other projects will see the additional space as wasted. It might even create new problems for them, caused by functions they don't use.

I myself would find svg a practical and time saving addition to Ren'Py. So is there a way to make this somehow optional, like a plugin or so? It seems you already took a look at that matter, how much effort do you think would it be to implement that?

What I have researched so far: rsvg uses cairo (at leas it depends on it), so one should use cairo instead. There is a pygame svg loader floating around, it is quite small itself (not counting pycairo and cairo here)


- Poldy

Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: Which resolution to use/using multiple resolutions

#8 Post by Jake »

Poldy wrote:As I see it some projects will benefit from it, in size and quality. There the 600K, or let it be even 2MB, won't make that much difference compared to the space saved by using svg instead of a bitmap format. Other projects will see the additional space as wasted. It might even create new problems for them, caused by functions they don't use.
To be perfectly honest, speaking from the point of view of someone with reasonable experience of both vector and raster illustration, I really only see vector stuff as desirable for buttons, titles, frames and other UI/HCI stuff where the sharp clarity is a boon; on the whole, I can't really think of many places in an VN where a vector is likely to look better than a raster image, but I can think of plenty where the vector is going to look worse. Vector graphics tending to look less organic than raster graphics notwithstanding.

...look worse, or involve orders of magnitude more work on both the part of the artist and also the renderer to get looking the same. It's possible to create something in vectors which looks as good as a nice high-res hand-painted/rendered raster image, but it's so much more effort I can't see anyone seriously doing it unless they were constrained to only use vectors for some reason. And it'll take a lot more CPU power to render it.

My suspicion, basically, is that the times where the space saving is significant are few and far between.
Server error: user 'Jake' not found

User avatar
Andredron
Miko-Class Veteran
Posts: 714
Joined: Thu Dec 28, 2017 2:37 pm
Location: Russia
Contact:

Re: Which resolution to use/using multiple resolutions

#9 Post by Andredron »

PyTom wrote: Wed May 07, 2008 10:54 am Hm... for SVG to be supported in Ren'Py, there would need to be a way of creating a pygame surface from an SVG file. If I had code that did that, I'd consider adding it... although on my system, librsvg and libcairo take up >600k, and that's without me looking for any dependencies. I'm not sure I want to bloat the Ren'Py distribution by another 600k per platform, and the size of distributed games by 600k per game.
Hello Mr. Python, I understand that you wrote this long ago - that the renpy does not need support for the format of the svg image, but is there any hope that the Renaissance will support this format? even through separate plug-ins?

The format of the svg file is free, and it does not belong to anyone. That does not break free of charge ripping .... (If it's better to abandon bmp, it's morally obsolete if it's a matter of increasing the size of the project)

I hope that you will be able to pay attention to this issue, and weigh the pros and cons of this issue

you do not accidentally talk about this library? write that they say python 2.7 supports

https://github.com/deeplook/svglib

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Google [Bot]