The Freeciv project was founded on November 14 1995, by Peter Joachim Unold, Claus Leth Gregersen and Allan Ove Kjeldbjerg. The three Danish students created this open source strategy game while studying computer science at Aarhus University. Today, 20 years later we have interviewed the founders of the project to find out about the early history of Freeciv.
– Why did you decide to create Freeciv as an open source game?
Peter: As I recall it, we had compiled a range of networking games for X which we played in the CS lab of the university. At some point we fetched OpenCiv – a networked Civ clone written in Python. We quickly rejected the game because of terrible performance. There and then we decided to create our own version written in C. I believe we were primarily driven by the wish to actually play a networked Civilization ourselves.
Why open source it? I think we considered writing the game a learning project and a hobby. Besides the entire culture around unix gaming was open source at that time. Distributing a game as a binary would be nasty. In our lab we were using SunOS/Solaris/HPUX/Irix. Can’t actually remember that we had Linux as a target at that time. Source code really was the only realistic distribution form at that time. Only exception would be the Doom binary which appeared in these years.
Claus: We didn’t target Linux in the beginning, we did all of the code in the basements of DAIMI, which at the time didn’t have any Linux machines. The Silicon Graphics machines running Irix was my favorite OS at the time, and they were really good workstations for developing games.
– When was the Freeciv project founded, in your opinion?
Peter: I remember we pulled an all-nighter as we worked on the first public release(version 0.8beta I believe). We had invited some friends to join us in the CS-lab to play-test and the game would crash for various reasons. We would fix the bugs, re-compile and have everybody restart their client. Tons of issues surfaced and I think we worked through to the early morning before we did the beta release.
– What was the reaction to the initial releases?
Peter: Highly positive. Checking my mail archive I find congratulations, patches and constructive bug reports from the early days. People would mail us save-files that would demonstrate a problem or feature requests – sometimes with a ready implementation.
– Why was it the three of you specifically who created Freeciv? How did you first meet?
Peter: The three of us were studying Computer Science and spend a lot of time in the computer labs. This was a time when you had the choice between using your x286 based PC at home with a 28.8 baud modem or go to the lab and use a Unix workstation with high speed Internet. The result was that the labs were often full with students working on more or less study related projects. The three of us were part of a larger group of students, who had started studying in 1990 / 1991.
Claus: We had great access to the Internet 5 years before anyone else and we used the hardware for all the stuff we found interesting, which was out of scope for what the faculty found was good usage for the hardware. We never got any credits what so far academically.
The irony of it all is that last year when i had a couple of computer science applying for a job, they told me that they had assignments of doing bits and parts of a civilization clone at the university as part of the studies, so i guess that the university got smarter in the meantime.
Peter: I think one could say that we were part of a bigger CS and EE students culture throughout Europe and the US. Many projects were build in similar lab environments. I think it was a pretty unique time as so many geeks would almost be forced to go to these “coworking spaces” to get access to good internet and workstations.
– How important to the early success of Freeciv was being included in Debian and other Linux distributions?
Peter: I think that happened after our involvement: However I’m quite sure it was essential for reaching the next distribution level after the “compile everything yourself” crowd.
Claus: No that was in our time, we were really happy about it, I have no clue how important it was, we had no sort of stastistics.
-How long did it take from you decided to develop Freeciv until the game was playable? Can you share something about what you did in this time-period, and how much time was spent on Freeciv in this time?
Peter: We were probably not studying very hard in those days. I was mostly responsible for the client code and remember struggling with Athena widgets and X shared memory extentions and what not. I vaguely remember spending time around xmas working on the packet serialization code.
Claus: i remember that all major concepts, world generation, cities, buildings units, research, combat was actually done quite fast. But after that there was a long period where i was interested in getting the rules right, i realized there was a lot more detail to it than i had expected. Also due to the limited datastructures, we had many bugs to iron out. I already had some of the code like the map generator and the save game read/write code so it wasn’t done entirely from scratch.
– Do you have any stories about the founding and initial development phase of the game that you want to share?
Peter: During the development we were sponsored by the math department of the university(though they were not aware of it). We figured out a way to “hack” the coke-machine resulting in 3-4 bottles for the price of one.
-The source code of Freeciv 1.0a can be found on Github here. Perhaps you would take a quick look at this code and see if you have any opinions of this early version today?
Claus: We left Freeciv at around 1.7 if i recall it correctly, at that point we had implemented the main features and rules of civilization. I’ve always been very pragmatic when developing, not that i don’t like a good architecture, but it’s the features and stability that’s always been the main drivers for me. We did some experiments with macros for iterating the data structures, which was a pain with and without.
– What do you think of Freeciv today, 20 years later?
Peter: I installed the current version on my Workstation(running Fedora) and it looks pretty damn great. Picked “Denmark” as my nation as was happy to see that my first city was named Aarhus and not Copenhagen 🙂 Seriously the game plays really nice and it’s obvious that much energy and talent has been put into improving the game after it left our hands. Really demonstrate the power of Open Source.
Claus: What was really cool back then was that our users didn’t just complain about bugs, they also sent us patches with fixes. Also take a look at the contributors list, it’s crazy long, so many people has cared to put time and effort into putting their own fingerprint on the game. I don’t think they just did it to scratch their itches, but it was more to be part of the development. Freeciv was one of the biggest early successes for the bazaar development model.
– Anything you would like to say to Sid Meier if you ever got the chance?
Claus: Thanks for all the great games! I’ve been a great fan of Sid i spent most of 1987 playing Sid Meier’s Pirates!, which to me is an epic classic. The game covers a lot of aspects, and the balance was impressive you could play a single game for days without getting boring. Pirates and later Civilization had a great use of the english language, phrases like: “Consequences, schmonsequences” really says nails it. These touches has for me has always been more important than fancy graphics.
So on November 14 2015, we would like to take the opportunity to thank Peter Joachim Unold, Claus Leth Gregersen and Allan Ove Kjeldbjerg for founding the Freeciv project. Since they founded the Freeciv project, a large number of people have contributed to the project. For more information about the early history of Freeciv, these pages on the wiki are relevant: In the Beginning and Timeline. Today you can also play Freeciv in your browser with Freeciv-web.
Feel free to leave your comments in the section below. Here are some more screenshots of early Freeciv: