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.
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?
- Posts: 353
- Joined: Thu May 01, 2008 1:12 pm
- Projects: Winter, winter
- Location: Estonia
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..
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).
- Posts: 129
- Joined: Thu Apr 19, 2007 12:07 am
- Location: Michigan, United States, Terra
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 )
- Ren'Py Creator
- Posts: 15167
- 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
(When was the last time you backed up your game?)
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom
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)
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.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.
...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.
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?PyTom wrote: ↑Wed May 07, 2008 10:54 amHm... 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.
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
I'm writing a Renpy textbook (in Russian). I would be glad if someone translated into an English or German textbook https://yadi.sk/d/ZX_DonP63USRru Update 22.06.18