True Starts option (work in progress for v1.05)

f1rpo

plastics
Joined
May 22, 2014
Messages
1,709
Location
Germany
I've been working on a game option that chooses civs based on the starting tiles and their surroundings for all players whose civ was set to "Random" during game setup. Screenshots attached (9 in one big jpeg), and the current state of AdvCiv 1.05 with this option included can be downloaded from GitHub (unzipped folder needs to be renamed to just "AdvCiv"; and the new option need to be checked on the Custom game screen). Edit (March): Link obsolete as v1.05, incl. the new option, has been released.

I've named the option "True Starts" (TS); that (or TSL for "true starting locations") seems to be the term that Civ 5 and 6 players have come to use for scenarios with historical starting locations. TS is similar to Culturally Linked Starts, which, however, only tries to recreate the geographical distances between civs. (See the "map_enhanced" screenshot in that thread – no desert at all where the "Middle East" civs have been placed.)

The difference from the starting biases in Civ 6 (and Civ 5) is that the TS option picks the most fitting civs from among all 34, whereas Civ 6 picks a civ for each of the, say, 8 players uniformly at random and then looks for the best assignment of the 8 starting tiles to those 8 players. Moreover, TS is not intended as a mere "bias" but as a best effort to match each civ's historical geography. That said, like the Civ 6 bias, TS does not affect the map generation process (for the most part, see below), nor the placement of the starting locations.

TS does swap bonus resources around as a final step after a civ has been assigned to each starting location, e.g. (excerpt from logfile)
Spoiler :
Swapping bonus resources Silk (38,33) and Wine (49,12)
Removing feature Forest from (38,33)
Moving Silk to adj. destination (48,13)
Ideally, these swaps should not make the map look unnatural, nor affect the balance of the starting locations. TS also makes it less likely for land to be placed near the equator on Fractal-based maps – to have more starting locations suitable for the many European civs in the game. (As my screenshots demonstrate, this does not rule out maps with a lot of jungle.)

I'm still tweaking things in order to accomplish a more even frequency distribution among the civs over a series of games. My latest stats about that:
Spoiler :
Number of occurrences per civ and leader on a Fractal map with default settings, regenerated 9 times, i.e. 10x8 occurrences in total.
Code:
Maya 7
Russia 7
   Catherine 4
   Peter 3
   Stalin 0
Greek 6
   Pericles 3
   Alexander 3
Persia 6
   Darius 4
   Cyrus 2
Ethiopia 5
Celts 5
   Brennus 4
   Boudica 1
German 5
   Frederick 4
   Bismarck 1
China 5
   Qin 4
   Mao 1
Khmer 4
Viking 3
Zulu 3
Portugal 3
Carthage 3
Aztec 3
Mongol 3
   Kublai 2
   Genghis 2
India 3
   Ashoka 2
   Gandhi 1
Mali 2
Japan 2
Inca 2
America 1
   Roosevelt 1
   Washington 0
   Lincoln 0
Korea 1
Native American 1
-- 22 have occurred, 12 haven't:
Babylon 0
Sumer 0
Arabia 0
Egypt 0
Byzantium 0
Ottoman 0
Rome 0
HRE 0
Spain 0
France 0
England 0
Netherlands 0
Most of those no-shows had been occurring before, some even too frequently. Getting Sumer and Arabia to appear more than once in a blue moon is probably a lost cause on this map script. Netherlands and Rome yet to be investigated. The rest I can probably get to work by adjusting civ bias values in my XML files.
I've done a decent amount of smoke testing with unusual map scripts and scenarios, but not much AI Auto Play testing lately, so some issues might occur when trying to actually play a game with this development version of the mod. I haven't yet played a game with the TS option myself yet, so I don't know if the semi-realistic geography really enhances the experience. I did play a game a while ago in which the (AI-controlled) Maya randomly started near the equator and that was quite a frisson to me – which is what prompted me to revisit this idea I had 2 or 3 years ago.
 

Attachments

  • ts_fractal.jpg
    ts_fractal.jpg
    3.8 MB · Views: 113
Last edited:
Must admit I'm not particularly interested in TS type options, but excited to see further development on the mod
 
Seems like a good idea, after all it is a little bit rediculous for civilizations with the fishing tech to start in the middle of a continent or those who's special unit requires early copper or iron but starts without any metal resource anywhere near them. But other than that if I want historical starts then I'll just play the historical scenarios . . . speaking of which . . . it may be worth going over the included scenarios and getting those civilizations to start in their historical locations, Earth 18-civ already does that but not the others.

Regardless, great to see active development. I've told myself several times that I should delete civ 4 but I keep coming back and (almost) all I've been playing is your mod.
 
It's in the realm of marrying historical starts with random maps so as to still have the element of exploration. One could also look at it as "if I'm going to play a random civ, why not play one that happens to fit my random starting location?" Well, there are a few reasons of course – the civ chosen by TS provides immediate clues about the surroundings of the starting tile (and about the surroundings of any civ encountered), including, as you've noted, hidden resources. That said, TS does not, for the most part, encourage resources required by early unique units like War Chariot because that would imo make them too powerful, especially compared with Dog Soldier and Jaguar – whose main advantage is their reliability. The swapping of resources can also be disabled entirely through an XML setting.

I don't think the single-continent scenarios are intended as historical scenarios. Except for Europe, there aren't enough appropriate civs to somewhat fill those enormous maps. And there are no resources, i.e. resources get placed randomly ... They do have some fixed starting sites (though not for specific civs); e.g. Europe has 6. Adding more would arguably be an improvement, but I can't imagine that those scenarios play well with their highly uniform terrain, so, to avoid the impression that they've been overhauled or somehow specially curated, I wouldn't want to include them in the mod.

The TS option can actually be used for scenarios, and Earth18Civs has been quite helpful for testing. I've also tried the others, but they're just too different from random maps to expect a high degree of congruence; screenshot attached. To get TS to work reasonably well with those scenarios, their latitude limits need to be adjusted. (E.g. Earth18Civs has its 0-latitude equator too far north.) Since I didn't want to touch the WBSaves, I'm making those adjustments through the DLL for the time being.

I started working on my own Earth scenario (link) a few years ago; never finished it (though the Old World is playable). I'd sooner pick that up again than engage with Earth18Civs.
Regardless, great to see active development. I've told myself several times that I should delete civ 4 but I keep coming back and (almost) all I've been playing is your mod.
Thanks, but don't let me be the one to tether you to this ancient game. :)
I'm not doing much with the mod, just little things that I run into in my own games and tests.
I would've implemented the TS option as a standalone component, using perhaps mostly Python code, but overruling the random civs chosen by the EXE requires (even somewhat intricate) DLL changes, and it's just far easier for me to get things done with all the helper functions and macros that I've added over the years. I guess TS also goes nicely with the Rise & Fall option for an Alt-Earth-simulation type of experience.
 

Attachments

  • Europe-TrueStarts.JPG
    Europe-TrueStarts.JPG
    411.3 KB · Views: 75
If you include it in a future update I'll happily play it : ) As said, if it means that civs with fishing start near water, civs with farming start near fresh water, civs with hunting start near animals etc then I think it is a good addition to the game. I'm just ambivalent beyond the mechanics of relevent starting tech.

I sometimes feel I should play a different game or different mod, but these days I just want a reliable, enjoyable distraction for my free time where I must think and plan. Civ 4 with advmod provides that. Other games are too simple, too complex, or take too long to play.
 
I can understand that. (Once in a while I start Jagged Alliance 2 and just capture the city of Drassen. That game's also old and tedious, despite some quality-of-life mods.)

Matching the starting techs hasn't been on my radar, but – let me check – apart from Native America (which could be anything, but has the strongest association with the Great Plains), TS does try to place the Fishing civs near the coast. Well, Spain not that much either as Madrid and the Castilian capitals aren't close to the coast. (There's Spain's maritime history too, of course, on the other hand.) Hunting civs and Camp resources ... might also not line up too badly. The Aztec won't have anything to hunt as Ivory doesn't belong in the New World and TS doesn't override the latitude restrictions of resources, so, no Deer or Fur in Mexico.
 
Matching the starting techs hasn't been on my radar, but – let me check – apart from Native America (which could be anything, but has the strongest association with the Great Plains), TS does try to place the Fishing civs near the coast. Well, Spain not that much either as Madrid and the Castilian capitals aren't close to the coast. (There's Spain's maritime history too, of course, on the other hand.) Hunting civs and Camp resources ... might also not line up too badly. The Aztec won't have anything to hunt as Ivory doesn't belong in the New World and TS doesn't override the latitude restrictions of resources, so, no Deer or Fur in Mexico.

At least near cow/sheep/pig so the tech isn't useless as they can more quickly get animal husbandry. Though, none of those are historically accurate for aztecs either. Though, the idea that people settled down into civilizations and then learned how to hunt animals is kind of rediculous in the first place.

My perspective on it is that making starting techs rational for the starting locations in generated maps would be a great addition and would fit seamlessly (let's call it a "rational start"). That is; fishing near water bodies, agriculture near fresh water (or farmable resources), hunting near animals (including cow-pig-etc), mining near hills (or mineable resources). I think something like that would be an overall improvement in the game mechanics and could be included in the mod by default. The historical start you describe seems like something that should an optional toggle.

I've been having alot of fun with the 18-civ historical map recently but, other than trying out DOTO, I've pretty much stuck with advciv and generated maps. I'm dissapointed that the other scenarios don't have the civs starting in their true locations but I understand your explanation about their problems and why you wouldn't want to change them (not without a significant overhaul of the maps). I should try the middle ages scenario next.

I remember reading that a few other mods/scenarios were looking at porting advciv into their existing mods. Do you know of any other mods/scenarios that use advciv (other than DOTO and this new "advcivplus")? I heard that Kmod (which advciv is based on) was ported to many others but I've also heard that it is very militaristic and so forces the game down that route (I find advciv quite a nice balance where maintaining peaceful relationships is definitely a challenge but doable).
 
Starting techs as a civ distinguishing feature is kind of fragile anyway. Maybe an alternative solution rather than adjusting starting techs to the map location programmatically, every civ should start without any techs but be granted two free techs right after the starting location is revealed (or first city is settled?).
 
Sorry about the long delay.
I remember reading that a few other mods/scenarios were looking at porting advciv into their existing mods. Do you know of any other mods/scenarios that use advciv (other than DOTO and this new "advcivplus")?
No, I don't. There ought to be some standalone scenarios that are compatible with AdvCiv. I've just tried launching the most-downloaded scenario in the database, Earth 1862, and, well it crashed because one of the civs doesn't have a capital. If I add BuildingType=BUILDING_PALACE to the city of Torino (through a text editor), the first few turns seem to work OK on AI Auto Play. Although the Garibaldi player owning the Apostolic Palace despite having no state religion also doesn't bode well, so I'd want to add StateReligion=RELIGION_CHRISTIANITY to that player. And the AdvCiv behavior may not at all be what the creator of that scenario had in mind ... So playing such complex scenarios with the mod may not be advisable. I test Earth1000AD from time to time (the "middle ages scenario" you mentioned?), so it should technically work, but the AI behavior could be inappropriate.
I heard that Kmod (which advciv is based on) was ported to many others but I've also heard that it is very militaristic and so forces the game down that route (I find advciv quite a nice balance where maintaining peaceful relationships is definitely a challenge but doable).
Until the end game (and assuming that Aggressive AI is disabled), K-Mod does respect the attitude-based no-war probabilities, even more so than AdvCiv, so diplomacy is not a lost cause. Some claims that it's extremely aggressive may also still stem from early versions that had e.g. enabled AI Archer rushes. But I do agree that it's too aggressive. Why exactly that's the case is a bit of a mystery as the decisions about starting war preparations follow essentially the same (simple) logic as in BtS.
[...] Actually, most of the war-declaration stuff is unchanged. It's still mostly random, and mostly based on the war rand xml values. [...]
I suppose the biggest factor is that K-Mod relaxes some (fairly irrational) limits on unit spending. That, arguably along with more efficient AI decisions overall and (over-)aggressive use of Slavery, leads to big AI armies. More military power doesn't have to imply more war, but I guess, indirectly, it does have that effect. And allowing the AI to prepare for war while a peace treaty is still in effect seems like another consequential K-Mod change.

The only mature mods based on K-Mod are, according to my crib sheet, Realism Invictus, History Rewritten, Civ 4 Reimagined and RFC The Sword of Islam and some fantasy mods. I know Realism Invictus has made some XML tweaks to leader personalities in order to rein in the K-Mod aggressiveness (which was also amplified by Realism Invictus's custom game speed). The others may have made adjustments too.
 
At least near cow/sheep/pig so the tech isn't useless as they can more quickly get animal husbandry. Though, none of those are historically accurate for aztecs either.
They're not getting those either. Which sounds like a lot of resources to clean up, but it usually works out; just 25% of all resources in the game are out of place in America.
Though, the idea that people settled down into civilizations and then learned how to hunt animals is kind of rediculous in the first place.
Yeah, hard to come up with a charitable interpretation for that tech and its effects. I think the game really would be better off without the Scout unit; the fast exploration is more spoiler than fun. The Wheel predating Pottery and Animal Husbandry is also regrettable, and Road isn't even useful at the (very) start of the game.
Anyway, if you chase two rabbit holes ...
My perspective on it is that making starting techs rational for the starting locations in generated maps would be a great addition and would fit seamlessly (let's call it a "rational start"). That is; fishing near water bodies, agriculture near fresh water (or farmable resources), hunting near animals (including cow-pig-etc), mining near hills (or mineable resources). I think something like that would be an overall improvement in the game mechanics and could be included in the mod by default.
To me, there is mainly a problem with Fishing. Fresh water and hills are all but guaranteed by most map scripts, Hunting always grants the free Scout (quite valuable with goody huts enabled). Placing at least the second city at the coast is often an option, but not necessarily attractive, and happens too late to feel like a starting advantage. A starting bias just for Fishing could be a low-key solution. But getting a coastal start with Fishing might be even more unattractive to players than an inland start with Fishing because coastal starts tend to have less room for expansion. It's also not clear how a starting bias should interact with the difficulty-based assignment of (human) starting locations.
The historical start you describe seems like something that should an optional toggle.
Sure, I wouldn't want to use that all the time myself either.
Starting techs as a civ distinguishing feature is kind of fragile anyway.
Yes, short-lived, and many of the civ-tech combinations don't particularly make sense – and I couldn't say which (non-Wheel) techs the Aztecs should start with either. (BtS: Mysticism and Hunting)
Maybe an alternative solution rather than adjusting starting techs to the map location programmatically, every civ should start without any techs but be granted two free techs right after the starting location is revealed (or first city is settled?).
Or let the player choose a different civ or leader after having seen the starting location. Perhaps too much to decide right at the start of the game – 3 techs (including the one to be researched next) out of 6, the position of the starting city and a production order. Getting to choose could also make players (even) more set in their ways.
 
Top Bottom