Thus spake cianchet:
I imagine I am the last one in the queue of people who could have
complained about this decision.
Portability: people will ask to see Vassal for IPad and for Android. Ok
Java is no good for both, but is C++ better?
Yes, you can compile C++ for tablets.
In my opinion you will end supporting a windows version only, actually
I do all of my development work on Linux, and I want to use VASSAL
myself. VASSAL running on Linux is my first priority. We will not end up
supporting Windows only.
Now I can play in Linux. Ok no great graphics, but I can use it.
Examples of good graphic interface in Java: gametableonline. Have you
ever seen it? It’s in Java.
Yes, and they’re doing it with Web Start, which has all its own
deployment problems. We once used Web Start for VASSAL, before 3.0, and
abandoned it due to the endless problems that people had with it.
The games I see at gametableonline.com have small maps and few pieces.
None seem to have the ability to scale the view. Yes, you can make
things look nice if you design a custom interface for each game (though
I would say that the interfaces they have look very 90s). They seem not
to be trying to do what we are trying to do.
Sound??? Do you need sound on boardgames? Do you want to hear KABOOM
when your artillery fires???
Michael’s point about sound was not that we need better sound support
from Java, but rather that the poor sound support is similar to poor
support for other things.
IMHO you should think more in terms of functionality.
What you have:
- Realtime play via internet
- Chat Server (to be improved)
- An enormous module library.
- API (to be improved)
What you miss (in order of importance):
- Rules enforcement (API to be improved and/or easy scripting language
- Java is already quite good for that)
I think a procedural approch to this is misguided. I favor a model-
checking approach based on a logical language for this.
- AI (API to be improved and/or scripting language)
#1 and #2 would require VASSAL’s internals to be wholly different from
the way they are now. Getting to a point where the internals are
sufficiently disentangled for you to add rules-enforcement or AI hooks
would be more work than starting from scratch. We are planning to make
both #1 and #2 possible.
- Chat Server improvement
This is an independent thing—the game server is its own program.
- IPAD and Android implementation
We’ve been told repeatedly that Java will never run on the iPad.
If you move to C++, you will also lose the Java code which is currently
implemented in the modules.
There isn’t all that much custom code out there, actually. The fact
that Michael—who is the author of the Twilight Struggle module, which
has arguably the most complex custom code out there—is in favor of
the switch is telling.