Create account / Log in

VASSAL 4 Design Blog

Discussion area for the development team.

Moderators: Tim M, uckelman

VASSAL 4 Design Blog

Postby bdgza » September 13th, 2017, 8:46 am

Through the Recent Changes list I stumbled on the VASSAL 4 Design Blog. It's a very interesting read, but difficult to find.

Is there a listing somewhere to keep track of (new) blog posts?
What is the blog's intended audience?
Are comments/discussion desired/undesired, and if desired where is the best place? In the forums, the discussion tab, or somewhere else?
bdgza
 
Posts: 285
Joined: February 26th, 2010, 10:51 am

Re: VASSAL 4 Design Blog

Postby Brent Easton » September 13th, 2017, 10:50 am

G'day.

I wondered how long it would take someone to find that :) I had a bit of spare time over the last few weeks and got a severe case of the development itch while we wait for Joel to complete his building projects. So I was trying to do a bit of a brain dump on various Vassal 4 design issues, while teaching myself C++ in preparation for the project warming up. I needed some way to get my thoughts in order and the blog resulted.

The intended audience was myself, but I am sure it will be of interest to everyone who is interested in the design of Vassal 4.

Yes, I am more than happy for commentary and discussion and here in the forums is probably the best place now that the wiki has had to be moderated. The ideas expressed are very much my own, but based on 35 years of programming experience, including 15-ish (!) years of Vassal development.

Regards,
Brent.
User avatar
Brent Easton
 
Posts: 2743
Joined: December 21st, 2007, 3:06 am
Location: Berry, NSW, Australia

Re: VASSAL 4 Design Blog

Postby bdgza » September 13th, 2017, 2:32 pm

Hi Brent :).

Blog 1: If with the v4 way the module each player uses is checked strictly then you will run into problems if extensions are still a part of v4. If it unlikely that everyone has the same combination of extensions installed. v3 Takes a single checksum to compare of module + extensions. Often extensions don't change the game but just add some scenarios setups or extra charts, which wouldn't break a logfile. Also, it is possible to modify a module without changing how the game works. E.g. in Combat Commander: Europe/Pacific I changed the mouse-over stack viewer so it displays the hex coordinate. That change doesn't affect the game, since it's not any piece definition that I changed. It would be a bummer if v4 then blocked me from playing against others with that modification.

Blog 3-5 scripting: Lua is used all-over as a game scripting language, and although I don't know it (yet), imho it's a good choice.

Not touched on Blog: You did a comparison of scripting options, do you think you will look at comparing file formats, as in XML v JSON v other? I get a feeling things are leaning towards XML, but I am personally much more in favor of JSON. I have no experience in using JSON with C/C++.
bdgza
 
Posts: 285
Joined: February 26th, 2010, 10:51 am

Re: VASSAL 4 Design Blog

Postby Brent Easton » September 14th, 2017, 12:17 am

Re: Blog 1. Yep, you are hitting on more of the issues that need to be thought through in detail. The problem is that Vassal cannot know whether a given version of a module will or will not affect the behaviour of a given unit. I worry that we will exchange the 'difficult to update save games' issues we have now to 'random weird unit behavior when using different versions of a module' issues.

I do not plan look at file formats, that is not my area of expertise. My understanding is that XML is a good choice as it's structure can be described in a machine readable form (DTD) and then mechanically validated. This will be essential as more people start to fiddle with the buildfile when it becomes more accessible.

I am more concerned about how we handle hidden information (Invisible and obscured pieces, cards in private hands) in a publicly accessible, human readable save game format.
User avatar
Brent Easton
 
Posts: 2743
Joined: December 21st, 2007, 3:06 am
Location: Berry, NSW, Australia

Re: VASSAL 4 Design Blog

Postby JoelCFC25 » September 14th, 2017, 3:31 pm

A couple of comments on the topic of game piece definitions...

If a log file is replayed on any version of the module except for EXACTLY the same one the log file was created with, there is no guarantee you will see what actually happened in the initial creation of the log file. It is up to players to keep track of every version of every module they have ever used if they want ensure log file replayability.

It will probably require players to be far more aware of what version of the module is being used by other players.
Playing rooms on servers should probably have default setting that players are not allowed to join a game unless that have the same version of the module.

Inconsistent behavior if players are using different versions of the module. A single game Piece may behave differently for each player.


Years of PBEM play has long had me convinced that you simply don't want to allow any of these situations to ever occur in the first place. Some sort of smack-you-in-the-face obvious alert/feedback needs to stop players with different modules from connecting to/with each other or to load files that aren't compatible. Right now, VASSAL silently and happily allows all of these.
JoelCFC25
 
Posts: 471
Joined: October 12th, 2010, 5:15 pm
Location: Minnetrista, MN

Re: VASSAL 4 Design Blog

Postby richg » June 14th, 2018, 8:10 pm

Hello everyone - is Vassal 4 still happening ? I am a developer (C++/Java) w/30 years years experience looking to get involved.
I already have on github a java profiler https://github.com/rguadagno/French-Roast ( 20K+ lines of C++).

I am new to war gaming and just started looking at Vassal in regards to Saipan from Compass - so anyway someone let me know If I can help or just kick around some ideas...

-Richard.
richg
 
Posts: 1
Joined: June 14th, 2018, 8:03 pm

Re: VASSAL 4 Design Blog

Postby uckelman » June 20th, 2018, 10:18 pm

Thus spake richg:
> Hello everyone - is Vassal 4 still happening ? I am a developer
> (C++/Java) w/30 years years experience looking to get involved.
> I already have on github a java profiler
> https://github.com/rguadagno/French-Roast[1] ( 20K+ lines of C++).

Yes, I still intend to pursue VASSAL 4 as described. I haven't
changed my plans. What's in the queue before it has taken far
longer than I could have imagined, but is nearing completion.

--
J.
User avatar
uckelman
Site Admin
 
Posts: 8041
Joined: December 10th, 2007, 9:48 am
Location: Durham, England


Return to Developers

Who is online

Users browsing this forum: Google [Bot] and 1 guest