This time I want to write about one of my favorite games - Civilization. But it is not one from Sid Meier's Civilization series. Freeciv is free game as says it's title and also it is open source game. First version of game was created in 1996 inspired by Sid Meier's Civilization.

I have already wrote how to install Freeciv server on Raspberry Pi. So Freeciv has not only single player game mode, but it also supports multiplayer over local network or Internet. It is possible to create new multiplayer game or connect to existing game. There can be found several public Freeciv servers. Also exists game modes when user should make one turn in a day. More information about Longturn games can be found here - https://freeciv.fandom.com/wiki/Longturn

I have installed Freeciv server on Raspbeery Pi and now can connect from different devices using Windows or Linux computers. So can play one game for multiple days - server will be always accessible. Game progress is automatically saved each turn. It is enough resources on Raspberry Pi 3 to handle Freeciv game, but on late game, when there are many cities and units next turn can be processed during several seconds, loading one of Raspberry Pi cores up to 100%.  

Gameplay and graphics are similar to Civilization 2 game,  but it can by highly customized. When user creates new came he can configure lot of parameters about map, game rules, players. By default creating new game multiplayer game is created. Users can connect to game, other players will be bots. Of course it is more interesting to play with live people rather then computer bots.

You can choose difficulty level for bots. Computer plays very good, so selecting easy level computer will evolve very fast. I have played almost all Civilization versions starting with first Civilization, but computer with easy difficulty level plays better than me. Fortunately computer is not very aggressive - it had enough power to destroy me, but it only defends himself. May be it will behave differently on higher difficulty levels.

One of the Freeciv differences from other Civilization games is that it has multiple interfaces. Interface can be selected installing different versions on Windows or specifying some parameters compiling game in Linux environment. So Freeciv will have the same functionality, but will look differently. There are several interfaces:

  • gtk3 - mainstream client
  • qt - alternative mainstream client
  • sdl - experimental and more immersive client

Most of all I like sdl client. It has more intuitive interface and does not have classic menu at the top of screen as gtk3 has.  Freeciv graphics is very simple - it has not units animation, only static images. It has some basic sounds when units are moving, music when starting game in main menu. So player can focus only on gameplay. Freeciv has lot of shortcuts, so it can be used for quick action without mouse.

Starting game should select nation from large list. I think list is larger than it is in any other Civilization game. But I think they have no differences from one another except city names that are proposed by default founding new city by settlers.

Freeciv has several type of resources: food, production units, trading units. They can be extracted from fields near city. Larger cities can work on more fields around city. But larger cities have more unhappy people. To make them happy should build temples, coliseums or spend more money on luxury. Some fields can give more food, production, trading if there is some kind of resource: whales, wheat, fruit, fish, coal, oil and other.

Game also have diplomacy. You can make peace or war, make alliances, trade with technologies. If you are allied with some computer player, than you can have common vision - can see all that sees other player.

There are large technology tree. One of the feature I like is that you can select some goal technology and game will automatically research all technologies that needed to research to reach that technology.

The same can be done with construction building - you can select multiple constructions and they will be creating in queue.

Worker units or engineers in later game can improve tiles - build irritations or mines. Engineers even can change tile types - from wood to planes, from swamp to planes, or even from ocean to swamp or from swamp to lake. Roads and railroads can make unit to move faster and also helps to produce more resources from tiles. But using such infrastructure enemies can also move faster and conquer your state faster.

There are several forms of government. Player can select one of them if it is already discovered. Between government form change will be several turns of anarchy. In Freeciv government types are:

  • Despotism. Lacking written words or laws, you rule simply through the force of personality - whose effect decreases rapidly with distance from your capital, leading to heavy corruption.
  • Monarchy. Written laws and uniform religion offer the monarch power enough to support an active military while keeping corruption from overwhelming trade.
  • Communism. With science and industry come the tools to impose military control over the workers and implement a planned economy, while suffering only a slight but uniform level of corruption.
  • Republic. The people respond to freedom with increased trade under this ancient form of government, but disapprove of military action.
  • Democracy. Modern participatory government and free enterprise eliminate corruption, allowing trade and science to thrive -- but free citizens agitate most strongly against warfare

Freeciv is not so visually attractive as modern Civilization games, but it has interesting gameplay, it works almost on all platforms: Linux, Windows, Raspbery Pi, Android. It can be played with friends - that feature is supported not by all Civilizations. Of course there are several bugs. For example sometime game simply closes or there are some visual bugs when unit is not changed visually when upgrading it in city unless you close and open city window. I hope game will evolve and enthusiasts will continue to develop new versions.