deltaengineering asked: What do you think is the most important aspect of a visual novel engine?
Aside from the obvious technical aspects (platforms, performance, neat effects), I think it’s important to have a degree of UX in its usage from a developer, mainly writer, standpoint.
This goes deeper than ‘simply’ having an easy-to-write scripting format for pure dialogue: I also feel that the engine shouldn’t surprise you in a more complex way, and that as an engine developer you have to actively work (with regular testing) to improve that.
From a coder perspective, you should have APIs that make it immediately obvious what’s going on, and only do what they seem to do; you want to have layered APIs that allow you to dive into the engine internals deeper for each layer at leisure; you want to be backwards-compatible to a degree, but not to the degree you have years of legacy cruft that maybe should have never been designed in your engine code and API.
From a writer perspective, aside from an easy scripting format for simple things, you don’t want the engine yelling at you for a detail that you as a writer shouldn’t even care about like mixing tabs with spaces, or something similar. You don’t want to have to deal with things like load order or function or variable scopes as a writer: you want to just open something in your text editor, write away, and have it work. This would ideally be analogues to the “highest” level of the engine-given APIs: very simple commands that literally a monkey could use without running into troubles.
I feel like this is something where existing engines might fall short, and hell, maybe rave will too, but damned if I don’t try to make it as good as I can in that aspect.