Help Request for Flavor project

Is it possible for the tags to be dynamic? The earliest example I'm thinking of is the Cave Dwelling tech, which is great militarily for both Attack and Defense. But once someone else builds the Neanderthal Culture wonder, it has much less military value, and that all on defense now with caves and the option to promote to City Garrison.
Maybe - if we do approach things from an automatic assignment of values method, this would be ... tougher. This is the kind of thing the human mind finds easier to mass calculate all the elements in play on to consider than a more simple evaluation of tag to value.

If you look at the first Trait document: C2C Traits (tags & devel), it should show how an automatic costing can work basically. This was using the old system and Khalig has a more updated method that might not even be as mapped out as this page does, but the trick is basically to look at every tag and say, what would a given value in this tag mean for a translation of value into what sort of flavor and create an interpretation system tag by tag. So for example, a Great General additional chance of emergence within your borders of 10% may be 1 full point towards MILITARY_QUALITY. What we're going to have to do to approach things this way is start like this, evaluating every single tag and how that tag can vary, then build out that system of 'costing' and deriving a value for each flavor for all building tags, all unit tags (units mostly so that it can then compile onto techs), civic tags (which we have a lot of similar tags on traits so would be the easiest place to start), religion and corporation tags. Probably even promotions since those also are key features to be considered... Other tech tags not considered elsewhere.

That sounds almost as herculean a task as going through all the objects and just assigning flavors based on human impression but it wasn't too bad to establish a setup on traits (though there are key reasons the traits are applied to human logic before we bake in the totals in spreadsheets and then xml. And this would be self updating, which certainly supports Somebody613's assertion that we have a lot coming that those future contributors won't necessarily have the same automatic insights on how to assign these flavors. We could keep the flavor tags on the objects in the xml for non-default modifications to whatever the code comes up with as well.

I suppose for getting boots on the ground we could start off with civic tags, creating a translation to flavors one tag at a time here.
 
So I'm going to try to explain how this flavor costing can work. This is a little tough to explain so if you're trying to follow along, please let me know if I lose you anywhere or even if you fully understand. I will do everything I can to clarify where needed. This is a tough project and the more help I can get on this the better so I can get back to the unit stuff asap because IN GAME the units will have a greater impact on play - but this project will help us to empower Khalig's work on leaders and so many other really really cool projects to come so we have to slog through this.

Ok, so I added this page to the Flavors Update Project document: https://docs.google.com/spreadsheet...mrcznJPofyWWIrlBx0WtXFP8FU/edit#gid=793504951

It's a page that's dedicated to showing how the traits flavor costing system was INITIALLY established. It is NOT up to date with the longer, expanded flavor list. Khalig is working on that and has nearly completed going through all the complex traits and updating the costing on them but we haven't actually taken the time to update the core costing sheet to reflect how it differs now. We don't really HAVE to because the costing on the traits is manually established on each and every trait rather than automatically assigned and there are points where we, for the sake of some balance precision do things with some human differences between the cost guidelines and what is actually assigned.

Thankfully, flavors on all the other game objects isn't nearly as critical to be 'highly accurate'.

However, the EXAMPLE of how to define a tag value to a flavor is provided on that page.

upload_2022-6-11_11-19-50.png


So we'll do this for other game objects, like Civics. The same basic 3 columns will apply and each row will be one of the tags that apply to that type of object.

Some tags don't even get a value because they don't really contribute to a positive or negative evaluation of the object. So, for example, bImpurePromotions declares the promotion the trait gives to be an impure or pure promotion for the Pure traits game option - it's the promotion itself that then later gives a value so in itself, this tag doesn't influence value, only a later calculation.

Thankfully we don't have a Pure Civics game option so that's not a concern.

However, MOST tags will give a translated value. iHealth, for example, is pretty clearly a benefit for the player when it is at a positive amount. Therefore, the Tag notes designate here that 'Positive is good' and then it also goes on to explain what the tag actually means when it is used on a trait. Then in the 3rd column, it lays forth the flavor that the tag adds value and the amount of flavor value for each point in that tag. Here, it's declaring the flavor value on iHealth is 'Growth' and each point of iHealth = 2 points of Growth flavor.

Again, this is out of date. It would still be 2 pts of flavor value for each point on the iHealth tag assigned, but it's no longer FLAVOR_GROWTH, but FLAVOR_HEALTH that it applies to. This is one reason for the expanded list we're using - too many categories, Growth being perhaps the worst offender, were catchall categories that were handling way more than their share and leading to far less specific leader personality variations.

One can think of flavors as 'game style strategic preferences'. A leader who favors growth would have wanted a trait that gives Health as a higher priority. I'd love to play with more highly varied leader leanings, which is what this project is about. So now, iHealth, in traits, gives +2 points of FLAVOR_HEALTH per point in iHealth.

And that's probably a pretty good guideline for the rest of the game objects. The main point is to make things game value equivalent between the tags. It's a universal translator of value. Yes, this becomes a little difficult without a more dynamic ruleset, though we COULD suggest both a static valuation AND a more dynamic ruleset and give our thought notes on each tag too in later columns not shown on this original document that only I worked on to establish the traits.

For example, in all honesty, each point of health is more valuable at the beginning of the game when each point matters more. +2 health in a prehistoric building is way more potent than +2 health in a transhuman building. Trying to even give both the same flavor value ... well at least flavors don't have to be super accurate in terms of their evaluation. However, if we wanted to say that it would be +3 value per point up through Medieval, +2 value per point up through Information age, and +1 value per point beyond, that kind of dynamic adjusting value is actually very possible for a coded end solution like what we're going to build, so I'm not against those kinds of value suggestions. In fact, the better we think of how to translate these values, the better end result this will have for the AI to even possibly not just VARY their play ability, but it could end up being reflected in a much more accurate system that helps ALL AI to vary its sense of value on things to what it currently identifies it NEEDS.

Thus, if your city has NO unhealth problems, aside from leader preference, perhaps we can, as a result, generically use flavoring to tell the city selection manager to reduce FLAVOR_HEALTH down to a bare minimum in value as it looks for ways to address its current needs first. This could improve our selection system AIs quite a bit, even streamline a lot of granular and specific moments in code evaluations so as to lubricate the intelligence of AI selections AND its speed in coming to conclusions at the same time.

I would be willing to be Jaguar's AI mechanisms would benefit from these kinds of flavor costings (if well considered) as well.


Continuing past the basic example of iHealth, iHappiness would have an identical style of costing except that it would now be giving its value to FLAVOR_HAPPY rather than Health flavor.

Then, taking a look at iMaxAnarchy, we haven't changed the costing routine but we DID change that to FLAVOR_POLITICS. iMaxAnarchy is a funny tag - it limits how many rounds of anarchy the civ can go into as a hard limit for having this tag in use on the trait. You won't see this outside of traits I don't think (MAYBE civics?). The way it was cost was to give a value specifically at each possible assigned value so it's flavor value wasn't a matter of x pts for y pts as most are able to be translated. Thankfully there were only so many possible expressions that could be applied to this tag. And the part that really hurts trying to generalize the value on THIS tag is that it GREATLY depends on the game speed you're playing under as to how valuable it should actually be compared to other tags in use on a trait. And again, without actually giving a really dynamic breakdown there, it was impossible to include gamespeed as a costing consideration at all. You really can't do that for the traits like you can for an autoassignment kind of system like this that could calculate the values at the beginning of a game and look at scaling factors in play because the trait values had to be baked in at trait design rather than determined at gamestart since the point was to compare them during design process.

So I came up with a value of 10 if you were limited to 0 rounds of anarchy with any civic or religion change (10 was what I was considering the value of a truly powerful and potent singular factor), 8 if the maximum was 1 round, 6 for a maximum of 2 rnds and up to 1 for 5+ since anywhere 5 and over is still quite a few rounds of anarchy so it has dissolved into a much less meaningful trait with that sort of loose assignment, only really impacting the much longer gamespeeds. Again, if I could consider gamespeed into the equation, I probably would adjust by this scaling factor somehow.


One thing this points out is that it might be a little tough for now to look at a tag and know which flavor it will or should apply to and as we are expanding the list, some of Khalig and I's discussions are about what tags apply to what flavor and we're still seeing if we can eliminate some of the flavors entirely, like generic FLAVOR_MILITARY, for example, that have been split into more specific flavors.

So one of the goals I will have is not only to list off all the tags on the documents for civics, units, etc... but also to then add another column in here to split up the Flavor and Value a bit so that I can run through and just declare 'this is for this flavor' and maybe give 'why it might be for any of these given flavors and what situations would cause it to vary', for example, a lot of Great People values will go towards specific flavors based on the great people its actually referring to (and a different value entirely if it's not referring to ANY particular great person perhaps).


Determining this costing translation is the effort for now so hopefully you can understand the next steps:

1) I'm giving us a costing page sorta like this one for every game object - note that due to the way we're going to compile flavors onto techs as an end step, techs will be last for this and I'll also be adding flavors to promotions (anything techs can unlock).

2) I'll be listing off ALL tags that can be used on that game object in the first column.

3) I'll then go through and give the flavors that tag should assign to and under what conditions those may vary

4) THEN we can come up with both static and variable formulas for assigning flavor values for the numeric entries on that tag use, the numeric translation of tag assignment to flavor value. The important part here is that all calculations keep the ultimate values in balance with one another. Aka, you don't want to say +1 Health is worth the same to a player generically speaking, as not having any upgrade expense when you upgrade - clearly that ability is way more valuable than a mere +1 Health.



When I get back later today, you'll see a lot more work on this document that I'll be putting in but I wanted to give everyone an opportunity to first understand the project. When we get to #4, I deeply hope that we have quite a few of us that are understanding the goal of determining the math translations here that we can have some insightful discussions on key tags that can help to guide the standards on many other tag value translations.

Does this all make sense? Or am I too deep into gibberish territory?
 
It's pretty easy to follow. It's nice that you're planning to copy the lists over, although after your last post I did look through CIV4CivicInfos.xml a bit just to look at all the different tags.

For tags that are also used in the traits, do you want to just use the values that are already there?

Most of the flavors are self-explanatory, but aside from anarchy (and I would imagine diplomacy boosts), what all would be FLAVOR_POLITICS? And how do you differentiate FLAVOR_RELIGION_ACCEPTANCE and FLAVOR_RELIGION_DEDICATED?

When assigning values for flavors, what is the balance between mechanics and, well, flavor? You can get potentially infinite happiness with Despotism for example, but it might not be a good idea to encourage the AI to do so.
 
For tags that are also used in the traits, do you want to just use the values that are already there?
As a guide for getting started, absolutely, but as I said we do have some agility of use here that we didn't have with the traits because we can consider more variables that can make them more dynamic outside of the fixed for the sake of design balance traits.
Most of the flavors are self-explanatory, but aside from anarchy (and I would imagine diplomacy boosts), what all would be FLAVOR_POLITICS?
I'm going to have to take a bit to figure that out - there are some things that may go there yet from what is currently growth and there are lots of obvious great people types that fall under that category (statesmen/nobles for example).
And how do you differentiate FLAVOR_RELIGION_ACCEPTANCE and FLAVOR_RELIGION_DEDICATED?
This is a LITTLE tricky except that generally speaking if it is a 'state religion focus' then it's Dedicated and if its a 'benefit from all or non-state religious spread' then its an Acceptance benefit. They can very much be at odds. Where something is generic religion is a line we're trying to find and figure out now too.
When assigning values for flavors, what is the balance between mechanics and, well, flavor? You can get potentially infinite happiness with Despotism for example, but it might not be a good idea to encourage the AI to do so.
Mechanical power would be value volume. What I plan to do here with these is end up with a final rating that spreads out all flavors across the spectrum by the % of the total so that we are only really using 'flavor' as just that, a way to create a variation of leaning rather than an absolute value costing system, though maybe it can end up still being useful for that too later. For now, I think its not about what the total value of an object is as much as what the relative flavor of the object leans towards, if that makes any sense.
 
I'm looking at this specialist list and I'm wondering if we won't need to add a new 'Specialists Category' tag for this purpose. I know I'll be soon adding Categories officially in the code to UnitCombat types - maybe its time to add a generic 'categories' infos class... Even if there are few to no direct tag effects to or from categories, it could at least help for making it easier to gather other types into various groups, and even perhaps at times make it so that those groupings can cross various info types for various reasons. Of course, then I wonder if there shouldn't be categories of categories, which then leads me to considering categories of categories of categories and then I just start feeling a little insane.

But it would be easier at least to say, here, that all slave type specialists are treated the same in terms of flavoring...
 
OK, community question time:
UPKEEP_LOW
UPKEEP_MEDIUM
UPKEEP_HIGH
UPKEEP_EXTREME

Upkeep on civics is rated by a ranking system. Did some research today to ensure that I did understand that indeed, upkeep hits your treasury as gold rather than as a cost to commerce as a yield.

OK, so does this mean that we should flavor this tag as a Gold flavoring and say something like the lower the upkeep the more the gold flavor (or even the higher the upkeep, the lower the gold flavor) OR should we just NOT flavor this tag at all given that nearly all civics HAVE an upkeep ranking and we don't want to have all civics reflect having a gold flavor? Particularly since often you'll find the more advanced the civic, the more the upkeep category tends to be so it's more of a way we express how costly it is to put that civic into play against other possible options?

What do YOU think? (I'm hoping there are more than a few people at least following the discussion enough to answer with some kind of feedback.)


Another question:
iGreatPeopleRateModifier applies to the xp earned that applies accumulation points to the great military type that you're going to next get regardless of its type. It was sorta my contention this is a military quality factor, but I can admit that Great Military People CAN be used for other things than just settling as Trainers and becoming Commanders. That's just how I personally use them because my playstyle leans heavy as a leader on MILITARY_QUALITY myself.

Khalig's contention has been that this should probably be a case for generic FLAVOR_MILITARY rather than any given type (there is even a strong argument for FLAVOR_FOOD if you're getting a lot of Hunter types.) Now that said, this is one of only a few tags that continues to give FLAVOR_MILITARY as a generic flavor cause to exist. One of the others is a matter of the upgrade cost of units, which could again arguably be either quality or quantity or even gold.

I'm wondering if anyone has any opinions they'd like to share on this. I'm curious to hear positions we haven't considered.
 
Last edited:
I don't think I've ever played a game where upkeep was an actual issue all by its own (instead of me wasting too much money on stuff).
And this even includes HARD (as in, the hardest, because I never play anything except for the easiest OR the hardest difficulty) games, since the bigger problem was always about SPENDING gold, not merely being able to GAIN some per turn.
Basically, whenever I had gold problems, it was always due to much bigger scale factors than mere upkeep itself.
 
From what I was doing with civics, I was planning to simply remove upkeep altogether frankly. It's useless compared to the other expense sources present in game. Maaintenance costs have a much more significant economic impact, as in in the order of a hundred magnitudes more significant.
 
I agree that civic upkeep is basically negligible. Almost every civic in the game will still need gold flavor though. Even ignoring civic upkeep, there are very few civics that don't affect gold, either directly or through things like city maintenance and unit upkeep.

As for the Great Military People, I agree that it could mostly be considered MILITARY_QUALITY.
 
It would not be hard to make civic upkeep a bigger factor - CIV4UpKeepInfo.xml values could be easily adjusted to make it something one definitely pays attention to.
@JosEPh_II might wish to comment on that for the core game, but in your own game setups it's rather easy to modify. I think it's important to include IN the game because there are traits and such that rely on having value because that's the (or one of the) main maintenance factor(s) they manipulate. I can agree I think it's a little too weak to really even take into consideration these days considering how powerful a factor in comparison it was in making civic choices in BtS vanilla.
As for the Great Military People, I agree that it could mostly be considered MILITARY_QUALITY.
Thanks for the feedback on that. Anyone else have a different take?
 
OK, another subject (not that the previous questions are off the table either!)
iGreatPeopleRateModifier
Up to now, we seem to have been dividing this value between all the yields I think. However, I'm not sure that quite fits.

Where a benefit exists towards GP but does not have a specific 'type' (this is a modifier to all rates in all cities that already exist) what should it be?

Should it be as we've been doing, split up between all yields, all commerces?

Should it be Politics? This is maybe a good net for this as Politics is about policy that benefits the nation in general.

Should it be Growth? ON another note, this brings up that we haven't yet really determined where to put generic 'free specialists'. There's the argument that it should be a 'Food' benefit because it may allow you to get a specialist without having to take away a land use population at work and most land tiles have the more unique benefit of giving food that at the moment specialists don't. But then that's like saying because you get a selection that won't give you food, whatever it may be, it's a food benefit. What strikes me here is that almost ALL specialist assignments at least bring GP pts so perhaps whatever Free Specialists are flavored, it would certainly relate to an equally generic iGreatPeopleRateModifier that is undeclared as to type.

Again...Politics? Is that the flavor for unflavored GP benefit? Or should we have a whole flavor more for that benefit itself, something that say, the Glory trait would be strong in? I also considered the Philosophical trait - strong in generic overall GP modifications, to be a matter of a strong belief in meritocracy - free specialists are from education benefits an expression of the extra value that each individual brings to the community by sharing their knowledge and wisdom and their motivation and side hustle...

Maybe we should have a FLAVOR_EXCELLENCE to represent this whole line of GP stuff? Or does politics cover it well still, given in general, GP are also a great way to generate golden ages and that seems very qualified for politics, reducing anarchy, etc...

Thoughts? (LOVING the more engaged community discussions we're having of late y'all!)



Oh, wouldn't you know it, we've just determined that GP tech lightbulbing options are guided by GP unit flavors matching positive to positive values over 1 in flavors to the techs. Makes sense... just didn't know until Toffer pointed that out earlier today. So at least GP units that can tech lightbulb have required flavors all along and this is another application of the flavor system I wasn't even aware of but still feel this whole effort will greatly help with.
 
It appears there is special case of Great People units - their flavors influence what techs they can research.
So if GP has Production flavor, then it can research techs, that have Production flavor.
 
It's about the different uses for great people... I'll always want two scientists to build the national standard of measurement wonder and the academy, and great artists are gonna be added to cities with challenging culture make ups... and so on. Great engineers are just glorified hammer bags, merchants are worthless so they're spent for golden eras. Yeah, I would say there are strong differences between great people. However, just focusing on amassing a lot of GP quickly, seems a good fit for political leaders overall, yes. Sort of executive powers usage.

It would be great if judges and bureaucrat / diplomatic units did more already to throw them into the mix as the "smaller GP".Or, make a judge/lawyer type great unit, since there aren't that many ordinances anyway... well, a bunch.

Do buildings that provide different, specific GP points have an accordingly specific flavour too?
 
I don't think Great People should be lumped in with Politics. I do like your idea for Excellence though. The specialist economy has long been recognized as its own playstyle in Civ IV, so it makes sense that it can have its own flavor in C2C. Excellence could have Great People and Golden Ages. Politics would still have anarchy, diplomacy, city maintenance, all of the stability stuff with Revolutions, and whatever else we give it. There could be a lot of overlap too. Like all of the individual Great People types would have their own flavor, but they would all be Excellence too.
 
Do buildings that provide different, specific GP points have an accordingly specific flavour too?
Yes, based on the specific flavoring of that GP in general terms. So a + to GP pts for Great Spy would be getting flavor pts for espionage. This question is in regards to that referring to no flavor and I think you gave a solid answer there so thanks for your reply.

I don't think Great People should be lumped in with Politics. I do like your idea for Excellence though. The specialist economy has long been recognized as its own playstyle in Civ IV, so it makes sense that it can have its own flavor in C2C. Excellence could have Great People and Golden Ages. Politics would still have anarchy, diplomacy, city maintenance, all of the stability stuff with Revolutions, and whatever else we give it. There could be a lot of overlap too. Like all of the individual Great People types would have their own flavor, but they would all be Excellence too.
Well thought out response as well. Y'all have me on a fence myself. We're gonna have to get Khalig and some more voices on this thread!
 
Top Bottom