I think the visual editor was a way of extending the ability to edit to people who aren't any good at traditional programming or scripting. Doing this makes sense if you think you're going to have a community with lots of people willing to contribute, have the free time to contribute, and who aren't skilled with traditional programming--all us no-talent, porn obsessed losers, I guess. It is an awful lot of work to maintain, I imagine, and adds a lot of baggage to the XML files for events. I think the real problem, though, is that they're ending up developing what is basically an internal development tool and expecting external users to be able to use it; there's little in the way of documentation, look and feel options, control options, and the kind of stuff you'd expect from what is trying to be a development environment for literally one game. I mean, what is an "event struct template" and what would I use it to do? Why is there a section for "dev tools" that requires a secret code to use, when all these other development tools are exposed?
I'm a very old-school amateur programmer, and even I know that documentation is something everyone needs and nobody wants to do. It's a little schizophrenic to go out of the way to make an accessible way to change the game, and then expect people to learn it entirely by trial and error, copying examples, and asking specific questions. Then again, I imagine nobody wants to spend hours of their life fully documenting a hobby project. Ultimately, that is what it ends up feeling like: someone's hobby project.
Yes, I also think the VEE is for the benefit general modders. However, there's 2 things that hamper it. The 1st is as you say, docs. In visual programming, clear docs are imperative, more so than traditional programming. Each building blocks are black boxes that do complex operations, which are poorly documented. If the target audience are modders with no previous programming skills, let alone know what animal "algorithms" is, giving docs in the tooltip is a recipe for disaster. That's for those who know what algorithms are, which BTW even most mid level programmers nowadays who work professionally as programmer are clueless about. That's missing the target audience by 10 thousand miles.
@Regardie: No, the docs are very poor. What I know now about event scripting, 90% of it are from deducing how other event code already shipped with the game works. That's a hit and miss process and I strongly doubt new modders care to do that, especially those without background in scripting. Another 5-7% is from experience with several other programming languages. The only thing I find useful from the docs is the fact that several event in the NativeEvent folder will re-read designated event code afresh from the disk, hence recompiling new event codes as necessary, every midnight.
2nd is the fact that the code/graph gets messy very fast. Yes using variable references help, but at what cost. The docs even says adding comments/docs in the code WILL hamper performance. IDK what other language out there, game scripting or traditional, that do this. Imagine what adding variables, references or not, will do to performance. The way I see the engine work, each variables you add will have to be loaded/initialized and linked from the engine space to the script space (each event code have their own workspace), not to mention the linking between script spaces, EVERYTIME an event is run. This is the nature of having a script extensible engine. Having a visually scripted code, it multiplies the problem by at least 10 fold.
3rd (I know I said 2 ;P), there are basic idioms of programming which are not implemented, i.e. for loop, do while. Yes it can be implemented by the modder, that's assuming the modder knows about the idiom, but it is VERY EXPENSIVE in term of performance. I imagine that each block in the VEE are implemented by the engine native language, run in engine space (if not, well, I'd really like to meet the one who design it). Loops are already a necessary evil in traditional performance programming (which all games are part of), but doing it in the constrained script space, wow.
About the password protected "Dev Tools", I second you, what's up with that.
Event Struct Template, I know I read it before, can you pinpoint where you read about / encounter it?