Project of the Month, February 2007

FreeCol

Description of project

FreeCol is a turn-based strategy game based on the old game Colonization, and similar to Civilization. The objective of the game is to create an independent nation. You start with just a few colonists and a strong dependency on your home country. You can fight a War of Independence after building colonies, trading goods, fighting off rival European powers, and encouraging the rising rebel sentiment.

Trove info

  • Topic: Turn-based strategy
  • Operating System: OS-independant (Written in an interpreted language)
  • Programming Language: Java
  • Translations: English, German, Hungarian, Spanish
  • Licence: GNU General Public License (GPL)

Why and how did you get started?

Lars: I wanted to relive the days of playing Colonization and also to be a part of an open source game. Shortly before creating the project, in December 2001, I posted a message on one of the SourceForge.net gaming forums to see if there were any other people interested. I contacted the people that replied, and we started from there.

Stian: I started working on FreeCol after realizing that a commercial sequel to Colonization was getting less and less likely. Getting experience working on a collaborative project was also interesting.

Michael: Sid Meier's Colonization was always one of my favourite games. Thus, I was quite pleased when I first discovered FreeCol in 2002. At that time, I knew no Java, however, so I was unable to contribute anything except a few feature requests. I joined the project as a developer in late 2005.

Sergio: Sergio: I was trying the new release of FreeCol and I began to look at the code. I liked the idea of developing a game, so I tried to fix some bugs when I was on holiday, then decided to join FreeCol Team. At the beginning I was hunting and fixing bugs, and later I developed some new features.

What is the software's intended audience?

Lars: People who enjoy any type of strategy game. As a Linux user I feel a lack of large and long-lasting strategy games on my platform, so Linux gamers are very important to us.

Michael: Fans of the original game, especially those who don't have the hardware and operating system required to run it.

How many people do you believe are using your software?

Stian: We have exceeded 100,000 downloads, but I think only a few thousand people actually play the game, based on the number of forum posts, bug reports, and feature requests.

What are a couple of notable examples of how people are using your software?

Stian: I was surprised when some of my potential employers said they had been playing the game.

What gave you an indication that your project was becoming successful?

Sergio: We started to have many bug reports, and a great many of feature requests, and the forum traffic went up.

What has been your biggest surprise?

Stian: My biggest suprise was discovering how much I had learned while working on the project. It is really amazing looking at the code I wrote just two years ago and discovering how bad it really was. I think students can learn a lot from participating in projects like FreeCol.

What has been your biggest challenge?

Lars: A few years ago it wasn't always easy to stay motivated. The rush of creating the initial version had faded away but lots of work still needed to be done. During that time the project didn't get much attention (which was normal because it wasn't fully playable). Eventually, new developers motivated the old ones and we found a new gear.

Stian: The biggest challenge was keeping new developers on the team for longer periods of time. Many of the developers we recruited left the project just after they had gotten a good understanding of the code.

Sergio: Some multiplayer bug fixes and changing something in unit display.

Why do you think your project has been so well received?

Lars: I think that our graphics have made the project popular. It's not often that an open source game gets access to such nice graphics during the early stages of development. Additionally, the multiplayer support adds many new options to fans of the original Colonization.

Michael: Everyone loves games.

Where do you see your project going?

Stian: Our project will not just be considered as a simple game in the future, but as an engine to be used when creating new turn-based strategy games.

What's on your project wish list?

Stian: I am especially looking forward to the time when new unit types and abilities can be defined using XML files. This work has been scheduled for the 0.7.0 release and will signify a huge step toward making the game more of an engine for turn-based strategy games. It will also facilitate the process of adding new features to FreeCol 2 by making it easier to test the effects of new features on the overall gameplay.

Sergio: I would like show better messages and feedback about combats, especially when AI or other players attack. That might mean a message with statistical information of combat before you attack, like in original Colonization. I would like to show all messages in a list at the beginning of the turn, instead of showing several message dialogs. And there are more wishes in our tracker which I would like to see in implemented.

What are you most proud of?

Lars: I'm glad we're pulling this off in Java. Many people think Java is not the best choice for a desktop game, but we're here to prove them wrong.

Michael: The rivers.

Sergio: When Michael Burschik congratulated to me on my bug fixes, and when we did the bugfix 0.5.x releases and people said they were more stable and bug free, and they can play more comfortably, because I had fixed quite a lot of bugs and then I saw my work was useful.

How do you coordinate the project?

Stian: The trackers are the most important part of the project administration. They prevent the developers from working on the same tasks and also facilitates the communication with our community. This is especially important because the developers are free to choose their own tasks. We are using a mailing list for the internal communication in the team, but private e-mail messages are also used frequently -- especially when making comments on the code written by fellow members of the team.

Do you work on the project full-time, or do you have another job?

We all work on it only part-time.

If you work on the project part-time, how much time would you say you spend, per week, on it?

Stian: I spend one hour each day reading e-mail and doing administrative work. The programming is done whenever I have time to spare. Sometimes I can spend up to 28 hours in one week, but the average is less than 10 hours per week.

Lars: I worked about 15 hours per week.

Michael: 2 to 10 hours per week, occasionally a bit more.

Sergio: There are weeks I can spend 3 or 4 hours per day and others when I only can read my mail and spend 1 or 2 hours per day.

What is your development environment like?

Stian: Dell Inspiron 6400 with Dual Core 1.66GHz CPU, 1GB RAM, Dual Screen, and Kubuntu. I am using Eclipse as my IDE. We use Ant for building and LaTeX for creating the game manual.

Lars: Athlon Thunderbird 1050MHz running Gentoo Linux. I compile using Sun's Java.

Michael: Core2 Duo, Etc, Emacs.

Sergio: AMD64 (Sempron) with Kubuntu. My IDE is NetBeans because it was using less memory than Eclipse, and when I joined to FreeCol team, the game was using too much memory and I needed all my RAM to run the IDE and two instances of FreeCol to debug multiplayer.

Milestones:

  • FreeCol 0.1.0 2003/01/02 -- Our first release
  • FreeCol 0.2.0 2003/03/26 -- The first release completely written in Java
  • FreeCol 0.3.0 2004/09/30 -- Made it possible to play and win a multiplayer game
  • FreeCol 0.4.0 2005/06/23 -- Added more features to the game
  • FreeCol 0.5.0 2006/07/23 -- Made it possible to play and win a single-player game
  • FreeCol 0.5.3 2006/12/05 -- Current release
  • FreeCol 0.6.0 (Planned) -- Improve game play and visual appearance
  • FreeCol 0.7.0 (Planned) -- Add map editor and scenarios
  • FreeCol 1.0.0 (Planned) -- The final polish

You can get more information from our roadmap.

How can others contribute?

We need all sorts of people on our team -- read about How to Contribute.


More projects of the month


Project Name: FreeCol

Project leaders:

Name: Stian GrenborgenStian Grenborgen
Title: Project leader
Age: 24
Occupation or experience: Studying for Master of Science (4 years completed)
Location: Oslo, Norway

Key developer(s)

Name: Lars Willemsens
Title: Project founder

Name: Michael BurschikMichael Burschik
Title: Developer

Name: Sergio CambraSergio Cambra
Title: Developer

Name: Robin Hanquier
Title: Graphics designer

Name: Stephen EchaviaStephen Echavia
Title: Graphics designer

Name: Ivica Ico BukvicIvica Ico Bukvic
Title: Music composer

Quote about SourceForge.net?

"SourceForge.net is just the natural place to put an open source game."

Why did you place the project on SourceForge.net?

For two reasons:

Using SourceForge instantly turns the project into a team effort. SourceForge provides an infrastructure (CVS, Web site, etc.) that would otherwise have to be paid by developers or through donations.

The number one benefit of using SourceForge.net is:

Being listed on the software map. A lot of people use this list when searching for new games, and potential developers do the same.