I was doing good, until I got down on a topic that I afraid the most: scripting language and event language for zone editor. I was predicted that this would probably be the hardest part of working with the new zone editor, because in this case I need to create a small programming language. I mean the better version of what I have currently:
This is an event that executes when you enter the zone where you fight Lanius. You also revisit it later, under different circumstances, which makes this event a little complicated. It serves its purpose well, but it's really bad, and I don't think someone would have a good time when working with this syntax, not to mention that it can sometimes crash the zone editor if it has syntax errors. But where it shines is Greywater offices, where I fit a large number of events for this small location. As a result, this part of the game is uniquely non-linear.
But with a better event language I (and another user) could do much more with relative easy. My current objectives are:
- Implementation of shunting yard algorithm, that will allow the use of expressions and comparison operations instead of conditional functions
- 'if'('else') improvements: currently I can't add one conditional operaton inside another
- goto improvements: to change the event stream I need to call a function that jumps the stream to certain action based on it's position order, which is not very convenient
- 'replace' macro, which allows replacing a string with a certain piece of code. This is already implemented in my scripting language
- Loading multiple files in scripting language
Obviously, this is a minor part of my objectives. Following that I will need to rewrite the loading of campaigns in the game itself, fortunately I made a base for this before the release of the game. I hope this will be useful