I heard you.
Anyone got experience with
FRED? (FreeSpace mission editor)
I could use feedback on the pro/con of it (not so much the tool but the language behind).
I'll throw some of my brainstorming here, feel free to participate.
Scripting language:
ATM, the 2 top contenders are LUA and JS (javascript).
LUA because it's very simple, compact and easy to embed. And it's widely used for games.
JS because it's widely used and tons of libraries are available.
Active Scripting would have been the obvious choice 10 years ago, but MS deprecated it and now promotes .Net. But there is no straightforward 'scripting' with .Net. It's mostly about on-fly compilation or mix stuff like
DLR. But this requires opening Allegiance to .Net and we must be careful here. We don't really want to tie even more Allegiance to MS technologies (I know I don't). So we must stay within '
Mono' compatibility. Something like
CS-Script is considered too.
File structures:
I'm still thinking about having 2 or 1 file format. Something like XML+Script combo or MDL+Script combo.
MDL is considered because it's part of Allegiance already and widely used in it. But it's old and tricky to use. and I do HATE it a lot ...
Or 1 file format, script, with a way to efficiently embed 'datas' in it. how many files for a mission is still too early to tell (I really must think beyond just training missions).
Where to plug the scripting engine:
I'm still 'dissecting' Allegiance code to see where I can cut and plug the scripting engine. There are many ways and where this can be done.
There is a big issue with 'completeness' because a lot of the code that handle the game logic is server side only. That's why the old 7th training mission (explore tech) required to install locally the standalone server. That's what I'm full focused on atm.
This last part is key and will determine what can be scripted and what can not and also how to script it. it will eventually determine which scripting 'code' fits best so I'll postpone any language decision until i'm 100% clear on where and how to plug the scripting engine.
I will probably just start within the training mission code like initially planned and go from there. Having a smaller thing that actually works is way better than big theories on paper.
I think I need a whole month of brainstorming before doing any coding so stay tuned. I'll keep monitoring this topic meanwhile.