Lot's of good discussion here (you must all live in the part of the world that is awake while I sleep!). I'll update the front post with the preliminary goals and holy grail wishlist we've established. If I miss anything, let me know.
you could evaluate which changes could be applied to each difficulty, instead of it being a switch-on switch-off for all difficulties kind of thing. Just an idea.
We can offer individualized checks (truly granular checks) as well as broader, 'difficulty' checks. That's just a matter of setting a few defines and some SQL, honestly. As we introduce AI features/tweaks, we can categorize them, as a community, into 'core,' 'mygodwhydidn'tfiraxisdothat,' 'challenging' etc. categories. We can also offer additional means of making the AI more challenging aside from flat % boosts to their production. For example, we could give the AI additional spies at higher levels, or make their influence with CSs degrade more slowly. We could also give the AI unique combat promotions, or make their GPs more potent. There are many methods to increase the difficulty of the game without simply ramping up the 10-or-so 'variables' that Firaxis designed.
Code:
It fixes genuine bugs.
It improves the AI.
It opens more options so you can do a lot more with basic XML modding.
It's a replacement for whoward69's brilliant mega-DLL.
Stays compatible with current non-DLL mods.
Agreed here as I've said, any changes made will need to be modular, granular, and designed to be extendable by the community, not within the mod itself. Even if we make sweeping changes to tall/wide mechanics, it'll be part of a module of the dll.
Code:
A possible way to solve this would be to add AIBArbarianBonusOwnterritory in HandicapInfos table. By default it would be nill or -1 value and this would cause the existing AIBarbarianBonus to be used both inside and outside borders (compatibility requirement)...
Free buildings map-size dependent : On small maps gaining 4 free monuments is enough to fill all your cities, on huge maps not so. I know tradition isn't underpowered, but if someone was to mod it or other trees and mess with free buildings, it would be nice to have it map-size dependent.
the first seems easy enough (there is already a vs. barbarians promotion, and an inside own lands promotion creating a hybrid function cannot be that hard), the second, however, would have to consider custom map sizes as well, which could be problematic. The function for free buildings is simply a <for> statement, the cap on which is the number of buildings the policy offers. We could have the dll read the mapsize, and scale that value above the XML minimum appropriately (if that's what you have in mind).
Code:
Actually I prefer to go tall and keep to myself. That was just a bit of a quick observation about wide play.
If we want a tall option, then we need to give it the ability to stave off attack from the big civs. How, I don't know.
The tall v. wide debate is interesting. I agree that the current method of 'harassing' wide players is a bit limp. Something I've considered looking at is using the 'supply limit' method built in the game in a less arbitrarily-punishing way. Instead of having the 'over supply limit' function impact production, what if it simply prevented you from building additional units? Furthermore, what if puppet/occupied cities reduced your supply limit by the number of unhappiness they produce (essentially, an occupation army)? Just thoughts. Again, these would be modular!
I got distracted last night by the places in the dll where the Firaxis devs essentially comment 'eh, whatever, we'll deal with this later' and didn't, as well as the places where they actually wrote 'workaround/hack/good enough' etc. For example, I'm trying to make the AI smarter at settling strategically, something that will, I believe, have a big knock-on effect on AI performance generally.
Also, I'm not sure if I've made this clear, but I welcome any and all help on this. Whoward and I need not be the only members of this dll team. (Also, did I tell you that you are officially on the team, whoward? I probably should have.)
Even if you have 0 experience working with the dll, dive in and see what you can find! I took
one programming class back in college, promptly forgot about it, and then harassed (continue to harass) whoward for 6+ months as I rebuilt my knowledge base. Once you begin to learn the existing functions, and you start following the zodiac code of the Firaxis functiion process, you'll be surprised how easy it is to a.) crash your game and (eventually) b.) manipulate the dll.
Cheers,
G