Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What do you make of FreeCiv?

http://freeciv.org/



FreeCiv has largely succeeded in making a "more fun" Civ2-like environment. They've backported some things from Civ4/5/6, like hex-maps, culture, and also changed some mechanics to better interact with these backported items (Democracy's "Deployed Troops" penalty now extends to your culture-zone, instead of cities/fortresses only, which makes sense).

FreeCiv in general suffers from outdated UI-choices. QT-client solves a lot of the issues though, and hopefully will evolve into something better.

FreeCiv got an incredible "solver" embedded into its engine, allowing you to optimally place your citizens. But the use of this solver-engine is arcane. Proper use of it leads to cascading advantages over your foes however, so its a must have to learn. (especially in auto-calculating rapture situations)

The use of optimal trade routes (with a good solver available in the FreeCiv-GTK client, but not in QT ... at least last time I checked) also is a major advantage to the players who use it.

-----------

FreeCiv is likely a highly competitive, highly optimized game. But the community seems split and fractured. Some want to use FreeCiv-Web (and without the Governor / Trade route solvers, its a very different game), others like me prefer to play highly-optimal Civ2-like games.

FreeCiv's solvers (both the Governor solver, and the Trade Route solver) presents a difficult question to the community. Is the use of arcane constraint-solvers part of the metagame? If deployed for free so that everyone can use them, is that fair?

Its one additional step to learn before you can be an effective, competitive, FreeCiv player. But knowing that these lower-level items are "solved" by solver-systems makes it really, really difficult to go back to Civ5 / Civ6 (!!). So many times do I look at my citizens placement and realize that the AI-placement of citizens is terrible compared to the FreeCiv solver...

----

The "core" of FreeCiv is pretty incredible. The solvers to make provably optimal choices (well, at least "locally optimal", such as most trade from a collection of 12-cities trade routes + auto-caravan decisions). As well as the use of "symmetrical island maps" to ensure everyone has equal starting-positions, and the first to deploy "concurrent turns" (long before Civ5 did).

It plays like a macro'd up / steroids version of Civ2 + minor mods as a result. The community needs to unify and decide if this version of the game is how it should be... and if so, rebalance the game in this field.

Well, basically, FreeCiv-web vs FreeCiv-GTK/QT flamewars in a nutshell.


> Is the use of arcane constraint-solvers part of the metagame? If deployed for free so that everyone can use them, is that fair?

Mu. An experienced game designer should have the perspective here that this part of the game is just a tedious bore.

1. The computer can calculate the optimal placement of citizens in a fraction of a second, and a micromanaging human will never exceed the best results. He can only find the same placements, only slower. That means there is no point in abstaining from using computer generated solutions.

2. The game allows to generate solutions that are strictly worse than another, e.g. 0 nutrient, 1 mineral, 1 energy vs. 1 nutrient, 1 mineral, 1 energy. There is no point to this.

The part of the game should be changed to make it fun. Either introduce meaningful trade-offs by interacting with a game mechanic where the optimal outcome cannot be simply calculated (complexity increase), or take away player control and completely automate it (complexity decrease).


#1 is correct, but #2 is wrong.

During war, gold is useful in Civ as it can instantly create units. But science is better in the long run (a heavy science build can get ironclad battleships by 0AD in game time)

The FreeCiv governor is a solver where you input your goals (maximize science vs maximize gold) and then the solver solves the optimal placement.

But it only works if the human gives it the right goals.

Even with a science focused build, a city in rapture will generate more science. But do you solve for rapture conditions? Or do you solve for science optimization?

Is there a key science that will increase happiness (temples, banks, colosseums?). Is so, maybe having a short term science focus for some +happiness is going to be overall faster.

What if one city has more gold buildings? Should this city use the same solver as the rest of your cities? Or do you want this one city to focus on gold and let the rest of your cities handle science?

If the solver fails to solve for your conditions (ex: no starvation is a common solve condition. But maybe my enemies are pillaging my farms and starvation is always going to happen now...) How does the solver react? Should it reduce starvation as much as possible? Or should it stop and point out the problem to me?

Maybe I can't rely on food supplies in that city and need to build caravans to import food from a nearby city. The governor doesn't have control of units, only of the city. Maybe I need gold in my other cities to buy caravans to send food to the starving city, while far away cities continue to focus on science.

-------

EDIT: It should be noted that the Governor can sometimes be unhelpful. For example, if you have two cities within a rare "whale" tile (whales are one of the best tiles in the game), only one of those cities can benefit.

The governor of the two cities will fight for the whale, meaning one city will randomly not get the whale.

In such "fighting" situations, you disable the governor, then manually choose which city gets to work on the whale-tile, and then turn the governor back on. The governor is only "locally optimal". It still requires the player to make globally optimal decisions (ie: a bad choice for city B means city A benefits more, and maybe you have multiplicative bonuses in city A (due to trade routes, buildings, specialists etc. etc.) who can benefit from the whale more than B ever could).

Choosing to make "city B" play suboptimally is a strategy, to make your overall civilization more powerful. The governor doesn't have such insight, and must be disabled entirely in these situations.

That's what makes "using" the governor so hard. Its "just" a locally-optimal solver.


> but #2 is wrong

Nonsense, it's been that way since Civ 1. Demo (Freeciv 2.6.4): https://files.catbox.moe/3af6xu.webm


When two cities are close to each other, only __one__ of those cities can get the good tile.

Where "good tile" is whale, pheasant, or maybe a highly built up tile (railroad + mine on coal). That means choosing which city gets which tiles becomes important.

Turning off the governor and picking-and-choosing locally suboptimal (aka: bad for City B) but better (aka: good for City A is better overall), especially in a game with cascading multiplicative bonuses (Rapture bonus * Bank bonus * Marketplace Bonus) really means that CityA might be favored more than City B.

Or maybe, City B is smaller, but overall in better placement. So maybe you want to have fewer resources overall, but grow City B to rapture size faster. So maybe City B deserves a more optimal placement than A.

-----

Civ is filled to the brim with "locally optimal, but globally suboptimal" strategies. That's why you have the option to turn off the governor and manually plan things in these corner-case situations. The governor works in 99% of cases though.

Getting it right in those 1% of situations is the difference between a rapture-to-size 15 vs getting stuck at size 3. The game is very "sharp". A slightly suboptimal move cascades as the turns progress. (Being 1 turn ahead can become 2, 3, 4 turns ahead as you progressively accelerate faster and faster into the higher-tech items)


I miss this old tileset:

[1] https://freeciv.fandom.com/wiki/Tileset_Downloads?file=Strat...

That gave the thing a very abstract feeling, some kind of mix between cyberspacy tron and armchair general. In my mind at least :-)


Thank you for the perspective! I guess such solvers would be quite easy to implement client-side with some webassembly.

Another OSS re-creation I've had fun with lately is UnCiv. Though unfinished, it's quite good already.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: