I corrected some minor bugs this afternoon—cancelling the file dialogs
when opening or editing a module doesn’t cause a NullPointerException
anymore, and the URL in the welcome message is a real hyperlink now.
Can we dispense with the “Last…” tabs in the Server Status? Although they’re nice, they are so infrequently used and slow that they probably are not worth the extra clutter. We could remove the Tabs altogether, maybe add a Preference option to add them back?
I don’t really know anything about Extensions, but that window down the bottom left would make a reeeeally nice Main chat area!
The historical tabs can be made faster still: Right now, bringing up any
historical tab results in the whole history being downloaded. I asked
Rodney to add the ability to the CGI script to get status results for
arbitrary intervals, which he did last night. Tonight, I’ll write the code
to take advantage of that. Getting the history from the last month won’t
be faster, but the other two will, as we’ll be able to request exactly the
data we want instead of all of it. (Possibly the monthly history could
be made faster by compressing the data before sending it.)
On the other hand: What do people use the three historical tabs for? I’m
not sure myself. The only thing I’ve used them for is testing the code
which produces them.
I’m not sure what the technical term is, but those borders which split the window into three areas.
For example, the width of the Server Status area is fixed as is the height of the Extensions area. Unless this is something strange on my OS?
I like the historical data. It’s good advertising because it showcases how many people are using the system. It also lets you browse for games you’re familiar with. Right now you have to then track them down by hand, but the vision is to include download information in the status eventually.
Make it a JSplitpane with the one-touch put-away thingies turned on for the Server window so I can get rid of it easily. PBEM players don’t need to see it.
Cheers,
Brent.
Brent Easton
Analyst/Programmer
University of Western Sydney
Email: b.easton@uws.edu.au
While we’re on the subject, I’m just brainstorming here; How would everyone feel about the “main” Vassal window being persistent? This could offer a few possibilities:
Users could still look at the server status window while they already have a game running.
They could continue chatting in the (hopefully) new Main chat area while waiting for their opponent to make his/her moves.
They could even open multiple modules. Play in one module while spectating a game.
The first two aren’t currently that relevent to me, as I’m very rarely
playing live, although they sound like they’d be good for those who do.
The last would be a big win for PBEM, I could leave all my ongoing games
open and switch between them easily without creating multiple JVM
instances.
Yes, it would be nice, I have thought about it several times myself. Unfortunately, several parts of Vassal have been built from the ground up to assume that there is only one GameModule at a time. It would take fairly major surgery to overcome this.
The changes would be widespread, but mostly superficial. Anywhere
you have GameModule.getGameModule() you’d have to change that to
something which gets the correct GameModule, or hold a reference
to the correct GameModule.
Hardly anything I’ve seen relies on there being exactly one
GameModule in any way beyond the way in which it gets a reference
to the GameModule.
But would you need to allocate a terabyte of RAM to Vassal to
accomplish this? ;-D
It seems a lot of the modules need a fair amount of RAM to hold the
images for boards and counters, so is it really practical to expect to
be able to have multiple modules open at the same time? Do memory-
mapped images change this?
The feasibility of this depends on the modules involved, how much RAM
you have, and whether you’re on a 32- or 64-bit machine. E.g., you could
probably do fine with serveral copies of small- to moderate-sized modules
open on a lot of machines (though you might experience a lot of cache
flushes if you come near to exhausting the heap and switch among the
modules frequently). On the other hand, if you want to have two copies
of Case Blue open then you’re going to have a hard time of it without
heaps of heap.