Page 1 of 1
I would very much like to have hex maps as default
Posted: Wed Jun 28, 2023 10:10 pm
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 ?
Re: I would very much like to have hex maps as default
Posted: Thu Jun 29, 2023 12:28 am
by cazfi
Gavroche wrote: ↑Wed Jun 28, 2023 10:10 pmSaved 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.
Re: I would very much like to have hex maps as default
Posted: Mon Oct 02, 2023 3:49 pm
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

Re: I would very much like to have hex maps as default
Posted: Mon Oct 02, 2023 5:40 pm
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.
Re: I would very much like to have hex maps as default
Posted: Sun Oct 15, 2023 10:31 am
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

Re: I would very much like to have hex maps as default
Posted: Sun Oct 15, 2023 3:22 pm
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.