I would very much like to have hex maps as default

You can get help here if Freeciv doesn't start on your computer, or if you keep getting fatal errors while playing etc.
Post Reply
Gavroche
Posts: 24
Joined: Wed Dec 26, 2018 8:52 am

I would very much like to have hex maps as default

Post by Gavroche »

I like hexagons and I can't lie. Each time I start a new game I must remember to
More Game Options::"Game Settings"::[Geologial]/Map topology 🗹 Hexagonal
whereupon the console says
Saved options to file ~/.freeciv/freeciv-client-rc-3.0
Perusing this file, I find no trace of this option.
Quit Freeciv completely, launch anew, start a new game : the option is not saved.

Trying to learn more, I find this here that says "Hex topology is the default in new installations. Old installations may have saved preferences that make them still to use iso topology. GNAPATCH#7915"

Mine is ideed an old installation, recently updated to 3.0. I do have the file /usr/share/games/freeciv/civ2civ3/game.ruleset where lines 1234 - 1245 are

Code: Select all

[settings]
; freeciv game settings for civ2civ3 ruleset
;
set =
    { "name", "value"
      "aifill", 6
      "generator", "FRACTAL"
      "topology", "WRAPX|WRAPY|ISO|HEX"
      "mapsize", "PLAYER"
      "tilesperplayer", 100
      "tinyisles", "ENABLED" 
I can't find any other file in ~/.freeciv/ that would override this. Maybe I didn't look hard enough ? Shall I file a bug ? Is there a workaround ?
cazfi
Elite
Posts: 3111
Joined: Tue Jan 29, 2013 6:54 pm

Re: I would very much like to have hex maps as default

Post by cazfi »

Gavroche wrote: Wed Jun 28, 2023 10:10 pm
Saved options to file ~/.freeciv/freeciv-client-rc-3.0
The likely explanation here is that the settings make specific (non-hex) tileset the authoritative setting. I.e. that the topology setting get adjusted to match the tileset, and not the other way around. We do have a bug ticket about that case (the migration path of the client settings from version to version have been extremely ugly regarding these settings)

Simple fix: Delete all ~/.freeciv/freeciv-client-rc-?.? files, and start a fresh with all-default settings.

Better fix, preserving your settings: Find line with 'default_tileset_name=' from freeciv-client-rc-3.0, and change value part of that line (could be e.g. "amplio2") to "hexemplio", or some other hex tileset you like.
Gavroche
Posts: 24
Joined: Wed Dec 26, 2018 8:52 am

Re: I would very much like to have hex maps as default

Post by Gavroche »

It works.

It's a small thing but it makes me happy :)

~/.freeciv/freeciv-client-rc-3.0 was recreated anew only after I tweaked some settings again. For reference, below is the difference

Code: Select all

< default_tileset_name="hexemplio"
---
> default_tileset_name="amplio2"
I don't think I see this anywhere in the GUI. It may be that ergonomy is one territory not fully conquered yet ;)
cazfi
Elite
Posts: 3111
Joined: Tue Jan 29, 2013 6:54 pm

Re: I would very much like to have hex maps as default

Post by cazfi »

Small improvement to that part went in to freeciv-3.2 development version recently, retiring that ill behaving "default_tileset_name". Unfortunately that fix cannot be backported to older branches.
Gavroche
Posts: 24
Joined: Wed Dec 26, 2018 8:52 am

Re: I would very much like to have hex maps as default

Post by Gavroche »

What constitutes an "authoritative setting" isn't all that clear to me. For example, initial units are determined by the ruleset, overriding the preferences. Then apparently stored in the player's preferences, which take precedence when another ruleset is choosen.

For what it's worth, I have hereafter listed the variables that appear both in ~/.freeciv/freeciv-client-3.0 and /usr/share/games/freeciv/civ2civ3/game.ruleset

Code: Select all

aifill
citymindist
flatpoles
foggedborders
generator
mapsize
occupychance
razechance
revolentype
startunits
techlevel
techlossforgiveness
temperature
Anticipating which setting will win (and when and why) seems to be obscured by the fog of war ;)
cazfi
Elite
Posts: 3111
Joined: Tue Jan 29, 2013 6:54 pm

Re: I would very much like to have hex maps as default

Post by cazfi »

Gavroche wrote: Sun Oct 15, 2023 10:31 amFor what it's worth, I have hereafter listed the variables that appear both in ~/.freeciv/freeciv-client-3.0 and /usr/share/games/freeciv/civ2civ3/game.ruleset
Any server setting can appear in either, or both, of those.

Assuming you are using one of the latest releases (bugs have been fixed relatively recently), settings from the ruleset get applied already when the ruleset loads, and then the client overrides those that it wants to. The latter works exactly (under the hood, it's implemented that way) like changing the settings via chatline "/set" -commands.
Of course, things get more complicated if you are not talking about single-player game where the server is launched by the client, but about multiplayer game where user/client rights to affect the server state come to play.
Post Reply