freecol/www.freecol.org/history.html

372 lines
26 KiB
HTML

---
title: A History of FreeCol's Development
author: Stian Grenborgen
layout: page
folder:
path: /about.html
name: About FreeCol
---
<p align="justify">
<A name="about"></A>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.
<br/><br/>
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.
</p>
<br/>
<div style="text-align: center;"><a href="images/loc-events.png"><img
src="images/loc-events_s.png" alt="Lines of Code" border="0" width="588"
height="246" style="max-width: 100%;"></a></div>
<br/>
<p align="justify">
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.
</p>
<h3>Old Releases</h3>
<a href="history.html#freecol-0.1.0" class="cLink">FreeCol 0.1.0</a> - <em>Server written in
C++ and the client in Java.</em>
<br/><a href="history.html#freecol-0.2.0" class="cLink">FreeCol 0.2.0</a> - <em>Entire
application written in Java</em>
<br/><a href="history.html#freecol-0.3.0" class="cLink">FreeCol 0.3.0</a> - <em>Codebase
heavily restructured. Multiplayer games winnable.</em>
<br/><a href="history.html#freecol-0.4.0" class="cLink">FreeCol 0.4.0</a> - <em>AI for Indian
players, GUI improments and other new features.</em>
<br/><a href="history.html#freecol-0.5.0" class="cLink">FreeCol 0.5.0</a> - <em>Singleplayer
games winnable. Lots of new features.</em>
<br/><a href="history.html#freecol-0.5.1" class="cLink">FreeCol 0.5.1</a> - <em>Bugfixes.</em>
<br/><a href="history.html#freecol-0.5.2" class="cLink">FreeCol 0.5.2</a> - <em>Fixing
savegame related problems.</em>
<br/><a href="history.html#freecol-0.5.3" class="cLink">FreeCol 0.5.3</a> - <em>FreeCol
finally reached a level of stability enabling lasting games.</em>
<br/><a href="history.html#freecol-0.6.0" class="cLink">FreeCol 0.6.0</a> - <em>Added more
ingame reports. Gameplay and visual improvements.</em>
<br/><a href="history.html#freecol-0.6.1" class="cLink">FreeCol 0.6.1</a> -
<em>Bugsfixes.</em>
<br/><a href="history.html#freecol-0.7.0" class="cLink">FreeCol 0.7.0</a> - <em>Map editor,
trade and negotiations and a map of the Americas.</em>
<br/><a href="history.html#freecol-0.7.1" class="cLink">FreeCol 0.7.1</a> - <em>Migration
from CVS to Subversion.</em>
<br/><br/>
<hr>
<table border="0" width="100%">
<tr class="cBody">
<td class="cBody">
<a href="images/java-shot3.jpg"><img src="images/java-shot3_s.jpg" align="right"
border="0" hspace="10" vspace="5"></a>
<a name="freecol-0.1.0" style="text-decoration: underline;">FreeCol 0.1.0</a>
<br/><br/>
Objective: First release of FreeCol
<br/>Released: January 2nd, 2003
<br/>
<p align="justify">
This release made it possible to explore the map with a ship and a free
colonist.
<br/><br/>
The server was written in C++ and the client in Java.
</p>
</td>
</tr>
</table>
<hr>
<table border="0" width="100%">
<tr class="cBody">
<td class="cBody">
<a href="images/java-shot4.jpg"><img src="images/java-shot4_s.jpg" align="right"
border="0" hspace="10" vspace="5"></a>
<a name="freecol-0.2.0" style="text-decoration: underline;">FreeCol 0.2.0</a>
<br/><br/>
Objective: Port the server to Java
<br/>Released: March 26th, 2003
<br/>
<p align="justify">
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.
</p>
</td>
</tr>
</table>
<hr>
<table border="0" width="100%">
<tr class="cBody">
<td class="cBody">
<a href="images/java-shot10.jpg"><img src="images/java-shot10_s.jpg"
align="right" border="0" hspace="10"
vspace="5"></a>
<a name="freecol-0.3.0" style="text-decoration: underline;">FreeCol 0.3.0</a>
<br/><br/>
Objective: Making code modifications simpler
<br/>Released: September 30th, 2004
<br/>
<p align="justify">
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.
<br/><br/>
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.
</p>
</td>
</tr>
</table>
<hr>
<table border="0" width="100%">
<tr class="cBody">
<td class="cBody">
<a href="images/java-shot11.jpg"><img src="images/java-shot11_s.jpg"
align="right" border="0" hspace="10"
vspace="5"></a>
<a name="freecol-0.4.0" style="text-decoration: underline;">FreeCol 0.4.0</a>
<br/><br/>
Objective: Adding more features
<br/>Released: June 23rd, 2005
<br/>
<ul>
<li>Compatability with J2SE 5.0</li>
<li>AI for indian players</li>
<li>Visiting indian villages (colonist, missionary and scout)</li>
<li>Trade with indians.</li>
<li>Graphical updates and Colopedia framework</li>
</ul>
</td>
</tr>
</table>
<hr>
<table border="0" width="100%">
<tr class="cBody">
<td class="cBody">
<!-- <a href="images/java-shot11.jpg"><img src="images/java-shot11_s.jpg" align="right" border="0" hspace="10" vspace="5"></a> -->
<a name="freecol-0.5.0" style="text-decoration: underline;">FreeCol 0.5.0</a>
<br/><br/>
Objective: Possible to win a singleplayer game
<br/>Released: July 23rd, 2006
<br/>
<p align="justify">
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.
</p>
<ul>
<li>Tax.</li>
<li>The custom house.</li>
<li>Capturing of goods.</li>
<li>Lost city rumours.</li>
<li>AI for the european players and the royal expeditionary force.</li>
<li>Fight the war of independence.</li>
<li>Separate graphics for each type of forest.</li>
<li>Get a list of public game servers on the Internet.</li>
<li>Join a running multi-player game.</li>
<li>A user friendly installer.</li>
</ul>
</td>
</tr>
</table>
<hr>
<table border="0" width="100%">
<tr class="cBody">
<td class="cBody">
<!-- <a href="images/java-shot11.jpg"><img src="images/java-shot11_s.jpg" align="right" border="0" hspace="10" vspace="5"></a> -->
<a name="freecol-0.5.1" style="text-decoration: underline;">FreeCol 0.5.1</a>
<br/><br/>
Objective: Making the game more stable
<br/>Released: September 22nd, 2006
<br/>
<ul>
<li>The installer now adds a shortcut for starting the game in windowed
mode.
</li>
<li>New graphics for displaying unit paths.</li>
<li>Borders for the main menu.</li>
<li>Some of the panels have been improved.</li>
<li>Lots of bugfixes.</li>
</ul>
</td>
</tr>
</table>
<hr>
<table border="0" width="100%">
<tr class="cBody">
<td class="cBody">
<a href="images/java-shot13.jpg"><img src="images/java-shot13_s.jpg"
align="right" border="0" hspace="10"
vspace="5"></a>
<a name="freecol-0.5.2" style="text-decoration: underline;">FreeCol 0.5.2</a>
<br/><br/>
Objective: Fixing savegame related problems
<br/>Released: November 26th, 2006
<br/>
<ul>
<li>The time and memory required for loading/saving a game have been reduced.</li>
<li>More efficient transmissions of large network messages.</li>
<li>Savegame sizes have been reduced.</li>
<li>Many other savegame related bugs have been fixed.</li>
<li>Autosaving has been added as an optional feature.</li>
<li>A new menubar border has been added.</li>
</ul>
</td>
</tr>
</table>
<hr>
<table border="0" width="100%">
<tr class="cBody">
<td class="cBody">
<!-- <a href="images/java-shot13.jpg"><img src="images/java-shot13_s.jpg" align="right" border="0" hspace="10" vspace="5"></a> -->
<a name="freecol-0.5.3" style="text-decoration: underline;">FreeCol 0.5.3</a>
<br/><br/>
Objective: Making the game more stable
<br/>Released: December 5th, 2006
<br/>
<p align="justify">
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:
<br/><br/>
<a href="http://sourceforge.net/potm/potm-2007-02.php"><img src="images/upload/sf-potm.png" alt="POTM"/></a>
<a href="http://sourceforge.net/potm/potm-2007-02.php">Project of the Month, February 2007</a>
</p>
Changes:
<ul>
<li>The map size can now be chosen when starting a new game.</li>
<li>It is now possible to give units goto orders when it is not your turn (multiplayer).</li>
<li>The non-admin players are now able to view the current options (multiplayer).</li>
<li>Chatting is now working properly.</li>
<li>Lots of other bugfixes.</li>
</ul>
</td>
</tr>
</table>
<hr>
<table border="0" width="100%">
<tr class="cBody">
<td class="cBody">
<!-- <a href="images/java-shot13.jpg"><img src="images/java-shot13_s.jpg" align="right" border="0" hspace="10" vspace="5"></a> -->
<a name="freecol-0.6.0" style="text-decoration: underline;">FreeCol 0.6.0</a>
<br/><br/>
Objective: Improve gameplay and visual appearance.
<br/>Released: April 16th, 2007
<br/>
<ul>
<li>Improve the user interface.</li>
<li>Add reports for simplifying the gameplay.</li>
<li>Enable moving and resizing of dialogs.</li>
<li>Lots of other new features and bugfixes</li>
<li>Requires use of Java 1.5</li>
</ul>
Complete lists of: <a
href="https://sourceforge.net/p/freecol/pending-features-for-freecol/search/?q=status%3Aclose*"
class="cLink">new features</a> and <a
href="https://sourceforge.net/p/freecol/bugs/milestone/Fixed_0.6.0/"
class="cLink">bugfixes</a>.
</td>
</tr>
</table>
<hr>
<table border="0" width="100%">
<tr class="cBody">
<td class="cBody">
<!-- <a href="images/java-shot13.jpg"><img src="images/java-shot13_s.jpg" align="right" border="0" hspace="10" vspace="5"></a> -->
<a name="freecol-0.6.1" style="text-decoration: underline;">FreeCol 0.6.1</a>
<br/><br/>
Objective: Making the game more stable
<br/>Released: April 30th, 2007
<br/>
<ul>
<li>Clicking a colony name on the Turn Report will now display that Colony.</li>
<li>A panel for displaying the requirements of the colonies has now been added.</li>
<li>The bug causing the game to deadlock after displaying the emigration panel has been fixed.</li>
<li>Multiplayer games should now be stable after fixing two critical bugs.</li>
</ul>
Complete lists of: <a
href="https://sourceforge.net/p/freecol/bugs/milestone/Fixed_0.6.1/"
class="cLink">bugfixes</a>.
</td>
</tr>
</table>
<hr>
<table border="0" width="100%">
<tr class="cBody">
<td class="cBody">
<a href="images/java-shot15.jpg"><img src="images/java-shot15_s.jpg"
align="right" border="0" hspace="10"
vspace="5"></a>
<a name="freecol-0.7.0" style="text-decoration: underline;">FreeCol 0.7.0</a>
<br/><br/>
Objective: Map editor, trade and negotiations
<br/>Released: July 13th, 2007
<br/>
<ul>
<li>Trade and negotiations between human players.</li>
<li>A simple map editor has been created.</li>
<li>The in-game user documentation has been improved.</li>
<li>Map of the Americas added.</li>
<li>Automated trade routes.</li>
<li>Lots of other new features and bugfixes.</li>
</ul>
Complete lists of: <a
href="https://sourceforge.net/p/freecol/pending-features-for-freecol/search/?q=status%3Aclose*"
class="cLink">new features</a> and <a
href="https://sourceforge.net/p/freecol/bugs/milestone/Fixed_0.7.0/"
class="cLink">bugfixes</a>.
</td>
</tr>
</table>
<hr>
<table border="0" width="100%">
<tr class="cBody">
<td class="cBody">
<a name="freecol-0.7.1" style="text-decoration: underline;">FreeCol 0.7.1</a>
<br/><br/>
Objective: Bugfixes<br/>
Released: August 13th, 2007<br/>
<p align="justify">We migrated from CVS to Subversion immediately after making this release.</p>
</td>
</tr>
</table>
<hr>
<table border="0" width="100%">
<tr class="cBody">
<td class="cBody">
<a name="freecol-0.7.2" style="text-decoration: underline;">FreeCol 0.7.2</a>
<br/><br/>
Objective: GUI improvements, bug fixes<br/>
Released: September 19th, 2007
<p>New Feautures and Improvements</p>
<ul>
<li>Zooming on the mapboard implemented.</li>
<li>Make switching between fullscreen and windowed mode possible.</li>
<li>Implement application window resizing.</li>
</ul>
<p>Bug Fixes:</p>
<ul>
<li><a href="https://sourceforge.net/p/freecol/bugs/725/"><b>#725:</b></a> Fixed a bug that disallowed building colonies under certain conditions</li>
<li><a href="https://sourceforge.net/p/freecol/bugs/731/"><b>#731:</b></a> Fixed a bug that prevented FreeCol Score from showing</li>
<li><a href="https://sourceforge.net/p/freecol/bugs/727/"><b>#727:</b></a> Fixed a bug where unit images did not display under certain conditions</li>
<li><a href="https://sourceforge.net/p/freecol/bugs/638/"><b>#638:</b></a> Fixed a bug where a unit image would override the bonus image on a tile</li>
</ul>
</td>
</tr>
</table>