I'm just recovering from exams so I can't really work out the weird problems of UERCode just yet.
I thought the same thing that you did, that the ONscripter/Nscripter language was the output of some tool. IIRC, someone on one of the translation forums, or perhaps here, corrected me on this, mentioning that they really do expect people to program in Nscripter directly.
Yep, I could see that. But I kinda think that AugestSoft did something like that anyways. Either that or they have amazing template to make games with which I can understand.
In retrospect, the Nscripter language is probably closer to ad-hoc languages like CNC then it is to proper assembly languages. You have a large number of variables, so you won't need to do anything like register assignments, and in general your concepts map 1-to-1 (or at least 1-to-a-few) onto Nscripter commands.
Yep... I won't have to do the complex REAL compling. That's what I would like since I don't like to read through the entire script twice unless I had too.
I hope you've looked at Ren'Py, which implements a high-level approach to writing VNs, at least for the actual story-writing part of it. You may be able to get some good ideas.
One thing I found worked is that you want to minimize the number of statements that are found in the language, and to try to avoid conflating things if possible.
I hope you've looked at Ren'Py, which implements a high-level approach to writing VNs, at least for the actual story-writing part of it. You may be able to get some good ideas.
There are somethings I can't implement very easily and withminimum pain that are in Ren'py. Your Menu sets and animations I can't do easily without some work beyond my as-close-as-possible 1-to-1 mapping or really easy implementation.
One thing I found worked is that you want to minimize the number of statements that are found in the language, and to try to avoid conflating things if possible.
Since I'm not planning on doing a lot of hard work on this just yet, I don't plan on making this language much bigger at all except for some choice statement (which somehow slipped my mind). I am the only member in Sakura Maple so far. Guess who just joined IntRenAiMo.
In your demo script, you have two kinds of image statements, background and show. It's not clear to me that this is a good idea. What if, for example, you want to show a two-layer background, like the inside and outside of a house.
I guess I'm being Paintshop/high disk space biased then. I thought of it too. I thought "If they are going to be doing stuff like that, they are going to learn ONScripter. Otherwise I can't see why can't they just make the different variations on seperate images."
I should have picked a better keyword than "show". But I can't think of anything better. This will only map directly to ld usages.
Likewise, you allow stats on character objects. What if I have a stat that spans two characters? If you allow for global variables, why bother having stats on characters at all?
I can map character stats to arrays easy (if ONScripter works like I think it does). I'm guessing that if some one is going to use this language for a stats-based game is probably going to be using simple arithmetic math.
Stuff like love stats being altered from a simple choice like how they probably do it in the Hourglass of Summer or Sakura Wars.
However, if they really want to get more advanced then they can look at the generated script and figure out how it works and modifiy it from there.
I really want to just make this so that non-programmers can use this really fast. Espically the artistic ones who are clumsy with computers that scare easily. (Oh no! It's Qbasic! Run!)
Also, I can kinda see the use of this for great programmers too. It provides a simple and somewhat fast way of just getting a game prototype done. Limitations could spur inspirations as well. I'll think I'll put a feature where you can just insert ONScripter code too.
EDIT: Oh, in case I didn't mention it I'll probably do this in C++.