Quote:
Originally Posted by Jan-Poo
I thought Ren'py was easier to use than onscripter, but I'm beginning to wonder if that only applies for the basic stuff and not the more advanced.
|
The basic engine is very easy, and you can easily define and utilize backgrounds and portraits and call up text without touching any inits at all. Python effects are not easy. Things like animation require Python scripting to some extent.
For example, I'm using NVL Mode and Witch Hunt's font choice to make the delivery of text look as close to Umineko as possible (fade screen, display text on full screen). To do that, you need special inits:
Code:
# NVL Mode
config.empty_window = nvl_show_core
style.create("justify_style", "default", u"(text) Justify Style")
style.justify_style.justify = True
That's actually old; I no longer use right-justified text because it was causing display glitches. Before that, I could get the "Umineko effect" from just that one line, which is in the handbook, and an init character that's set to use the NVL mode, which is there as well.
Then they broke it with patches and Oliver had to do some wizardry to fix it:
Code:
config.window_hide_transition = Dissolve(0.35)
config.window_show_transition = Dissolve(0.35)
def window_switch_callback(mode, old_modes):
if mode in ["nvl","nvl_menu"] and old_modes[0] == "with":
nvl_show(config.window_show_transition)
if mode == "with" and old_modes[0] in ["nvl","nvl_menu"]:
nvl_hide(config.window_hide_transition)
config.mode_callbacks.append(window_switch_callback)
That's certainly more complicated, but I don't ever have to actually reference any of that stuff once it's been defined. I can go back to using
window show/window hide without even noticing or caring. The other stuff I found on the wiki or could do through experimentation. I defined most of the transforms myself, which is why in a lot of my screenshots/movies you see characters zoomed in on and whatnot. You can actually do a ton of more advanced transform effects, like physically causing a portrait to move, using very simple defines; Katawa Shoujo uses this a lot, but it's not really appropriate for Umineko so I haven't made much use of it.
That being said, Python is not really
all that hard to learn. While it may look a bit complicated, making Python do what you want is far better-documented and easier to set up than other scripting engines, especially in English. Plus if RenPy teaches you a little bit of Python, that's at least got a bit of potential value outside of Visual Novel architecture. I suppose you could try putting "proficient in Python" on your resume and hoping nobody calls the bluff...
However, it has a pretty coherent and forgiving file architecture and a well-documented wiki/handbook, so I've been able to do most things without needing wacky Python stuff. Oliver just cooked up a few effects (like animation and panoramic screen movement, the latter of which I'm not using) because he's got some adequate knowledge of Python and RenPy. A good many Python-assisted effects are baked into the basic scripting language, meaning you don't have to reach. You just have the
option to reach.