CivClicker Updates

2014-10-23: v1.1.59(alpha)

Major update to the save game format and data structures for wonders and raids.

Legacy save games should now import properly.

The state of the trader is now saved and restored (Original bug).

Wonder bonus selection menu now dynamically generated.

2014-10-13: v1.1.58(alpha)

Auto-generate the basic resources sections.

Delegate event handling to a smaller number of dispatch handlers, so that we're not setting up a handler for every button.

Fix a few bugs in the noun tense code.

2014-10-06: v1.1.57(alpha)

Improve usage of plural vs. singular nouns.

Zombies are no longer ignored when calculating wolf attacks (Original bug).

Fix a bug triggered when sick people starved.

2014-09-29: v1.1.56(alpha)

Fix a bug in the cat reset code.

Reduce the number of direct accesses to the low-level data storage structure.

2014-09-29: v1.1.55(alpha)

Only put a multiplier on log entries when it's > 1.

An assortment of internal cleanup.

2014-09-15: v1.1.54(alpha)

Generalize the combat code so that new combat units will (in theory) fight each other properly.

Player and mob siege engines now play by the same rules (Original Bug).

2014-09-07: v1.1.53(alpha)

Fix a bug introduced in v1.1.15a that prevented the trade button from being enabled properly.

2014-08-25: v1.1.52(alpha)

Bugfixes and bullet-proofing.

2014-08-25: v1.1.51(alpha)

A lot of under-the-hood generalization to how things are bought and updated.

Some UI tweaks to make cats and remaining land more visible.

2014-08-17: v1.1.50(alpha)

Clerics are now higher-priority targets for healers than farmers. Previously, they could get hung up healing farmers and never heal the clerics needed to bury the bodies causing the plague. This is a change from the original CC.

The display now collapses to single-column when narrower than 800px.

Columns are now implemented using CSS column properties instead of floats.

Used async and defer tags to accelerate JS loading.

Fixed the error handling for save/load failures so it no longer aborts the game (Original bug).

Generalized the achievement code to work smoothly with new achievements.

2014-08-12: v1.1.49(alpha)

The effect of houses now updates properly when slums or tenements are purchased (Original bug).

Icon toggle setting now implemented.

Settings are now restored properly on load.

2014-08-11: v1.1.48(alpha)

Buttons and tabs now have rounded edges.

Boolean game settings now use checkboxes.

Text shadow and Notes settings are now saved properly (Original Bug).

Refactored the pane selector and game settings code.

2014-08-03: v1.1.47(alpha)

Consolidate the UI and update code for Buildings and Units.

Generalize the kill, steal, and sack code so that it will work properly with units, buildings, and resources added in the future.

Clean up the button text a bit.

2014-07-27: v1.1.46(alpha)

Convert most of the layout to use ems instead of pixels, to be more flexible.

Consolidate the resource limit code.

Split the population statistics code from the population UI code.

More work on getting the cost system to cleanly handle variable costs.

Generalize the upgrade UI to handle new upgrades automatically.

Generalize the sickness code to handle new units automatically.

2014-07-14: v1.1.45(alpha)

Fix a bug in v1.1.44 that applied building-based limits to deploying units.

2014-07-13: v1.1.44(alpha)

A lot of under-the-hood refactoring of the job and party code.

2014-07-09: v1.1.43(alpha)

Make the building display more compact, to help mobile users.

Make disabled buttons more evident (less visible).

2014-07-07: v1.1.42(alpha)

Make the upgrade display more compact.

Add description text to a few units that were missing it.

Move the pantheon display under the Deity tab.

Move the wonder construction button to the Wonders section.

The Deity and Wonders display areas are hidden until they are applicable.

Fix a bug that made plagues too severe.

Graveyards now require Construction, since they are useless until you can build Temples anyway.

2014-07-02: v1.1.41(alpha)

Move a lot of the initialization code into the new framework.

Fix a bug introduced in 1.1.38 that kept achievements from being preserved on reset.

2014-06-30: v1.1.40(alpha)

Fix a bug that kept sick workers from starving.

Fix a bug that prevented the deity UI from loading after a full reset.

Convert the civ asset data into an object-oriented framework.

2014-06-25: v1.1.39(alpha)

It is now possible to worship a deity already in the pantheon. The old deity's domain is automatically selected at no cost. Devotion (altars) still need to be repurchased.

Number delimiter settings are now saved. (Original Bug)

A number of timers and counters that used to be lost on a reload are now saved and restored properly. This includes effects for Pest Control, Throne of Bones, partially completed healing, and the timers for attack and trade. (Original Bug)

Rulers may not name themselves after an existing deity. They may, however, name a deity after themselves when first creating it.

Raid plunder is now set when the raid is started.

Deities must now have at least one devotion to survive a reset.

Fix a bug that caused mill/fortification costs not to be reset after being sacked by barbarians.

Excise removeDeity() code that was never implemented. (Original)

2014-06-16: v1.1.38(alpha)

If a large quantity building purchase causes overcrowding, only cause overcrowding for the ones that exceeded the available land. (Original bug)

Major refactoring of the save game format and primary game data structures.

Game settings are now presumed to be tied to the device the game is played on, and not to a particular save game. Consequently, importing a save string will no longer affect: autosave, custom increments active, font size, use of icons, and work-safe mode.

2014-06-08: v1.1.37(alpha)

Move achievements and settings into subpanels to conserve space.

Fix a bug that caused NaNs in special resource generation.

2014-06-07: v1.1.36(alpha)

Fix a few bugs from 1.1.35.

2014-06-06: v1.1.35(alpha)

Fix a bug in the sick worker display code.

Fix a bug in shade combat that was introduced around v1.1.26 or 1.1.27.

Major redesign of the game data structures.

CivClicker will now refuse to load games saved from newer versions, since there's no way to be sure of doing it right.

Save games are now stored in a single variable (they were only split to permit the use of cookies).

Recalculate most efficiency mods on the fly so that they don't need to be stored in the savegame.

Game version now displayed via JS.

2014-05-31: v1.1.34(alpha)

Numbers are now formatted using the system locale.

Dynamically generate the activated pantheon power controls.

Note: Saved games updated to this version from prior versions may show (e.g.) "Battle Altar" on the "Build Altar" button. This is harmless, and should not appear in new games created on this version.

2014-05-31: v1.1.33(alpha)

Dynamically generate the purchased pantheon upgrades.

Dynamically generate the raid buttons.

Refactor the Achievement system.

More refactoring of the Upgrade system.

2014-05-27: v1.1.32(alpha)

Replace the fractional-casualty carryover with a probabilistic casualty system. This produces the same casualty numbers on average, but requires a lot less bookkeeping (and therefore generates fewer bugs).

2014-05-26: v1.1.31(alpha)

Deity upgrades don't appear until the player has enough devotion to unlock them.

Deity domains now disable properly if the player can't afford them. (Original Bug)

Flensing, Macerating, and Trade are now properly removed after a reset (Original Bug).

Labourer controls are now properly removed after a reset (Original Bug).

Start implementing a prerequisite system.

More major refactoring to the upgrade system.

2014-05-24: v1.1.30(alpha)

Generate the upgrade purchase buttons dynamically.

Add in-code definitions for the upgrades and their purchase costs.

Fix a bug that caused traded resources to overwrite the resource's master definition. Added temporary code to repair the corruption when the game is loaded.

Fix a bug that caused siege engines to stop working.

2014-05-22: v1.1.29(alpha)

Refactor the upgrade code.

Fix some bugs in the migration code.

2014-05-21: v1.1.28(alpha)

Discontinue cookie-based saves; they were deprecated four months ago, and the risk of losing data by running into the 4k limit makes it risky to add more fields to the savegame structures. HTML5 localStorage is supported by all major browsers back to IE8, and we're already using other constructs that require at least IE9. The game will still try to load from cookies as a last-ditch attempt if the localStorage load fails, but it will delete the cookie saves on save to clean them up.

Refactor the labourer and trader code.

Ensure that the autosave button is properly captioned on load (Original Bug).

Consistently use double quotes for JS strings (except for HTML), and tabs for indentation.

2014-05-21: v1.1.27(alpha)

More major refactoring of the combat code.

2014-05-18: v1.1.26(alpha)

Fixed the timing of resource UI updates so that combat results and wonder construction are included. (Original Bug)

Authors list moved to AUTHORS file per FSF standard.

FAQ Updated.

Major refactoring of the combat code.

Efficiencies for all combat units moved to the efficiency struct.

2014-05-16: v1.1.25(alpha)

Fix a bug that caused raid plunder to be lost.

Fix a bug in the enabling of soldier allocation when custom increments are active.

Consolidate CSS rules where possible.

Rearrange JS functions to be better grouped.

2014-05-15: v1.1.24(alpha)

Make the worker allocation buttons properly count sick and deployed workers when enabling/disabling. (Original Bug)

Disable various buttons properly when custom increments is active. (Original Bug)

Fix a bug introduced in v1.1.23a that generated too many cats.

Refactor the update code for the worker allocation buttons.

Refactor the custom increment toggle code.

2014-05-12: v1.1.23(alpha)

Dynamically generate the job controls (major refactoring).

Fix a bug that prevented the writing-based upgrades from being offered.

Fix a bug that prevented the 'Cease Walk' button from enabling.

2014-05-09: v1.1.22(alpha)

Fix a bug in the healing code, introduced in v1.1.21.

Major refactoring of the main game loop, breaking it into functions.

Significant refactoring of the mob, starvation, and healing code.

Made a variety of in-code identifiers more consistent to facilitate further refactoring.

2014-05-08: v1.1.21(alpha)

The 'Plagued' achievement is tested more frequently, instead of only when someone gets sick.

Refactor the code for plague and healing.

2014-05-05: v1.1.20(alpha)

Fix a bug in isValid(), which affected the loading of Object-type data.

Fix a bug in the conquest pane display.

2014-05-01: v1.1.19 (alpha)

Fix a bug in the building code introduced in v1.1.18.

Some more refactoring of the hire/fire routine.

2014-04-30: v1.1.18 (alpha)

Make the requirements and building devotion handling code more robust, so that buildings don't have to specify them if they are zero.

Fix some more dataset related bugs.

2014-04-29: v1.1.17 (alpha)

Apothecaries (the profession) renamed to 'Healers' to avoid confusion with Apothecary (the building).

Save games now have embedded version information.

Put in a polyfill for the HTML dataset API so IE < 11 doesn't break.

Fix a bug introduced in v1.1.16 that prevented the +10 Workers from appearing properly.

2014-04-29: v1.1.16 (alpha)

The Deity, Conquest, and Trade panels are now hidden until they become useful.

Refactor the upgrade code to less than 20% its former size.

2014-04-27: v1.1.15 (alpha)

Wonder progress is now displayed to two decimal places.

Trader message now makes it clear that the trader gives 1 gold in exchange.

There is now a log message for manual discovery of special resources.

Battle Standard, Worship, and Trade buttons are now properly disabled when the player cannot afford them (Original Bug)

Refactored the combat party code and some of the tab panel code.

2014-04-25: v1.1.14 (alpha)

Raid buttons are now disabled when you have no combat troops deployed.

Civilisation and ruler names are no longer left undefined after resetting (Original Bug)

Simplify the reset and saved game loading routines.

2014-04-24: v1.1.13 (alpha)

Worker (and zombie) spawn buttons now include a 'Max' option (which operates in O(lg(n)) time, which should be acceptably responsive)

Corpses are now treated as a resource, rather than a population unit. Unfortunately, this slightly breaks compatibility with prior versions; v1.1.13+ will load prior save games, but prior versions will lose their corpses if they try to load a v1.1.13+ save game.

Moved the displays for happiness, free land, and zombies to be in more useful places.

Removed the panel subheadings; they were taking up space, and not conveying useful information.

All costs are now calculated to full precision, although the display is rounded to the nearest integer. Button enable/disable is also now performed on the unrounded values, so users may occasionally see that button enable/disable effects are not perfectly synchronized with the number displayed. This is because the enable/disable uses the exact value, whereas the number displayed is rounded off first.

Fix the dynamic cost updates broken by 1.1.12 changes.

Fix the background so it stretches to cover again.

Raise Dead buttons now enable and disable properly.

Replaced the worker and zombie cost iterative calculator with a constant-time formula version. This should improve responsiveness with large numbers.

Consolidated all of the assorted hire/fire functions into one.

2014-04-06: v1.1.12 (alpha)

Dynamically generate the building controls.

2014-04-06: v1.1.11 (alpha)

Fix a bug that caused the food display to be incorrectly colourized.

2014-04-06: v1.1.10 (alpha)

Fix a bug that caused the food display to display gross food production instead of net food.

2014-04-06: v1.1.9 (alpha)

Fix a bug that allowed people to get absurd numbers of zombies.

2014-04-06: v1.1.8 (alpha)

Adjust the stat display system to use HTML custom data attributes.

2014-04-04: v1.1.7 (alpha)

Fix some typos in the last few checkins.

2014-04-04: v1.1.6 (alpha)

Switch the background from using a pre-faded original to using CSS opacity.

2014-04-03: v1.1.5 (alpha)

More syntactic refactoring; no functional change.

2014-03-30: v1.1.4 (alpha)

Removed 'Max' siege engine creation button (it was too easy to accidentally click).

2014-03-30: v1.1.3 (alpha)

Refactored civilisation size code.

2014-03-23: v1.1.2 (alpha)

Numerous minor JavaScript syntax fixes.

2014-02-15: v1.1.1 (alpha)

New workers now start as farmers. This should prevent them from starving before starting to feed themselves, and save a lot of tedious clicking while growing population in the late game.

Secondary resource collection should happen more smoothly as your empire grows.

Soldiers and cavalry now return their equipment resources when reallocated (not when killed).

Fixed a bug where if you used the +All button for Cavalry, it only deducted half the normal food and leather price. (Original Bug)

2014-02-15: v1.1.0

I'm going to call this version 1.1 to denote the hosting change, even though the changes are relatively minor.

Updated references to the web hosting location to point to the new site.

Ran all the HTML and CSS through the W3C validator, and fixed the issues it found.

Removed the Google tracking code.

2014-02-13: v1.0.0

Migrated CivClicker to its new home on SourceForge.