I have been looking at the
Vassal 4 design blog. I am not an expert in comparing script languages, but Lua looks fine. I got it to run on Linux/Geany and made a few simple scripts.
After upgrading to Linux Mint to 19.1 I noticed that Vassal 3 couldn't run. Linux Mint now uses JDK 11. I managed to download the old JDK 8 and switch to it (with
sudo update-alternatives --config java). How long will this be possible? Shouldn't Vassal 3 be changed so that it can run on the latest Java?
Some thoughts on Vassal 4 design:
After having made my first serious module (
Verdun: A Generation Lost) I came to realize that the meta-language we use for defining dynamic behavior has its limitations. It is difficult to understand, difficult to change and has poor performance. I am sure it was fine when games where only basic map/counters/dice, but once you want to implement more complex features it becomes unwieldy.
It would be helpful to regard the non-static content of a module as an extension of Vassal itself. You extend (or implement) classes in Vassal to make a game module. A module would be a script file that is either written in the same language as Vassal itself or could could easily import classes from Vassal itself.
It would also be an idea to package the module and the version of Vassal it was made with together, so that old modules with outdated versions of Vassal could still be played. There should be some kind of error message that told you what version of Vassal this module was made with.
I hope development of Vassal 4 soon begins. This is a huge software project. There is not an unlimited amount of time where Vassal 3 can still be used. I am a software developer and hope to contribute in some way.