C2C SVN Changelog

Argh! Again, I have trashed my SVN copy of the mod. So again I will have to do a download. I have heaps of updates to go in and I can't get a working SVN long enough to work out which versions of which files I need to update:mad::crazyeye:

So hows it going now, i seen ONE post by you so far, but you mentioned you had alot of stuff to add:confused:
 
Modified Subdue Animals, Bonuses from some buildings and the rate that seal and walrus resources are placed.

I have implemented, and am currently testing, XML-driven unit spawning. I'm testing it with Neanderthals (replacing the python), but it's equally applicable to animals. I expect I'll be pushing it to SVN tomorrow or Wednesday. I intend to push it with Neanderthals using it as an example, but I won't touch animals before I do. It would probably be best if DH converted the animals once it's pushed, partly due to his familiarity with them, and partly as a good way to provide feedback on how usable the new system is, and thus provide feedback for further tweaks. Incidentally since it provides date windows on spawns it might be nice to do a few subtle things with animals to represent extinction etc. (so no mammoths after, say, 4000 BC).
 
I have implemented, and am currently testing, XML-driven unit spawning. I'm testing it with Neanderthals (replacing the python), but it's equally applicable to animals. I expect I'll be pushing it to SVN tomorrow or Wednesday. I intend to push it with Neanderthals using it as an example, but I won't touch animals before I do. It would probably be best if DH converted the animals once it's pushed, partly due to his familiarity with them, and partly as a good way to provide feedback on how usable the new system is, and thus provide feedback for further tweaks. Incidentally since it provides date windows on spawns it might be nice to do a few subtle things with animals to represent extinction etc. (so no mammoths after, say, 4000 BC).

We had to write a spawn process for Neanderthals because the engine was not generating them. All animal spawns are currently done in the SDK not by me.
 
Incidentally since it provides date windows on spawns it might be nice to do a few subtle things with animals to represent extinction etc. (so no mammoths after, say, 4000 BC).

That sounds great! So I am guessing it would be no wild mammoths but special unit mammoths could last much longer since they are bread in captivity.

This brings up an inserting problem I know DH is adding a mammoth resource which can be made to go obsolete. However how do you have a building that depends upon a resource to build but still can hang around after the resource is gone?
 
Just pushed to SVN the new XML-mediated spawn mechanism. Right now all that uses it is the Neanderthals (and I have removed the Python that used to do this), and their spawn is governed by the XML in assets/modules/Custom Units/Neanderthal/NeanderthalCiv4SpawnInfos.xml.

This defines three separate spawn waves which run layered on top of one another at different dates. The effect is a lowish base spawn rate between 11000BC and 5000BC, increasing between 10000BC and 7000BC, and peaking between 9000BC and 8000BC, the idea being to give you a while to ready yourself before the worst.

Below is the XML for the base wave, with a detailed explanation following:

Code:
		<SpawnInfo>
			<Type>SPAWN_NEANDERTHAL_BASE</Type>
			<UnitType>UNIT_NEANDERTHAL</UnitType>
			<iTurns>15</iTurns>
			<iMaxLocalDensity>5</iMaxLocalDensity>
			<iStartDate>-11500</iStartDate>
			<iEndDate>-5000</iEndDate>
			<bTreatAsBarbarian>1</bTreatAsBarbarian>
			<rateOverrideDefineName>NEANDERTHAL_SPAWN_MODIFIER</rateOverrideDefineName>
			<BonusTypes>
				<BonusType>BONUS_BISON</BonusType>
				<BonusType>BONUS_IVORY</BonusType>
				<BonusType>BONUS_DEER</BonusType>
			</BonusTypes>
		</SpawnInfo>

Type - unique name for this spawn
UnitType - the type of unit it spawns
iTurns - average number of turns between spawns for each possible spawn resource (this is then normalized for game speed, so the number here is for epic, and gets larger with slower game speeds in proportion)
iMaxLocalDensity - number of local tiles per unit already present after which further already present units (of the spawned type) will inhibit the spawn - so this is saying to stop spawning if there is one Neanderthal per 5 tiles locally
iStartDate - start year for this spawn
iEndDate - end year for this spawn (year is self-normalizing to game speed which is why I went that way)
bTreatAsBarbarian - if set to 1, indicates the spawned unit is effectively a barbarian, and hence is turned off by game option NO_BARBARIANS and doubled by RAGING_BARBARIANS
rateOverrideDefineName - name of a global define value which can be used to adjust the spawn rate - it is a percentage and can be any value from 0 upwards (set to 100 in what I have pushed). Higher numbers imply more spawns, with 100 being the pure XML-defined rate - I put this in to give players an easy way to adjust the overall setting
BonusTypes - the bonuses the unit can spawn from. Spawn is inhibitted if the tile containing the bonus is owned or is occupied by a non-barbarian unit
 
Just pushed to SVN the new XML-mediated spawn mechanism. Right now all that uses it is the Neanderthals (and I have removed the Python that used to do this), and their spawn is governed by the XML in assets/modules/Custom Units/Neanderthal/NeanderthalCiv4SpawnInfos.xml.

This defines three separate spawn waves which run layered on top of one another at different dates. The effect is a lowish base spawn rate between 11000BC and 5000BC, increasing between 10000BC and 7000BC, and peaking between 9000BC and 8000BC, the idea being to give you a while to ready yourself before the worst.

Below is the XML for the base wave, with a detailed explanation following:

Code:
		<SpawnInfo>
			<Type>SPAWN_NEANDERTHAL_BASE</Type>
			<UnitType>UNIT_NEANDERTHAL</UnitType>
			<iTurns>15</iTurns>
			<iMaxLocalDensity>5</iMaxLocalDensity>
			<iStartDate>-11500</iStartDate>
			<iEndDate>-5000</iEndDate>
			<bTreatAsBarbarian>1</bTreatAsBarbarian>
			<rateOverrideDefineName>NEANDERTHAL_SPAWN_MODIFIER</rateOverrideDefineName>
			<BonusTypes>
				<BonusType>BONUS_BISON</BonusType>
				<BonusType>BONUS_IVORY</BonusType>
				<BonusType>BONUS_DEER</BonusType>
			</BonusTypes>
		</SpawnInfo>

Type - unique name for this spawn
UnitType - the type of unit it spawns
iTurns - average number of turns between spawns for each possible spawn resource (this is then normalized for game speed, so the number here is for epic, and gets larger with slower game speeds in proportion)
iMaxLocalDensity - number of local tiles per unit already present after which further already present units (of the spawned type) will inhibit the spawn - so this is saying to stop spawning if there is one Neanderthal per 5 tiles locally
iStartDate - start year for this spawn
iEndDate - end year for this spawn (year is self-normalizing to game speed which is why I went that way)
bTreatAsBarbarian - if set to 1, indicates the spawned unit is effectively a barbarian, and hence is turned off by game option NO_BARBARIANS and doubled by RAGING_BARBARIANS
rateOverrideDefineName - name of a global define value which can be used to adjust the spawn rate - it is a percentage and can be any value from 0 upwards (set to 100 in what I have pushed). Higher numbers imply more spawns, with 100 being the pure XML-defined rate - I put this in to give players an easy way to adjust the overall setting
BonusTypes - the bonuses the unit can spawn from. Spawn is inhibitted if the tile containing the bonus is owned or is occupied by a non-barbarian unit

Great work!:goodjob:
 
Just pushed to SVN the new XML-mediated spawn mechanism. Right now all that uses it is the Neanderthals (and I have removed the Python that used to do this), and their spawn is governed by the XML in assets/modules/Custom Units/Neanderthal/NeanderthalCiv4SpawnInfos.xml.

This defines three separate spawn waves which run layered on top of one another at different dates. The effect is a lowish base spawn rate between 11000BC and 5000BC, increasing between 10000BC and 7000BC, and peaking between 9000BC and 8000BC, the idea being to give you a while to ready yourself before the worst.

Below is the XML for the base wave, with a detailed explanation following:

Code:
		<SpawnInfo>
			<Type>SPAWN_NEANDERTHAL_BASE</Type>
			<UnitType>UNIT_NEANDERTHAL</UnitType>
			<iTurns>15</iTurns>
			<iMaxLocalDensity>5</iMaxLocalDensity>
			<iStartDate>-11500</iStartDate>
			<iEndDate>-5000</iEndDate>
			<bTreatAsBarbarian>1</bTreatAsBarbarian>
			<rateOverrideDefineName>NEANDERTHAL_SPAWN_MODIFIER</rateOverrideDefineName>
			<BonusTypes>
				<BonusType>BONUS_BISON</BonusType>
				<BonusType>BONUS_IVORY</BonusType>
				<BonusType>BONUS_DEER</BonusType>
			</BonusTypes>
		</SpawnInfo>

Type - unique name for this spawn
UnitType - the type of unit it spawns
iTurns - average number of turns between spawns for each possible spawn resource (this is then normalized for game speed, so the number here is for epic, and gets larger with slower game speeds in proportion)
iMaxLocalDensity - number of local tiles per unit already present after which further already present units (of the spawned type) will inhibit the spawn - so this is saying to stop spawning if there is one Neanderthal per 5 tiles locally
iStartDate - start year for this spawn
iEndDate - end year for this spawn (year is self-normalizing to game speed which is why I went that way)
bTreatAsBarbarian - if set to 1, indicates the spawned unit is effectively a barbarian, and hence is turned off by game option NO_BARBARIANS and doubled by RAGING_BARBARIANS
rateOverrideDefineName - name of a global define value which can be used to adjust the spawn rate - it is a percentage and can be any value from 0 upwards (set to 100 in what I have pushed). Higher numbers imply more spawns, with 100 being the pure XML-defined rate - I put this in to give players an easy way to adjust the overall setting
BonusTypes - the bonuses the unit can spawn from. Spawn is inhibitted if the tile containing the bonus is owned or is occupied by a non-barbarian unit

Good, now I know what I should do with the animal units. ;) Can the spawn XML file go anywhere? What values for year should I use if I don't want to limit them?
 
Just added in the new Terrain Features (Fossils and Tar Pit) plus new resources (Lobster, mammoth and Rabbits). Now to turn the Shaman buildings that wer turned off while I was away :).
 
Good, now I know what I should do with the animal units. ;) Can the spawn XML file go anywhere? What values for year should I use if I don't want to limit them?

It needs to go in the same folder you'd put a units xml file in (it uses the units schema - I updated the schema in SVN in the xml/units folder [which is the one with Afforess in its name] and also the one used in the neaderthals custom units folder, but I haven't been round changing the units schema in other instances since it doesn't matter until you try to add spawns there too).

I didn't create any 'special' values to mean (no limit) but just use like -50000 and +50000 or something - they are just ints that get compared to the game year (with 0 = 0BC).

If you need additional capabilities (like spawn off of terrains rather than bonuses or something) let me know.

If you convert any animals over don't forget to remove their existing 'nativeTerrain' (or whatever the exact name is) value so that the animal spawning code isn't spawning them at the same time (unless that's what you intend anyway)

Edit - I missed a file from my last checkin (the schema in xml/units I referred to above). I've just added it now - sorry
 
Added 4 NEW civics to the SVN.

- Anarchism (Government)
- Primitive (Society)
- Communalism (Economy)
- Irreligion (Religion)

@Hydro

Do you have a spreadsheet for the civics you've made? Something you use to keep track of all of them and their effects?

Also... did you ever consider making the Gov't names more specific? The ones in C2C now are very broad, for the most part. i.e. "Democracy" instead of "Representative Democracy" or "Direct Democracy" etc. Just curious.

Wiki has a page with most (if not all) of them outlined:

http://en.wikipedia.org/wiki/List_of_forms_of_government
 
@Hydro

Do you have a spreadsheet for the civics you've made? Something you use to keep track of all of them and their effects?

Also... did you ever consider making the Gov't names more specific? The ones in C2C now are very broad, for the most part. i.e. "Democracy" instead of "Representative Democracy" or "Direct Democracy" etc. Just curious.

Wiki has a page with most (if not all) of them outlined:

http://en.wikipedia.org/wiki/List_of_forms_of_government

No not yet. Though if you want to do that it would be a great help.

We have not really discussed Civics too much, perhaps a new topic should be made for it.
 
No not yet. Though if you want to do that it would be a great help.

We have not really discussed Civics too much, perhaps a new topic should be made for it.

Yeah, I can make a sheet for it. I don't have my system setup to run the newer changes in the SVN yet, so for your recent civics, either I'll need the stats on those, or wait.

A general Civics may be needed. Maybe spawn off the one about # of cities limit.
 
@DH
Gamefont is messed up and Mammoth doesn't show up.. I haven't checked fossil/tar pit.

@Koshling
Whenever starting game, I got error message like this : cannot load Civ4SpawnInfos.xml in xml/Units although there isn't a file which has such name.
 
Top Bottom