Crime and Disease?

Opening it up and changing its name will mean more buildings that could give one. I feel we should try and keep the number of each specialist available below 10 oe so as they loose their impact otherwise.

The Civic mechanism allows for "unlimited" specialists of one kind. Unlimited is limited by your population. I feel this is being over used at the moment.
Probably true though each type of specialist should be made unlimited based on a single civic selection that's in contradiction to other selections.

As for the buildings that open up more assignable slots, I'm all for keeping those somewhat restricted and don't feel that opening up the name suggests it needs to make the specialist any more available. However, other more established types should be rebalanced throughout the mod to match similar opening slot progressions imo.
 
Problem is even with lowering the minCrime levels on almost all the Individual Crimes the only place the Mod (AI and Player) has a Tough time with crime is the Preh and Ancient Eras. By the time you get past Classical and Med Eras it's been overcome but the AI has suffered enough that unless it's a Leader that has the Optimal Traits they have fallen behind many of the Higher difficulty level players. Hence the Cry that the mod is too easy and crime can be ignored. In my earlier days if I'd seen this more clearly I would've cried out even more for Crimes removal from the mod. Now I find myself trying to make it more relevant for the overall mod playing process. Crazy! :crazyeye: :lol:

JosEPh ;)

You could try to use % modifiers more often instead of fixed values. Because that way the negative effects scale with the increasing income cities have in later Eras.
 
You could try to use % modifiers more often instead of fixed values. Because that way the negative effects scale with the increasing income cities have in later Eras.

Genius! ;) lol... I've been saying this repeatedly myself. There's real value to this approach!
 
You're not the only one TB. You can even scale the malus to the crime amount; instead of just having a single floor (i.e. on/off Boolean) for a 'crime' and it would remove the need for multiple levels of severity for the same type of crime.
 
You could try to use % modifiers more often instead of fixed values. Because that way the negative effects scale with the increasing income cities have in later Eras.

If someone could perhaps give me a visual example/pattern then I'd be glad to do the work. Proper tags and all that. Since I'm not 100% sure if, for example, an iYield which needs an integer would need to be replaced with iYieldModifier. I think that's the correct way on this example.

JosEPh
 
If someone could perhaps give me a visual example/pattern then I'd be glad to do the work. Proper tags and all that. Since I'm not 100% sure if, for example, an iYield which needs an integer would need to be replaced with iYieldModifier. I think that's the correct way on this example.

JosEPh

Spoiler :
Code:
			<!-- Main effects -->
			<iHealth>-1</iHealth>
			<iHappiness>-1</iHappiness>
[B][COLOR="Blue"]			<CommerceModifiers>
				<iCommerce>0</iCommerce>
				<iCommerce>10</iCommerce>
			</CommerceModifiers>
			<YieldModifiers>
				<iYield>0</iYield>
				<iYield>15</iYield>
			</YieldModifiers>[/COLOR][/B]
			<!-- Special properties -->
			<iAsset>3</iAsset>
 
Since I'm not sure you were only looking for an example of how to code modifiers, let's take a look at an example of converting and the various effects:

You had Looting at -50 gold.

This means if a city is normally producing 10 gold, the city would now be producing -40 gold.

If a city was normally producing 100 gold, the city would now be producing 50 gold.

If a city was normally producing 1000 gold the city would now be producing 950 gold.

If a city was normally producing 10000 gold (and in late game they do) the city would now be producing 9950 gold.
This is a major difference in impact that is based on how much the city is already producing. For earlier cities, they are beyond broke and for earlier nations it cripples the whole country. However, for more developed cities, the effect becomes a sniffle.

If you, however, had say, -20% from looting then:

The city that's producing 10 would now be producing 8 gold instead. (Suffering a -2 penalty)

The city that's producing 100 would now be producing 80 gold instead. (Suffering a -20 penalty)

The city that's producing 1000 would now be producing 800 gold instead. (Suffering a -200 penalty)

And the city that's producing 10000 would now be producing 8000 instead. (Suffering a -2000 penalty)

Obviously, this means that an abundance of -% modifiers can quickly lead to collapsing any local economy because as you approach -100% you get to the point where you've applied something very severe and all of the % modifiers do add up. So it's something to handle with care but as you've seen, so are base 'change' values as well since they do not scale to the existing base output. (However they can be countered by other positive % modifiers that exist.)

I'm going to also note here that it doesn't mean you cannot or should not represent increasing degrees of crime. If you have a Level 1 of Looting, for example, you would need to think of it in terms of what percentage of the city is suffering from such a crime. Is it one city block in Manhattan or is it the whole island? A city block may be -5%. The whole island may be -50%. I would say it could be more but we need to keep all the crimes taking place at that level in perspective.

With the soon to come advanced property emergence system, it would be very possible and desirable to establish 'levels' of crime outbreak, and when we do each level would be a percentage of the population that's engaging in the behavior or being victimized by the behavior.

As for game design theory: For modelling effects, balance with a full eye towards the totals that are building up and for the stages of the game you expect things to be taking effect. But implement with the impact you feel the real world's effect you're looking to model would actually have. If that makes sense.
 
Spoiler :
Code:
			<!-- Main effects -->
			<iHealth>-1</iHealth>
			<iHappiness>-1</iHappiness>
[B][COLOR="Blue"]			<CommerceModifiers>
				<iCommerce>0</iCommerce>
				<iCommerce>10</iCommerce>
			</CommerceModifiers>
			<YieldModifiers>
				<iYield>0</iYield>
				<iYield>15</iYield>
			</YieldModifiers>[/COLOR][/B]
			<!-- Special properties -->
			<iAsset>3</iAsset>

Thanks Toffer.

Now another question about Property values:

Code:
<PropertySource>
        			<PropertySourceType>PROPERTYSOURCE_DECAY</PropertySourceType>
          			<PropertyType>PROPERTY_CRIME</PropertyType>
          			<GameObjectType>GAMEOBJECT_CITY</GameObjectType>
          			<iPercent>[color=red]4[/color]</iPercent>
 </PropertySource>

I was told by Hydro that Crime in the city was generated by Pop. each Pop generated 4 Crime. But if I understand this piece of Code it's actually 4%. Does that actually translate to 4 Crime/pop?

@T-brd,
I understand your concepts but it's the actually implementation of using % vs +/- I want to be sure on. I'm in no position to try to make a Looting1, 2, etc.. Nor do I want too either at this point in time. That just begets more complications and more chance for error for me to make. I'm making basic adjustments for now.

JosEPh
 
Thanks Toffer.

Now another question about Property values:

Code:
<PropertySource>
        			<PropertySourceType>PROPERTYSOURCE_DECAY</PropertySourceType>
          			<PropertyType>PROPERTY_CRIME</PropertyType>
          			<GameObjectType>GAMEOBJECT_CITY</GameObjectType>
          			<iPercent>[color=red]4[/color]</iPercent>
 </PropertySource>

I was told by Hydro that Crime in the city was generated by Pop. each Pop generated 4 Crime. But if I understand this piece of Code it's actually 4%. Does that actually translate to 4 Crime/pop?
You're looking at property decay, which is the rate at which the property will attempt to get back to it's '0' point, the resistance factor to extreme values building up.

The crime per pop is setup in the game difficulty setting so is established in HandicapInfos.xml.

@T-brd,
I understand your concepts but it's the actually implementation of using % vs +/- I want to be sure on. I'm in no position to try to make a Looting1, 2, etc.. Nor do I want too either at this point in time. That just begets more complications and more chance for error for me to make. I'm making basic adjustments for now.

JosEPh
Cool... just figured I'd discuss the concept a bit since it seemed an appropriate juncture. I also figure you also think of it similarly already but you never know what others see in things.

As for additional layer tiers, it's something to plan for eventually having because at some point the Advanced system would beg for it. Mentioning it now makes it easier to consider into your overall outlook.

But I realize I'd have to go into depth to explain how it would work to really get a feel for how it could or should adjust what you're considering now so perhaps just ignore it at the moment.
 
Do you have any knowledge as to why the Decay rate of 4% was chosen? Especially in the light that Hydro had some of the Individual Crimes with minCrime levels at 1500 before I reduced them all.

JosEPh
 
No I don't really know the logic behind any given selection for that. It won't stop crime levels from potentially getting that high... just resists it is all.
 
Just looked into HandicapInfos and the Crime scales for each level. Curiously Settler's Crime Property has no value.

Code:
<PropertyManipulators>
				<PropertySource>
					<PropertySourceType>PROPERTYSOURCE_CONSTANT</PropertySourceType>
					<PropertyType>PROPERTY_CRIME</PropertyType>
					<GameObjectType>GAMEOBJECT_CITY</GameObjectType>
					<RelationType>RELATION_ASSOCIATED</RelationType>
					<iAmountPerTurn>
						<AttributeType>ATTRIBUTE_POPULATION</AttributeType>
					</iAmountPerTurn>
				</PropertySource>

While SO's Nightmare has:

Code:
<PropertyManipulators>
				<PropertySource>
					<PropertySourceType>PROPERTYSOURCE_CONSTANT</PropertySourceType>
					<PropertyType>PROPERTY_CRIME</PropertyType>
					<GameObjectType>GAMEOBJECT_CITY</GameObjectType>
					<RelationType>RELATION_ASSOCIATED</RelationType>
					<iAmountPerTurn>
					  <Mult>
						<AttributeType>ATTRIBUTE_POPULATION</AttributeType>
						<Constant>2</Constant>
					  </Mult>
					</iAmountPerTurn>
				</PropertySource>

Normal game values for Cheiftain thru Deity are: 3/2, 2, 5/2, 3, 7/2, 4, 9/2, and 5 for Deity.
Settler should have a Constant of 1 instead of no value expressed at all.

Nightmare has a couple of mistakes but here is it's values as they are right now Settler thru Deity: 2, 5/2, 3, 7/2, 4, 9/2, 5, 5/5, and 5 for Deity.

As you can see I'm sure SO never meant for Immortal to have a value of 1 (5/5) and Deity the same as Emperor (5).

These will need fixed I would assume.

JosEPh
 
Just looked into HandicapInfos and the Crime scales for each level. Curiously Settler's Crime Property has no value.

Code:
<PropertyManipulators>
				<PropertySource>
					<PropertySourceType>PROPERTYSOURCE_CONSTANT</PropertySourceType>
					<PropertyType>PROPERTY_CRIME</PropertyType>
					<GameObjectType>GAMEOBJECT_CITY</GameObjectType>
					<RelationType>RELATION_ASSOCIATED</RelationType>
					<iAmountPerTurn>
						<AttributeType>ATTRIBUTE_POPULATION</AttributeType>
					</iAmountPerTurn>
				</PropertySource>
Oh, it does have a value, it's: iCrimePerTurn = iPopulation
Code:
					<iCrimePerTurn>
						<iPopulation>ATTRIBUTE_POPULATION</iPopulation>
					</iCrimePerTurn>
It is the same as multiplying iPopulation with 1; so why do the multiplication at all.
 
@Toffer,
This Property coding is all new stuff to me, so I'm learning from you. :) Thank you.

Question: if I had put after <iPopulation>ATTRIBUTE_POPULATION</iPopulation>
this : <Constant>1</Constant>

Would it have changed anything? I assume from your previous answer that it would be redundant?

JosEPh
 
Oh, it does have a value, it's: iCrimePerTurn = iPopulation
Code:
					<iCrimePerTurn>
						<iPopulation>ATTRIBUTE_POPULATION</iPopulation>
					</iCrimePerTurn>
It is the same as multiplying iPopulation with 1; so why do the multiplication at all.

lol... good point. One I'd have overlooked.
 
@Toffer,
This Property coding is all new stuff to me, so I'm learning from you. :) Thank you.

Question: if I had put after <iPopulation>ATTRIBUTE_POPULATION</iPopulation>
this : <Constant>1</Constant>

Would it have changed anything? I assume from your previous answer that it would be redundant?

JosEPh
Yes, but you are forgetting that you would need to add a <Mult> tag before and after as well like so:
Code:
					<iCrimePerTurn>
					  <Mult>
						<iPopulation>ATTRIBUTE_POPULATION</iPopulation>
						<Constant>1</Constant>
					  </Mult>
					</iCrimePerTurn>
It would then be the exact same as what your original question contained.
 
So what would've been the consequence if I had added the <iConstant> line without the <Mult> bracketing it? Would it be a coding error? Would the game ignore it?

JosEPh
 
@Joe: Here's some of what's possible in the <Active> tag for properties, it's a crazy example so don't fret right away:
Spoiler :
Code:
<PropertyManipulators>
	<PropertySource>
		<PropertySourceType>PROPERTYSOURCE_CONSTANT</PropertySourceType>
		<PropertyType>PROPERTY_CRIME</PropertyType>
		<GameObjectType>GAMEOBJECT_PLOT</GameObjectType>
		<RelationType>RELATION_ASSOCIATED</RelationType>
		<iAmountPerTurn>5</iAmountPerTurn>
		<Active>
			<And>
				<Or>
					<Has>
						<GOMType>GOM_FEATURE</GOMType>
						<ID>FEATURE_FOREST</ID>
					</Has>
					<IntegrateOr>
						<RelationType>RELATION_WORKING</RelationType>
						<GameObjectType>GAMEOBJECT_PLOT</GameObjectType>
						<Has>
							<GOMType>GOM_BUILDING</GOMType>
							<ID>BUILDING_PALACE</ID>
						</Has>
					</IntegrateOr>
				</or>
				<Not>
					<Has>
						<GOMType>GOM_BONUS</GOMType>
						<ID>BONUS_APPLE</ID>
					</Has>
				</Not>
			</And>
		</Active>
	</PropertySource>
</PropertyManipulators>

+5 Crime in plots that does not have the Apple Bonus,
AND either:
  1. Is owned/workable by a city that has the Palace building (capital)
    OR
  2. Has a forest

What else that can be done with it is pretty well explained here: Link
You might want to bookmark that link address.
 
The tags that can be used in integer expressions like iAmountPerTurn are:
Plus
Minus
Mult
Div
Random (random value up to a given sub expression)
Adapt (adapt a value to map size and similar)
If (choose from two values depending on a boolean expression)
PropertyType (current value of a property)
AttributeType (some specific values like population)
Python (call a Python function)
IntegrateSum (sum up an expression on other related, e.g. nearby, objects)
IntegrateAvg (same but use average)
IntegrateCount (same but just count if a condition is true)
 
Top Bottom