40 release!

There's still a lot of room for optimizations! https://forums.civfanatics.com/threads/dll-optimizations-im-considering.648500/

Beyond that the buildings themselves could use a major review of how they are calculated by the AI. For example we can cut hundreds (thousands?) of Myth Buildings from AI considerations by streamlining them into specific class-related pseudo buildings like Myth (Mammals), which would have its :culture: and :science: increased similarly to how the output of the Stone Tool Maker waxes and wanes with technologies.
 
There's still a lot of room for optimizations! https://forums.civfanatics.com/threads/dll-optimizations-im-considering.648500/

Beyond that the buildings themselves could use a major review of how they are calculated by the AI. For example we can cut hundreds (thousands?) of Myth Buildings from AI considerations by streamlining them into specific class-related pseudo buildings like Myth (Mammals), which would have its :culture: and :science: increased similarly to how the output of the Stone Tool Maker waxes and wanes with technologies.
Which would defeat the purpose of the wild animals, hunting and myths in one fell swoop:crazyeye:. Unless you only mean the Taxonomy style Myths which are a the small subset of Myths that can be built with :hammers:.

The only relationship between Myths and technologies is the change from +1 science to +1 education and obsolescence. The Stone Tools Maker model and the Myth model do not line up.
 
Which would defeat the purpose of the wild animals, hunting and myths in one fell swoop:crazyeye:. Unless you only mean the Taxonomy style Myths which are a the small subset of Myths that can be built with :hammers:.

The only relationship between Myths and technologies is the change from +1 science to +1 education and obsolescence. The Stone Tools Maker model and the Myth model do not line up.
He's not suggesting changing the effect or function of the current design, only HOW the current design is applied. Making it not take place through buildings.
 
He's not suggesting changing the effect or function of the current design, only HOW the current design is applied. Making it not take place through buildings.
The current design is 1:science: per unique subdued animal caught (and used for this) per Nation up until Writing. Then it becomes 1 education per unique subdued animal caught. There are some extra myths but they are also not available to be built with :hammers:.

Only the Taxonomy ones are built with :hammers: and so part of the decision tree of what to build in the city. The rest are on the decision tree of what the unit does. The Taxonomy ones can also be built by subdued animals. If you want they could be removed from the building tree completely by making them only buildable by subdued animals (and some by entertainer units).

Either way
  • they have no similarity with the Stone Tool Maker building
  • most (>90%) do not get considered for building because they can't be built with :hammers: only units. Therefore are not part of the consideration of what a city should build.
 
most (>90%) do not get considered for building because they can't be built with :hammers: only units. Therefore are not part of the consideration of what a city should build.

That should be correct. These buildings should already be filtered from the AI city buildable building value calculation.
 
Regardless this wouldn't be a 40 release change anyway right? Sounds like a bigger project.
 
That should be correct. These buildings should already be filtered from the AI city buildable building value calculation.
True but there are numerous places where all building types are looped so a reduction there would be a powerful thing for optimization overall. That said, the balance of how much a new class would eat in terms of data reserve, particularly with tags to support it, I'm not sure it's advised. You may want to give us some advice as to the most efficient way from both memory and efficiency angles to adopt a better approach. I can see lots of ways to skin the cat and the cat is problematic, but which is the BEST way?
 
the balance of how much a new class would eat in terms of data reserve, particularly with tags to support it, I'm not sure it's advised.
I'm sure memory would be reduced. You would want to add an array of bool to each city - 1 true/false per myth. That would take a bunch of memory, but you'll be shrinking the current bool array for buildings by the same amount.
Same things for the info objects. You'll need a vector in CvGlobals and for every info object you add to the vector (1 object per myth) you'll be shrinking the BuildingInfo vector. Memory used will depend on the size of the objects and the new class would be considerably smaller.
If you open up CvBuildingInfo.cpp and look through the constructor at the top at all the different tags there are 297 different things. Out of these 297 id guess the new class may need like a dozen max. Most of what you'd need comes automatically with that Infobase base class - like the button art, type, description.
I don't think adding a new class takes any memory other then that stuff. Maybe just a couple pointers somewhere im forgetting.
or maybe im wrong about this stuff, ha
 
So I think people are settling into using git now, however we still need to keep non v40 stuff out of master branch on git. Keep it in other branches for now, then we can merge it after we decide 40 is done.
I think we have most stuff in there we want now right? Optimizations, PPIO, prehistoric rebalance. Any other features or gameplay stuff that we want to go in, or is it just bug fixes at this point?
 
I think we have most stuff in there we want now right? Optimizations, PPIO, prehistoric rebalance. Any other features or gameplay stuff that we want to go in, or is it just bug fixes at this point?
I'm checking for mistakes in building/unit requirements now, currently I'm in atomic era.
I have test mod designed for just that - all terrains/features present here on my special space map.
 
@KaTiON_PT it seems like you didn't recost some buildings in Information era, and you never checked if their prereqs are correct (no building/unit unlocked before their prereq)....
 
I thought those got corrected by you when I commited the changes to the information era.
Yeah, I corrected like 100 building costs here, but I was sure, that you didn't mess up building/unit requirements :p
Some building/unit costs are off there - I bet not many of those have errors.
 
Yeah, I corrected like 100 building costs here, but I was sure, that you didn't mess up building/unit requirements :p
Some building/unit costs are off there - I bet not many of those have errors.
This should probably be thoroughly worked out before a v40 release.

I also do have one small project I want to attend to but it's not a big deal if it gets done or not.
 
This should probably be thoroughly worked out before a v40 release.

I also do have one small project I want to attend to but it's not a big deal if it gets done or not.
Mapinguari Compound has cost of -1, and your trait speeds up construction of this building :lol: (will remove that funny speedup).
Now I wonder how many buildings with -1 cost are speedup by traits like that.
Code:
<BuildingProductionModifierType>
                    <BuildingType>BUILDING_X</BuildingType>
                    <iBuildingProductionModifier>25</iBuildingProductionModifier>
                </BuildingProductionModifierType>
 
@KaTiON_PT some cultures like liangzhu or olmec unlock buildings too.
So you should take their buildings under account too when moving cultures to tech, where they unlock their earliest thing.
 
11024
  • merged modules
Minor nitpick:
Modules were merged earlier, just your script didn't sync properly removal of modules, and Kation didn't merge my changes to civic infos, where I merged module civic info stuff to core :p
So essentially it could be "Module merger cleanup" or something like that.
 
Back
Top Bottom