I have made a lot of further progress. All three scenarios work now, and are basically identical to what they are currently looking like on the develop branch.
I also made additional improvements: in the 600 AD scenario, Korea and Japan now start with actual cities and improvements, China starts with control of all of its cities (no flips taking place). I also made some territorial adjustments in the 1700 AD scenario and replaced Wilno with Minsk. Also, I made sure that wonders and cities are displayed as being built/founded by the right civilizations and in (roughly) the right years, similar to what is already happening for religions.
I considered adding civs commonly pointed out as missing from the 600 AD scenario, like India and Ethiopia, but making sure they work as intended would be too much work at this point.
For a bit more detail on how a scenario is set up now:
- There is a base wbsave file describing the world at 3000 BC without any units, improvements, cities etc. that is used by all scenarios
- Resources.py, the file responsible for spawning/removing resources and other map features, will apply all map changes that would have happened until the scenario start date
- There is a second wbsave file for each scenario that only contains the differences of the scenario from the previous two sources, for example cities, units, improvements, but also minor terrain changes specific to the scenario (to move resources around and open city locations etc)
- There is additional Python code working on scenario specific definitions to setup things that can only be done in Python: adjust territories, great people already created, etc.
In general this is to help making it easier to a) change the base map or resource spawns without having to adapt all scenarios to it, b) add more scenarios without much overhead and without increasing the work required in point (a), and c) transitioning everything to the new map.
At this point, there is mostly cleanup work to do to find errors, and patch over some of the hacks that I used to make this work. That might still take some time but we are on a good track.