Recent changes
This describes the recent changes in some more detail than just the
one-line-info on the main pages "News" section.
July 30, 2013: Public Test Build from r5317
Note: this public test build probably still contains the bugs that some users reported,
that game got stuck when they conceded twice in same battle turn, and that if
some players use this test build, it may cause for other players using the "regular"
release (0.13.2.1 at the moment) a crash when the battle is about to
start (BattleBoard is not coming up).
Some usability improvements, added /userinfo command, more stability improvements to spectator mode.
The changes to BeelzeGods12 variant are not included yet!
- In Game status window, added at bottom a hint to click a player name for more information
- Stability improvements to spectator mode
- Added possibility to cancel WebClient's login/connect, for example when
it's stuck/blocked by a firewall; now timeout after 10 seconds
- When user attempts to load a saved game but it fails (for example,
too old format/version of file), display a Error message dialog telling so
- Add a toggle to make web client password displayable (show real PW instead of *****)
- Implemented "/userinfo" (only about oneself, so far) command in chat
- Notify web Client user when he logged in with case-mismatched user name.
- Fixed: 3590291 Remote client might or might not use xml files from server.
- Fixed: the calling of disposePickCarryDialog should be done inside EDT
- Fixed: #898 Can't unenroll from game
- Fixed: #899 End of redisplaying messages is displayed somewhere between
The following are not so visible for end users (more for developers)
- Added in some documents the note that they are really out of date! ;-)
- Cleaned up home page files and images, synchronized files to subversion repo
- For now, do not create the internal spectator client
- Much more informative log message when move failed
- Made the cmdline webclient working
- Make "ant jars" also build the CmdlineClient Jar
April 8, 2012: Public Test Build from r5178
Some stability improvements/fixes to the spectator functionality:
- Skip the "OtherOneHasTrouble" and "TroubleIsOver" messages if the one in trouble is spectator
- If WebClients server is already null, do not try server.logout() again
(could in some cases cause NPE when watching a game)
- Some internal fix to keep proper track of whether loggedin/watching states in webclient
March 30, 2012: Public Test Build from r5172
Making the spectator feature (still somewhat experimental) available for to first pilot usage
- Spectator feature (= watch other games)
- In two variants Apolo renamed/corrected to Apollo
March 14, 2012: Release 0.13.2 from r5134
Quick new release because the Disconnect menu item causes more harm than good
- Removed the non-working 'Disconnect' menu item
- Legion fly-out keys (Shift and Ctrl) should now "always" work
- Update strike damage in remote clients immediately, not only when strike turn is completed
- It identifies itself as release, not at some places as "public test build" ;-)
March 11, 2012: Release 0.13.1 from r5121
Further work on reconnect functionality and other improvements.
(almost all of it was already in effect in the Public Test Builds)
- Fixed 3497085: Undo battle move errors
- Implemented FR 3494746: Show board for AI-only games also (when GUI-started)
- When user clicked Start Game, give visual feedback and disable cancel+unenroll to everybody
- As soon as game is activated, disable Enroll button for other players
- In StartGame, ignore case if passed-with user name has case difference compared to "official" user's name.
- In remote client, if game is already over, do not ask the "do you really want to concede"
when one attempts to close the battle window
- Prevent/Handle accidental duplicate battle moves better (or: the delay between click and
actual server feedback, added visual feedback)
- Finetuning with the "delayed withdraw": if client did not reconnect within approx. 3 minutes withdraw him.
Inform other clients (if they are new enough to handle such information) about situation
- If updatePlayerInfo would re-send identical info as last time, skip it (reduces network traffic)
- Prevent the registration of user names guest* and anonym*
- Implemented FR 3494746: Show board for AI-only games also (when GUI-started)
- ConnectionLogWindow now show & hide to work as expected and keep checkbox in sync
- Skip withdraw / "withdraw if didn't reconnect in time" processing if player already
dead (or client not a player anyway, e.g. in future spectator clients)
- By default, now stop accepting clients again after game start is completed/all clients have connected.
If configured in Colossus-server.cfg, keep accepting (and WebServer starting games sets this to true);
(intermediately, to allow reconnect, server socket kept accepting always, which can cause trouble
when playing locally several games after each other, and previous one keeps hogging the socket)
February 5, 2012: Release 0.13.0 from r5073
Ability to reconnect after shortly interrupted network connections; two changes which hopefully prevent
"client stuck" / "client does not respond to server" cases somewhat,
plus some smaller fixes and addings.
- If client gets nak for done with strikes, after dialog highlight critters with targets.
The following were already part of previous Public Test Build(s):
- If game client encounters connection closed (short network instabilities), it will try to
reconnect after a second, and will catch up/synchronize to get messages/events that happened
while being disconnected.
BUT, if client crashes/hangs, one can NOT restart a client from scratch and rejoin.
- Fixed: 3473842 No Warlock on first turn option not sync'd from web server.
- Fixed: 3384824 Java 7 update breaks the code.
- Added some simple "Editing" functionality (by default not visible:
https://sourceforge.net/apps/trac/colossus/wiki/CheatMode).
- Fixed: Chat window did not always properly scroll to bottom when
several lines came from server within short time (e.g. /help output).
- Some other small stuff became visible to users already earlier due to the fact
when versions were installed to Public Server (e.g. /help, /contact stuff).
- On game client side, the reading from network and actual processing of the
received data is now two separate threads; this prevents problems that client
won't reply to server's "Hello, are you still alive?" requests in time.
- On various places removed the "synchronized" access, which did lead at least
for some players with Java 1.6 to deadlocks (GUI freezes).
March 4, 2011: Release 0.12.1 from r5003
Two bugfixes and other minor improvements.
- Fixed: 3184301 "Pick Entry Side" when not required.
- Fixed: 3184700 Wrong phase when selecting creature to move.
- Prevent on server side that user could propose several (instant)
games in the delay time until reponse to first propose is back to him.
- On BattleMap, Done menu item now disabled when it's not that players turn.
- After undo move and rescale, clear mover legion and rehighlight
legions that can move.
February 15, 2011: Release 0.12.0 from r4995
A new variant, some new features, and the usual amount of fixes and
changes which hopefully improve stability.
- Fixed: 3176758 "null pointer exception" - happened in particularly when
aborting a teleport move by closing PickEntrySide dialog, and even
permanent problems together with "pendingMoves" stuff feature
(see next line, 3160858).
- Fixed: 3160858 "Move failed messages due to delayed server response".
Visual feedback (clicked target hex highlighted red) and client prevents
attempt to move an already-moved (just display update delayed case) legion
once more.
- Fixed: 3160863 "illegal call to engage() message due to slow server response".
Client prevents now clicking same (or any other legion/hex) for engaging when just
clicked one (and just no feedback yet due to delayed server response).
- "First-aid" correction to: 3160873 "Concede hangs game" and 3133960 "Conceding battle
leads to hung game": Now also inactive players concede directly ends the battle.
This is not in in line with official rules, but all-in-all I consider this the better
solution, if the alternative is having games hung regularly; implementing this in
proper way (to be compliant with rules and have no risk of hung games) is simply
out of reach by now. Created a feature request to "implement proper concede sequence
in safe way".
- Minor changes to DinoTitan variant (some creature power/skill values, Spinosaur added,
some battle lands, 2 needed in top of recruitment line in Springs, README file).
The changes below were already part of "Public Testing Release" 0.12.0-beta1:
- A new variant "DinoTitan" added. The creator is looking forward to get
feedback about it!
- Added an option to disable Warlock recruiting on the first turn.
- Fixed: 3033654 Battleboard Window (does not remember location nor size).
- Fixed: 2884952 GetPlayers: disabled player names.
- Some improvements in confirmation code per comments from developer's
group, addition of a visited flag to legions so that move confirmation
is more selective and usable, addition of a next key ('n') for the move,
muster and split phases to move to the next legion that requires action.
- When using the N key to move to the next legion to act on,
highlight the hex of that legion as well as placing the mouse over it.
- Fix for BattleTerrain/Hazards display feature. Fix existing specials
(e.g. Drift) and add new ones for DinoTitan
- When a game is proposed, send a systemMessage announcing it.
- Better error handling for game starting:
Added a generic "system message" method. Informs now for example about
which player did connect ok to starting game, and if failed, report the
summary which players connected successfully and which not.
- Synchronize (with value false) the global options that are not defined
(e.g. teleport settings) from server to client to override possibly
existing settings in client side config files.
- Added a RoundtripTimeBookKeeper for Webserver => WebClientC => WebServer
pingRequests/Responses.
- WebServer Client handler has now own writer thread which is fed via
a concurrent queue. Thus delays in writing to one client should not cause
other clients to hang any more.
August 5, 2010: Release 0.11.0 from r4905
Some new features (see detailed descriptions below):
- Player colored angels and captured legion markers.
- Confirmation dialogs (optional) for omitted/forgotten split,
move or recruits (Thanks to David Partridge!).
- Possibility to mark legions as "skip" for split, move and
recruit (just made it "somehow", there's room for improvement in the
usability)...
- "Need Lord for Battle Control" (Thanks to Bruce Sears!).
... plus the usual usability & stability improvements:
- Closing BattleBoard does not kill that player (for not involved player
nothing happens at all, for involved player means conceding that battle).
- Public Game Server rejects now Clients older than 0.10.3.
- In Concede/Flee and Negotiation dialog, don't allow "x" dialog closing
- need to click on of the actions.
- Server (game itself) sends pingRequest regularly (currently about every 30 seconds).
- Server (game itself) should not hang any more when can't write to a certain client
- instead stops trying, informs other clients that one client is temporarily in trouble,
and registers to selector to be notified when client becomes writable.
- Check Server connection shows round trip time
- In Remote clients (= also when playing with Public Game Server),
do not show the Pause (earlier: Suspend) button.
- Numerous small changes to improve reliability / avoid server side
warnings/errors/log messages.
- Admin can trigger re-reading of login message without server restart
- Changes to building, jar signing, keystore, local JNLP files, etc.
Player-colored Angels and captured legion markers
Prior to this release, all Angels were always blue and captured legion markers
(when one player eliminates another, he "inherits" all the markers that player
posessed) remained in their original color - as in the real board game.
Because this was asked so frequently, now this is finally changed: Angels are now
displayed in the player's color (= same as his Titan), and the captured markers are
re-colored to match that color as well (but they keep their original marker id, e.g.
Gr01 - Gr12 for the markers of originally player Green, Rd01-Rd12 for the markers of
the red player, etc.).
Right now this is not controllable via an option, but if there is demand it might
be implemented to be optional.
Confirmation dialogs
It has regularly happened that a player forgot to handle one or more legions
for split, move or recruit, especially on large maps which do not fit well as
a whole to the screen.
The new release provides a protection against this type of "accidents": if you click Done
and there is one or more legion(s) not handled,
Colossus will prompt you whether you really want to end the phase. This is an
optional behavior, but enabled by default. You can control all three of them in
Preferences window, confirmations tab.
See also the next feature about marking legions as "Skip".
Mark legion as skipped
There are frequent situations where you do want to leave a legion without split,
move or recruit. In that case, you should mark them as "Skip" so that they do
not trigger the confirmation; i.e. the confirmation appears only if you really
forgot some legion(s).
For Recruit, there is a "Nothing" button in the Select Recruit dialog. After
that it is not highlighted any more. If you change your mind, just click legion again
and the "Nothing" is cleared and legion is highlighted again. Using Undo
("U", or from Phase menu) will reset this as well.
For Split, there is a "Skip" button in the Split Legion dialog (where you click
those creatures which you want to be in the split off legion). (Sorry, you still have
to pick a marker first)-; If you change your mind,
you can at any time still click and split it. If you really really want to get it
highlighted again so that you remember it e.g. after a save and load few days later,
you need to consecutively "Undo" all splits (or "mark as skip") which were done
after this marking as skip.
For Move, I haven't found any nice way how to integrate that; there is no
nice dialog at hand. To mark a legion as skip for Move, do the following: click on
the legion as if you want to move it, so that the possible target hexes are highlighted.
Now press either "S" on the keyboard, or in Phase menu there is a Skip action.
If you change your mind, as with all moves, there is no other way than to undo all
moves until you reach the point where you did the "mark as skip".
Mode/option "Need Lord for Battle Control"
See the description for it in
Get Players / game startup dialog documentation.
Suspend button
The "Suspend" button is only meaningful in local games (e.g. you against several AIs).
It would cause the server side thread to stop processing data - to give you time to inspect
legions, because otherwise the AI's proceed quickly.
Since this button is meaningless if are only a "remote" client (like when playing on
the Public Server), that button is now disabled in this case.
April 6, 2010: Release 0.10.3 from r4798
Usability and stability improvements:
- A simple /ping command to notify another player (e.g. he has forgotten to click Done).
- Only game creator can start the game. If he is not enrolled, the first player from
enrolled list instead.
- Arranged GUI items in CreateGame tab more compactly, so that Start button
is (hopefully) visible on 1024x768 screens.
- Added info text in Hazard chart window that mouse over a symbol will give
explanatory popup text.
- Admin stuff: Possibility to display some message to everyone when he logs in.
- When right clicking on a masterboard land with legions (but not
clicked a legion itself), popup menu now offers also "Show legion(s)" action.
- Added as option: show the legion marker in autoinspector,
rightclick-shows-legion and shift/ctrl popups
- Concede/Flee dialog tells "this will give XXX points to ...,
raising the score from xxx to yyy". And some layout improvements.
- In Flee/Concede dialog, disable that Space activates the selected button.
Note that Return key activates the "default" action of that dialog,
which is Show Battle Map (which does not harm)
- In Flee/Concede dialog, mark the to-be-killed (= own) legion all as dead.
- In Flee/Concede dialog, added button for Show Battle Map,
and text says from which side attacker enters.
- Lot of fixes related to game starting failing
- Prevent enrolling to a game that is already starting.
- Prevent on server side the starting of a game where not all enrolled players
are logged in.
- On WebClient side, for check if game could be started, check also for instant
games that all enrolled players are online.
- Directly after game start was triggered (state set to ACTIVATED), update
GameInfo to _all_ logged-in users (not only enrolled ones), so that they see
there is no point to enroll any more.
- Added a "wishlist and TODO" doc related to Public Game Server
- Improved the popup message which informs that the _WebClient_ connection
was closed from server side, game is not affected.
- Some keep-line-alive functionality between WebServer and WebClient
- Some very simple keep-alive functionality also between "real" game server
and client (i.e. actual game, not the WebClient connection)
February 6, 2010: Release 0.10.2 from r4699
Usability and stability improvements:
- Eliminated the "Done" after Engagements phase altogether
- When game was started by any player, in all enrolled players clients disable
the Start button and show a text that game was started and by whom
- On WebServer start, initialize the nextFreeGameId based on highest existing
game directory
The following were already in 0.10.2beta2 from r4693 (February 1, 2010)
- Disable the "C" shortcut for Concede on the BattleBoard to prevent
accidental Concede when typing a "c" in the chat
- Added option to be asked for confirmation when leaving legions
that could recruit without recuiting (by default enabled)
- Added that the beep and toFront for "my turn starts" are also done as defender
when Flee or Concede dialog is presented
- WebServer writes all chat messages to a textfile
- Fix: When WebClient game starts, inform also not enrolled clients so that
they move it to the Running Games table
- Fix: Prevent concurrentModificationExceptions for chat messages on WebServer side
The following were already in 0.10.2beta from r4676 (January 23, 2010)
- If active player dies during battle, server side automatically advances to
next player instead of waiting for player finish engagements phase.
This is related to: "2934399 Turn incomplete in multi-player"
- Proposed Games table shows now always both instant and scheduled games,
not the ones or the others depending on the radiobutton as earlier.
Also the action buttons for propose and enroll are active for instant
games even if one has an instant game proposed or enrolled,
now just a popup dialog tells then that and why one can't enroll to or
propose an instant game right now
- WebClient: when variant changes and new variants max player count differs
from previous, then adjust maxSpinner.maxValue (and all spinners current
values, if needed)
- Removed keyboard shortcuts 'C' and 'D' in concede dialog
- Added a "Welcome Dialog" which will be displayed once for each new release.
This time it will inform about the Colossus Public Game Server.
- Added confirmation dialog if there are still possible recruits not taken
(Feature Request: 2937616 Muster discard "Are you sure")
- Added some Public Game Server FAQ document (pretty empty still)
- WebClient sends now some Client side version so server knows which
features client can handle
- Prevent some problems when several players tried to start same game
at almost same time. Games would stay hanging, eventually no more games possible
- Prevent the illegally called engage() and other warnings and errors
- Added some "general notification to user" functionality (popup dialog + beep)
(so far only admin can send those)
- Eliminated the discrepancy between free ports / free game ports which
caused a warning on startup of the game server
- Fixed the remove/cancel game issues, that it was not deleted from table,
or caused exceptions, or whatever
January 2, 2010: Release 0.10.1 from r4646
Some usability improvements:
- Tell the names of logged in users, not only the number
- PGS: Access to userMaps now synchronized to prevent the hang/crash we had once recently
- PGS/WebClient: Most of the text fields now automatically select all text when they gain focus
- Corrected the text "redisplaying last 50 messages" (from 10 10 50)
- Improved text in MasterBoard BottomBar during engagements phase
- Added options for: when my (masterboard) turn starts, beep and/or bring my masterboard to front
- PGS: when lastOnline was changed (user does login or logoff), write back users file to disk
- When webclient user logs out, cancel proposed instant games he created. Also clear running games table and gameHash.
December 25, 2009: Release 0.10.0 from r4635
Two bugfixes (plus some refactoring done, and fixes to bugs caused by that), and: the Public Game Server is going online now!
- Fixed: 2910472 Undo broken when blocking a split
- Fixed: 2894243 ExperimentalAL crashed when unable to enter all creatures and 2873695 Close when AI can't fit on troops (same thing)
- New feature: The Public Game Server (aka WebServer/WebClient) functionality is going online now!
Accordingly, the hostname field in WebClient is now pre-initialized with "play-colossus.net".
October 15, 2009: Release 0.9.3 from r4577
Again bugfixes and corrections:
- Fixed 2877055: Some GUI preferences don't load on startup
October 7, 2009: Changes listed below were already in Public Testing Build / Release 0.9.3beta2 from r4563
- Fixed: 2864777 Illegal rangestrike over walls
- Do not choose Experimental AI as "A Random AI" because it occasionally crashes
- When ExperimentalAI encounters a "getParent called ..." problem, show at least
an error message in a dialog box explaining *why* Colossus will now close :-(
October 2, 2009: Changes listed below were already in Public testing Build / Release 0.9.3beta from r4551
- Fixed: 2859914 Balrog placement ignores score (aka: Balrog every 300 again, not 50)
- Fixed: 2864790 Aborting load game with remote player - No GetPlayers dialog
- Fixed: 2838276 "my Strike Skill" is wrong for nonnatives to bramble
(actually, just improved the dialog to make it's meaning clearer)
- Fixed: 2855208 Balrog exception in V0.9.2 (ConcurrentModificationException)
- Probably fixed: 2864777 Illegal rangestrike over walls
- Max Heap size now 256MB
- If invalid variant name is in config file, show a warning and reset to Default
instead of hanging with NPE
September 6, 2009: Release 0.9.2 from r4519
More bugfixes and corrections:
- Fixed: 2835558 WARNING: Could not find creature with name none
- Fixed: 2820231 Illegal rangestrike
- Fixed: 2848651 and 2828028: Legion flyouts
- Fixed: 2837746 Balrog variant: Caretaker counts not reset between games
- Fixed: 2839241 Faulty anchor tags (Crossreference links in docs worked
for Inetnet Explorer but not for Netscape)
- Make loading and saving of Balrog games work
- Make Auto Done act properly when there is no Recruit action or undo possible
- Add in save game also a property that tells with which release / revision
of Colossus that save game was created.
- Eliminated some race situations in game startup (thread interaction/notifications)
August 17, 2009: Release 0.9.1 / Public Build from r4489
Just a few bugfixes.
- Fixed: 2836720 Resync error during loading saved game (when UndoRecruit had been done)
- Fixed: 2838300 Auto Done (added description for it in documentation)
- Fixed: 2837666 Help About pop fails (when some logging property file was not defined)
- Fixed: 2837660 Creature information pop up failing
August 11, 2009: Release 0.9.0 / Public Build from r4482
Yeah, it's been a long time since last Public Build. It might look we have
been in winter sleep, but in fact in last 8 months we have done more changes
(1000+ new revisions committed) than in the 4.5 years before (for comparison:
last Public Build (October 2008) was from r3456, and r2450 was in February 2004).
But most of those changes were internal cleanup, refactoring, rewriting
some parts to make future changes easier and less error-prone, and so on;
and not so much directly user-visible changes and bugfixes.
This new Build is incompatible (in all three aspects: "Save Game"-files,
Server/Client communication and Variant files) with the previous Public Build!
This means you can't load old saved games from earlier version,
and when playing over network one can't use previous' versions Network Client
to connect to a game running with new version and vice versa.
Below the highlights since last Public Build (2008-10-29):
- Colossus releases (what we so far called "Public Builds") will now have a version number,
starting with this one being 0.9.0.
- A new AI type "ExperimentalAI". It uses some kind of genetic algorithm to find better
"optimal battle move" combination (evaluating really all theoretically possible
combinations would simply take too long). As the name indicates, it is still in
very experimental phase ;-)
- Added "Battle Dice Rolls history/scrolling functionality"
(thanks to Bruce for that!)
- Added a Battle generator tool (mostly for internal use)
- BattleLandsGenerator including BattleLandRandomizer now functional again (were broken for years)
- Improvements to game loading error handling (from cmdline: wrong filename,
tolerate missing .xml extention, ...)
- Changes to save game format, now version 2
- "One todo done. 1.21 gigatodos still to go."
- Fixed: 2057072 If game in trouble, "Save" might not work either:
File => Save Game and Save Game As now done directly via "localServer"
object, instead of via network message as earlier.
- Added Tim Hoban's patch for #2352320, HumanHater being under-aggressive
against other AIs. (Reworked onlyAIsRemain a bit.)
- Improvements to "Public Game Server". But: No, it's still not ready to use yet :-/
- Fixed: 2675045 NPE during createSummonAngel after Negotiation + related cleanup
- Added Maven building. We have now a Continuous Integration build running which
creates site report (copy paste detector, dependencies, ...).
- Basic functionality to suspend/resume a game, e.g./especially when AI's are playing.
- Fixed: Not all angel summons allowed - ID: 2316688
- Changes to Help - About dialog:
- More informative build info (timestamp + user + revision instead of just revision)
- LogDirectory now derived from actual logging-property (instead of simply assuming it's still system temp dir)
- Dialog has now a meaningful title
- Also Game Setup (Get Players) dialog shows now the build info/version
(version is only properly set in official builds).
- New Save Game format: includes now additionally a "redo" log part
- Whole Save/Load game tragedy now in better shape:
- Saving of game now reliable for all situations except during engagements/battles.
I.e. one can save at any time during split, move or recruit, or between engagements/battles.
- When Saving, the splits/moves/recruits done since phase start "Done" can now be undone.
- Done button in correct state accordingly.
- Warning message when attempting to save during an engagement or battle:
this will not result in a save game from which one could continue playing.
- SaveGame and SaveGameAs menu items/actions stay disabled until game setup is completed.
- Save Game file does not contain the variant data files any more.
Note: For continuing a saved game that uses a custom variant (does anyone even do?) you need
to load the variant once manually before so that the application knows it
(and where to find the files for it).
- Added "autoDone" option (when nothing to recruit at all, or after last engagement).
- Make SplitPrediction for equal-height children with 50% probability swap "keep"
or "split off". So, e.g. for initial split now it does not blindly assume any more
that the Titan stays in original legion and Angel is split off.
- Work ongoing to get Colossus part of Fedora (e.g. using now self-written
simple option parser instead of werken.opt).
January 6, 2009: Changes listed below were already in Public Testing Build from r3541
- Fixed the problem that Quit in WebClient did not really directly Quit
- Fixed: 2322870 Bogus packet (only half message written and then fully)
- During pick color (and pick initial marker), display in the bottom bar
a message telling so
- If game is already 512 turns (or more ;-) do not display the split history
graph (would cause error messages)
- Move WebClient classes to own, new package
- Improvements to the "accepting clients" handling
- Quite some work on the "Scheduled Games" functionality for WebServer code
- Made the "Load Extern Variant" mostly work (does probably not work if
there are remote players, and also load/save a game not totally ok).
Details see bug tracker item: 2483419
"Custom variant: remote players? load game? instructions!"
November 21, 2008: Changes listed below were already in Public Testing Build from r3500
- Several improvements to speed up loading of saved games:
- Do not send events of legions of players that will be dead at the end
- Skip Caretaker Display and some other screen updates
- Quite some changes to things reported by "FindBugs" tool
- Added in File Menu new item "Check Connection"
- Fixed: 2128216 NW Stresstest opens GUI window and hangs
- Some cleanup in accepting clients stuff (removed some redundant variables;
send some message immediately after accepting the client
- Improved handling for remote clients one game end with AutoQuit
October 29, 2008: Public Build from r3455
Changes since last Public Build (2008-10-10):
- Options are now loaded and saved based on whether it is AI or not,
instead of depending on whether it is a <bySomething> name.
- Fixed: [2081285] Preferences of <by-.....> named players:
GetPlayers dialog now prevents <byColor> and <byType>
names for Human players
- Fixed: [2158066] Unified has nonsensical mustering rule
- Added label with info text "Click a creature for details!" in Caretaker
- Clicking the chits in FullRecruitTree or HexRecruitTree also pops up now the
CreatureDetails (until then this could only be done in Caretaker)
- Fixed: [870430] Attempt to Concede in a Battle you're not involved in
- Fixed: 1900956 Nonentry of summoned or mustered unit
- Fixed: 2167276 Doubled Reinforcements
- Fixed: 2160218 Incorrect bramble effect on rangestrike
- Fixed: CowardSimpleAI constants incorrectly affecting SimpleAI.
- Fixed the "multiple recruits possible" problem reported for Public Testing Build
- Fixed that EventViewer showed all recruitings (after first battle) as "Reinforced"
- Fixed: 1895129 carryover gui issue: should not close with "x"
- Fixed: 2060183 Legion overwiew in user info window needs scrollbar
- Fixed: 2060208 Legion split tree fails if too many legions
October 10, 2008: Public Build from r3425
- Fixed: [ 2078529 ] "Preferences" => scales value is now read from cf file on startup.
- Help=>About now tell also the actual .colossus dir and also the
log directory where Colossus[012].log files will be created.
- When game is over, MasterBoard tells so also in Title and in "phase" label,
and DONE button invokes then the Quit/Close/New/Cancel dialog (same as closing
the window with the "x" in upper corner always does).
- When gameOver state reached, skip summon/reinforce + kick next engagement
(perhaps we undo this skipping of summon/reinforce soon again...).
- Fixed (hopefully): [ 2074220 ] Exception while loading game with dead players.
This includes a lot of small changes related to loading/replaying a saved game.
- Fixed: [ 2044310 ] LoadGame: wrong legions existing/content/location (same as 2074220)
- During loading of a game the Masterboard Bottombar (where normally the phase is
displayed) shows a "replay ongoing - turn x of n (please wait)" text.
- Fixed: [ 2090866 ] AI spinners wrong intialized
- Fixed: [ 2091811 ] Preferences window should restore if requested from menu
- Fixed: [ 585329 ] Net game lockup from negotiation window;
(made sure that Negotiation and ReplyToProposal dialogs are closed when same
type of dialog is opened; and close them when battle starts).
- Feature Request [ 2083312 ] game type - pantheon 12: created a new variant
"BeelzeGods12" - it's basically Beelzebub12 with the Gods and some rules from
Pantheon.
- When creating new BattleMap, dispose previous one,
in case it is still open for some reason...
- Fixed: [ 2060169 ] Skipping rangestrike, rangestriker(s) stay highlighted
- During serverSocket creation, catch any exception, not just IOException.
Also first display an error message dialog, before doing System.exit().
- Fixed the problem that games with remote players could not be loaded
- When starting new or loaded game, wait until all clients have caught up with
load/preparations, before doing setupPhase to start the actual game.
- StatusScreen window now does not use scale any more (see [ 2078529 ] Preferences)
- Fixed: [ 2073991 ] Game hangs on AI Split
- Fixed (partially): [ 2074220 ] Exception while loading game with dead players:
Now it can be loaded without exceptions, but it wants initially as many clients as
originally players were involved; especially troublesome if there were remote clients
that are dead now...
- Removed SVG support and the Batik library
- Slightly rephrased text in summon dialog and corrected catched to
caught in some method names ;-)
- Tower teleport now only allowed from lands which really have the isTower
attribute, not as before if they have a startlist (e.g. Abyssal, Mantio).
- Fixed the server-client communication, now (hopefully) the right way.
Several of the mysterious battle and game-end related bugs shouldn't
happen any more, e.g.:
- Fixed: [ 2072769 ] Game hangs when AI titan killed by AI
- Fixed (most likely):[ 2090150 ] Stack Counter left after a battle
- Fixed: [ 2095361 ] Game hangs when AI Titan killed
- Fixed: [ 2097773 ] Battlemat fails to close
- Fixed: [ 2113621 ] Major battlemap bugs that end gameplay
- Some corrections and improvements to CreatureDetails dialog
- When user selects Quit, trigger a timer which would do a
System.exit() after 10 seconds - to make sure that the java/javaw
process will really terminate.
- Fixed: [ 2111020 ] After game completed, start new one: clients don't
come in
(when all expected clients did connect, stop listening to
socket and accepting connections)
August 22, 2008, Public Build made from r3332
A lot of things were changed this time. Some of them you as end-user might notice, some not...
Colossus requires now at least Java 1.5!
This time the changes in "oldest first" order
(earlier they were mostly most recent first, or unordered...)
- Quite some internal cleanup, architectural changes (NIO, less threads,
started to share code between server and client instead of duplicate it,
rearranged java packages, game shutdown/cleanup more properly, memory freed, ...)
- Changes which eliminate or at least provide more logging info related to
[ colossus-Bugs-1813362 ] "Battle hangs game, perhaps due to Java 1.5 ?"
{perhaps caused by GTK window Look & Feel?}.
- In Game setup a checkbox for "HotSeatMode". If mode is active,
it restores on player change the MasterBoard of the active player and
minimizes the others. Does not cover the battle maps yet.
Also the satellites (game status, eventviewer, ...) come and go with
their respective MasterBoard.
So, something left to do here...
- The items in the MasterBoard menu which are more like "Preferences"
(as opposed to: "actions") are now all moved into an own window
(Window=>Preferences).
Documentation for Client is now accordingly split into two files
(actions in the menu, and meaning of the various Preferences items)
- Includes now the WebClient (and
WebServer) functionality.
We have the code working, but no server running :-(
If you are willing to help organizing something into that direction,
don't hesitate to contact us!
- Player name in the status screen stays in player's color. This allows
telling who e.g. the green player was when green is dead.
- Restricted logging to the Colossus classes.
- Added "configure your favorite colors" functionality in Preferences.
- It's now possible to close the MasterBoard of a dead player (when several
human players play on same computer). Earlier this would have quite the whole
application. Also the dialogs related to Close and Quit are changed quite much.
- Closing the network client (or when it fails) you are back to the main
GetPlayers dialog (instead of just whole application gone, as earlier).
Web client dialog behaves the same.
- Last Recently Used lists for server host and port work better now.
- Network client has now a timeout and shows an error message when it fails, and
dialog stays up, so one can try again.
- Server port visible and modifyable in GetPlayers dialog.
- New variant "Abyssal3" added.
- Various improvements to stresstest script.
- A new (unfinished?) feature in the menu of the battle window: the new help
menu contains an entry to show a summary of the terrains on the battle land.
- A new dialog showing information about a player: a click on a
player's name in the status screen shows a summary of a player including the
legions and creatures currently owned.
- Improved log messages for earned points and half-points, and for acquiring,
and failures in acquiring.
- Fixed: [ 1964752 ] Changing scale value sometimes causes exception.
- Bugfix: the AI hints for the Undead variant were fixed so the AIs should go
for a third Naga in Plains if a Griffin could be mustered on the next move.
Also some other (minor) special creatures/lands typos in variant data fixed.
- PickMarker and PickColor dialog layout changed to avoid wrap situations.
- Angel Summoning changed: instead of the 2-step-procedure (select legion
on masterboard and then creature from legion in dialog) the dialog shows
now all possible donors with the summonables red bordered. And the dialog
contains some text instructing how to used it.
- Negotiations (offer and accept) do work now.
- Autosave filenames (and those created by just "File=>Save" without specifying
own filename), are now long style; i.e. at the end they contain info about
turn number, active player and phase.
- In new SummonAngel dialog, Titan in possible donor legion is now shown in
player color with right power value (instead of the black default icon)
- In negotiation dialog (make offer), clicking on marker toggles whole legion
(all chits) to dead or all to not dead again.
- Save preferences back to clients cf file also then when preferences dialog is
"close"d (not only when client/masterboard is closed).
- Fixed: [ 2044243 ] "After summon and left offboard, can't after battle summon"
- Fixed: [ 700478 ] "mandatory strike skipped":
DoneWithBattleMoves now checks that it's indeed move phase.
- Fixed: [ 1859016 ] "Done key and box disabled ?randomly?":
"Done" action (Button & Menu) should now be correctly en/disabled during normal play,
also for the non-active players;
(but the situation after loading a game is not handled yet [1702874]).
- Fixed: [ 2028230 ] Terrain penalties not applied in combat (ogre out of brambles)
- Fixed: [ 2058959 ] Angel can fly over volcano
- Fixed: [ 2046854 ] If Titan is killed in negotiation, game does not end
- Partly done FR [ 491247 ] "Closing a question box":
In PickStrikePenalty dialog, added "cancel", and cancel or closing window
do now cancel the strike, rather than striking with default.
- Fixed: [ 1895129 ] "carryover gui issue"; this means also partly done
FR [ 558825 ] "Clickable spillover":
For picking carry targets, now clicking a valid target does the carry there,
clicking anywhere else does not harm (dialog and carry mode keep alive).
- Fixed: [ 1608709 ] Problem mustering when choice (make it impossible to bypass
the Pick Recruiter dialog via Done key shortcut)
- Made the PickRecruit and PickRecruiter dialogs somewhat more informative.
yeah, a long time no changes visible to the public (=no public build).
But as you see above, a lot of things happened...
December 28, 2007, build r2890
Just a rebuild of same codebase to get also a proper ZIP file.
December 24, 2007, build r2882
Changes so far (just most recent first, i.e. NOT sorted by importance... ;-)
- We have now the Wiki
pages in use. Mostly for developers, but there there are also web
start file(s) for more experimental builds - i.e. already some while
before the public build is done.
For details check out the
ExperimentalBuilds wiki page.
- Improvements to Battle Map:
- Shows the die roll needed to hit.
- Shows adjustments (get more/less dice due to hazard or rangestrike)
- Legion markers show near the legions entry side
- Done button, turn+phase+activePlayer indicator
- An own page in the docs folder describes the features of the Battle Map:
Description for the features of the BattleMap window.
You can also find this page from the documentation index ("The full docs are here.")
on Colossus main page.
- Changes in EventViewer which should eliminate some (harmless?) exception
in AWT Event Queue.
- Vendor tag in Java Web Start file now "Colossus development team"
instead of David Ripton.
- Action key and menu item for "Done" now in sync with "Done" button.
- Default setting for legion visibility now "Ever revealed ..." instead
of "Only own".
- Legion info popups: holding shift key, ever each legion will appear a
small legion flyout showing it's contents, and if known the legion value.
Holding control key, they are shown only for own legions.
- Improvements to "View Battle Map": land name now top-right, so the normal
"Land name corresponds to land number on MasterBoard" rule applies now.
Additionally it shows the neighbor lands (both in the title,
and in the map are inactive buttons telling e.g. "Left: Woods 39").
- A LOT of internal cleanup and corrections.
- Slightly improved handling of Save Game if directory "saves/" does
not exist yet or can't even be created.
- List of hosts in Network Client now not user dependent any more,
eliminated one possible NullPointerException (game would hang), and in
the alphabetically sorted list the Most Recently Used one is preselected.
- Some cleanup and fixing for AutoInspector and EventViewer regarding
initial size, position, and showing/disposing code cleanup;
size+location were forgotten/reset to default if EventViewer
was left disabled for one full game; now fixed.
- Inspector and show-legion (right-click) window show legion value
(and owner, if not own legion) in title; concede and flee dialog also
show legion values (=> feature requests [1818878] and [ 503862 ]).
- If duplicate player names, tell this as message box, instead of
silently just doing *nothing*.
- Engagement window collects now all results, no matter whether it is
enabled or not, and does not forget old results when closed; and if
at game start (saved via options) enabled, it *IS* visible (even if
empty). I.e. it behaves like all other satellite windows.
- Game Setup window is now a JFrame (instead of being a JDialog as it
was before) which means, it can be minimized, and has own taskbar icon.
- EngagementResult and EventViewer windows now handle time-losses
properly (before, they just told "won in 8 turns" and "destroyed").
- Updated in documents that recommended Java version is now 1.4.2.
- After the fix for [1769985], when used Load Game button player
types and names were all wiped out. This is now corrected again.
- Most likely fixed now: [1789116] and [1737239] ("Illegal move" message
when going with a 4 up to tundra/mountain).
- Fixed: [ 1758248 ] Help - About is now also shown even if autoplay
is on.
September 6 2007, build r2711
Only minor changes:
- Fixing: [ 1769985 ] "Auto quit when game over never changes"
In GetPlayer dialog options are also saved when using Load Game,
not only when starting new game.
- The dialog box for "Illegal move" tells now a more concrete reason why
the server considers this move illegal. This is related to [1789116] and
[1737239] (attempt to move from Plain 29 to Tundra 2000 and one gets
this message eventhough this move should be allowed).
Hopefully with this improved message this gives a clue what is wrong there.
July 24 2007, build r2706
Most relevant changes:
- MasterBoard menu items significantly rearranged:
- Player menu now called Autoplay
- Part of Graphics menu items moved into new "Window" menu
- Look & Feel under new Windows menu instead of being own menu
- "Show all recruit chits" replaced with 4-choice selection whether
to show "None", "Strongest", "Recruit Hint", "All".
- Additional event in EventViewer to show "Masterboard movement roll"
- Various bugfixes
- Documentation updated: