Recent changes
This describes the recent changes in some more detail than just the
one-line-info on the main pages "News" section.
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 aned 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* vsible (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".
- Addtional event in EventViewer to show "Masterboard movement roll"
- Various bugfixes
- Documentation updated: