A History of FreeCol's Development

FreeCol evolved from a pure C/C++ project into a pure Java project. The first official release of FreeCol was, however, already using Java for the client. FreeCol has been fully Java-based since early 2003.

The game has been developed incrementally without any formal design document. Developers have been working on the features they have chosen for themselves, but major changes have been discussed on the mailing lists first. Naturally, the discussions on the mailing lists have been exceedingly important in order to coordinate our efforts in a common direction.


Lines of Code

The graph above depicts the number of lines of code from the start of the project and until some time beyond the release of version 0.7.3. Notice the period of time spent on the first major restructuring of the codebase. We are currently restructuring the codebase for the second time. This time we are working towards making the game more modifiable.

Old Releases

FreeCol 0.1.0 - Server written in C++ and the client in Java.
FreeCol 0.2.0 - Entire application written in Java
FreeCol 0.3.0 - Codebase heavily restructured. Multiplayer games winnable.
FreeCol 0.4.0 - AI for Indian players, GUI improments and other new features.
FreeCol 0.5.0 - Singleplayer games winnable. Lots of new features.
FreeCol 0.5.1 - Bugfixes.
FreeCol 0.5.2 - Fixing savegame related problems.
FreeCol 0.5.3 - FreeCol finally reached a level of stability enabling lasting games.
FreeCol 0.6.0 - Added more ingame reports. Gameplay and visual improvements.
FreeCol 0.6.1 - Bugsfixes.
FreeCol 0.7.0 - Map editor, trade and negotiations and a map of the Americas.
FreeCol 0.7.1 - Migration from CVS to Subversion.


FreeCol 0.1.0

Objective: First release of FreeCol
Released: January 2nd, 2003

This release made it possible to explore the map with a ship and a free colonist.

The server was written in C++ and the client in Java.


FreeCol 0.2.0

Objective: Port the server to Java
Released: March 26th, 2003

This was the first release completely written in Java. Aside from that a first implementation of 'Europe', some GUI improvements and more performant screen drawing were added.


FreeCol 0.3.0

Objective: Making code modifications simpler
Released: September 30th, 2004

The code had been redesigned and restructured in order to make the ongoing development easier. Prior to this, the codebase bore clear markings of originally having been seperated in client and server implementations programmed in Java and C++ respectively. New features were added more frequently after the restructuring, as evident by the Lines of Code graph displayed on this page.

It was also the first release of FreeCol in which it was possible to play and win a multiplayer game. Several new features were added - such as colonies, founding fathers, immigration, combat, trade, terrain improvements, save/load, sound and many GUI improvements.


FreeCol 0.4.0

Objective: Adding more features
Released: June 23rd, 2005
  • Compatability with J2SE 5.0
  • AI for indian players
  • Visiting indian villages (colonist, missionary and scout)
  • Trade with indians.
  • Graphical updates and Colopedia framework

FreeCol 0.5.0

Objective: Possible to win a singleplayer game
Released: July 23rd, 2006

In this release we added Artificial Intelligence (AI) to the computer players, and thereby enabled single player games. The framework for the AI-code was added, but the computer players were not very advanced.

  • Tax.
  • The custom house.
  • Capturing of goods.
  • Lost city rumours.
  • AI for the european players and the royal expeditionary force.
  • Fight the war of independence.
  • Separate graphics for each type of forest.
  • Get a list of public game servers on the Internet.
  • Join a running multi-player game.
  • A user friendly installer.

FreeCol 0.5.1

Objective: Making the game more stable
Released: September 22nd, 2006
  • The installer now adds a shortcut for starting the game in windowed mode.
  • New graphics for displaying unit paths.
  • Borders for the main menu.
  • Some of the panels have been improved.
  • Lots of bugfixes.

FreeCol 0.5.2

Objective: Fixing savegame related problems
Released: November 26th, 2006
  • The time and memory required for loading/saving a game have been reduced.
  • More efficient transmissions of large network messages.
  • Savegame sizes have been reduced.
  • Many other savegame related bugs have been fixed.
  • Autosaving has been added as an optional feature.
  • A new menubar border has been added.

FreeCol 0.5.3

Objective: Making the game more stable
Released: December 5th, 2006

FreeCol finally reached a level of stability enabling lasting games with this release. This was also the release when people really started playing the game and when we were chosen for SourceForge.net's:

POTM Project of the Month, February 2007

Changes:
  • The map size can now be chosen when starting a new game.
  • It is now possible to give units goto orders when it is not your turn (multiplayer).
  • The non-admin players are now able to view the current options (multiplayer).
  • Chatting is now working properly.
  • Lots of other bugfixes.

FreeCol 0.6.0

Objective: Improve gameplay and visual appearance.
Released: April 16th, 2007
  • Improve the user interface.
  • Add reports for simplifying the gameplay.
  • Enable moving and resizing of dialogs.
  • Lots of other new features and bugfixes
  • Requires use of Java 1.5
Complete lists of: new features and bugfixes.

FreeCol 0.6.1

Objective: Making the game more stable
Released: April 30th, 2007
  • Clicking a colony name on the Turn Report will now display that Colony.
  • A panel for displaying the requirements of the colonies has now been added.
  • The bug causing the game to deadlock after displaying the emigration panel has been fixed.
  • Multiplayer games should now be stable after fixing two critical bugs.
Complete lists of: bugfixes.

FreeCol 0.7.0

Objective: Map editor, trade and negotiations
Released: July 13th, 2007
  • Trade and negotiations between human players.
  • A simple map editor has been created.
  • The in-game user documentation has been improved.
  • Map of the Americas added.
  • Automated trade routes.
  • Lots of other new features and bugfixes.
Complete lists of: new features and bugfixes.

FreeCol 0.7.1

Objective: Bugfixes
Released: August 13th, 2007

We migrated from CVS to Subversion immediately after making this release.


FreeCol 0.7.2

Objective: GUI improvements, bug fixes
Released: September 19th, 2007

New Feautures and Improvements

  • Zooming on the mapboard implemented.
  • Make switching between fullscreen and windowed mode possible.
  • Implement application window resizing.

Bug Fixes:

  • #725: Fixed a bug that disallowed building colonies under certain conditions
  • #731: Fixed a bug that prevented FreeCol Score from showing
  • #727: Fixed a bug where unit images did not display under certain conditions
  • #638: Fixed a bug where a unit image would override the bonus image on a tile