a bo$$
It'll be cool to see once it's finished. And if this can expedite scenario editing then maybe we can make a campaign
To be honest, I don't really see such a program making a campaign more or less viable. The Lua syntax for scenarios is as simple as a scripting language can be (I'm STILL annoyed though, that nobody is willing to implement a way to display output without going through a language file; a scenario I made that used a timer required over
600 lines in the language file just to be able to display a timer without question marks). At any rate, the main things stopping a campaign are that (1) it's difficult to smoothly move from scenario to scenario in a lengthy campaign. (2) MegaGlest has literally no backstory. With all due respect, the MegaPack is just a bunch of totally different factions that people really liked, so decided to bundle together. They weren't made with a story in mind, and it'd be pretty hard to adapt a story involving indians, vikings, ancient egyptians, a bunch of death worshiping wizards, persians with flying carpets, and a steampunk medieval faction. (3) There's little ability for scenarios to particularly focus on specific units ("heros"). There's no way to reassign different models, stats, or names to a unit; there's no way to add new units into a techtree solely for a scenario; maps are limited to ten different objects, so no scaling a grand castle to kill an evil baron, etc etc. And (4) making a scenario takes a fair deal of effort and few people actually want to do it. In fact, recently, the entire modding community has been very slow. I don't think we've seen any new mods for a long time, just updates to a few, like Annex.
Finally, the posted image doesn't seem to show a much easier method of creating scenarios; the logic and flow is still the same, just no worries of syntax errors. The actions of the scenario in the screenshot above could be written in Lua as:
<unitDied>
if lastDeadUnitCauseOfDeath() == 1 then
for i=1, 8 do
player = player1
player_ally = player2
hero_player = hero_1
if unitFaction(lastDeadUnitKiller()) == player and unitFaction(lastDeadUnit()) ~= player and unitFaction(lastDeadUnit()) ~= player_ally then
if lastDeadUnitName() == 'swordsman' then
end
end
end
end
</unitDied>
Though I have to admit, I've never liked how Lua uses "~=" for inequality and the use of then/do and end in place of braces.My point is that you still have to think like a coder.