Breaking Save Game Compatibility for v37

Nothing has changed, although not all of the Neanderthal spawns are tied to caves.

If I remember correctlty - None are set to spawn in caves.

It must have been an addition I made on my own, to my SEM+ map before all these new changes were added. I was trying to get Lat./Long approximate for the map. To spawn almost correct animals.

I almost managed to get Lat/Long correct. Was working on number of spawns per area. Before this improvement happened.

My changes are of course now out of date, apart from Lat/Long on Sem+.

But before I could myself, did not ask to be submitted to the SVN.

Now to many changes, with all the new concepts. Will take a time before updating my cooy - but as I never posted a first version. No Problem,.
 
This is the beginning of the current Neanderthal civ listing in CivilizationInfos.xml. It's BASED on the Barbarian one.

Something I am missing here.

The Neanderthals do not get a settler unit as it is currently only spawned like animals. Unless that is to be changed with the new NPC scheme.

If not - no settler means no city. If you have not got a city you can not build anything.

Therefore why the need to use these tags.

<BuildingType>NONE</BuildingType>
<UnitType>NONE</UnitType>

I can understand why Barbarians need them as they can build cities.
 
Something I am missing here.

The Neanderthals do not get a settler unit as it is currently only spawned like animals. Unless that is to be changed with the new NPC scheme.

If not - no settler means no city. If you have not got a city you can not build anything.

Therefore why the need to use these tags.

<BuildingType>NONE</BuildingType>
<UnitType>NONE</UnitType>

I can understand why Barbarians need them as they can build cities.

We might want to give them the ability to build/spawn cities later on.

Though we decided not to do this in CivilizationInfo:
<BuildingType>NONE</BuildingType>
<UnitType>NONE</UnitType>

But rather list every building/unit they can build instead. It ought to be a far smaller list. It will not be listed the same way though, it will be a "can be built by this and that player" tag located in the specific Building/UnitInfos and a boolean tag in CivilizationInfos that restrict that civilization from building/training anything that doesn't have the "can be built by this and that player" tag.
 
Something I am missing here.

The Neanderthals do not get a settler unit as it is currently only spawned like animals. Unless that is to be changed with the new NPC scheme.

If not - no settler means no city. If you have not got a city you can not build anything.

Therefore why the need to use these tags.

<BuildingType>NONE</BuildingType>
<UnitType>NONE</UnitType>

I can understand why Barbarians need them as they can build cities.

We might want to give them the ability to build cities later on.

Though we decided not to do this in CivilizationInfo:
<BuildingType>NONE</BuildingType>
<UnitType>NONE</UnitType>

But rather list every building/unit they can build instead. It ought to be a far smaller list. It will not be listed the same way though, it will be a "can be built by this and that player" tag located in the specific Building/UnitInfos and a boolean tag in CivilizationInfos that restrict that civilization from building/training anything that doesn't have the "can be built by this and that player" tag.

You can usually keep up with my thinking by reading commit notes ;)

To go into a bit more depth here:

Barbarians pretty much never train settlers either. They also don't spawn them. What happens is in the code, cities are occasionally spawned for barbarians. When adding Neanderthals as their own NPC 'player' I included a game option for Neanderthal Cities, which will allow them to have cities spawn during the prehistoric era. Such cities should not be allowed, however, to build a lot of normal homo-sapien buildings nor train homo-sapien units. They stop spawning cities under this option after the Prehistoric era is complete, giving mankind an opportunity to eventually wipe them off the map. They don't tech very well at all. So they are nearly frozen in the Prehistoric and for the most part are doomed to eventually die off. But for a while, they have their own bastions of population to defend and an aggressive bent, much like other barbarians, to hinder and conquer the lands of homo-sapiens.

Thus the need for finding an easier way to define what they can and cannot build and train.

I would've brought this concept up for discussion before just 'doing this' but it came up as a consideration purely as a result of going through barbarian coding and determining what would and would not apply for the Neanderthals that doesn't already apply to ALL NPCs. So it was a decision to do or do not that needed to be decided on the spot, thus why I implemented it as an option.
 
@Harrier:
I'm about to include a few new tags on the SVN.

1) bSeverelyRestricted - use on civilization infos for NPC civs we want to hand select what buildings and units are enabled. Everything not declared as enabled will be restricted.

2) EnabledCivilizationTypes - use on BuildingInfos and UnitInfos to declare that this type is ok for a severely restricted civilization. Syntax is:
Code:
<EnabledCivilizationTypes>
	<EnabledCivilizationType>
		<CivilizationType>CIVILIZATION_NPC_NEANDERTHAL</CivilizationType>
	</EnabledCivilizationType>
</EnabledCivilizationTypes>
You can designate multiple civilizations with this tag but it's a little unusual in the syntax. It would be like this:
Code:
<EnabledCivilizationTypes>
	<EnabledCivilizationType>
		<CivilizationType>CIVILIZATION_NPC_NEANDERTHAL</CivilizationType>
	</EnabledCivilizationType>
	<EnabledCivilizationType>
		<CivilizationType>CIVILIZATION_INSECTOID</CivilizationType>
	</EnabledCivilizationType>
</EnabledCivilizationTypes>
This is the tag that unlocks the unit or building to be trainable or constructable and only unlocks them for civilizations that are bSeverelyRestricted.

So Neanderthals obviously need to be set to bSeverelyRestricted and then we need to go through all unit and building infos and simply copy in
Code:
<EnabledCivilizationTypes>
	<EnabledCivilizationType>
		<CivilizationType>CIVILIZATION_NPC_NEANDERTHAL</CivilizationType>
	</EnabledCivilizationType>
</EnabledCivilizationTypes>
on buildings and units you feel they should be able to have.

For buildings, many would be fine I think but we should keep them somewhat basic impo.

One way to quickly go through 'all buildings' and 'all units' would be to use wingrep to find, for example, all files that utilize the term '<Civ4UnitInfos' in the assets folder. Then open them all in Notepad++. Then do a search for <Type> in all files and you'll get a complete unit list. Work your way up from the bottom through all files. You shouldn't need to go to each type entry since the type line that comes up in the search results will let you know what that item is so you simply have a list to read through and hand select from.

I'm thinking for units, some basic siege, canines, and the standard neanderthal units and possibly worker units would be sufficient. You may find more you think could/should be included. I'll let you be the judge.

It may not be as daunting as it seems and I promise not as much as it WOULD've been without these new tags!

They'll be on the SVN here in a few minutes.
 
Well some questions, I was about to ask have been answered.

Before starting on this project, I will spend a bit more time reading relevant old posts - to ensure my understanding is correct.

Not yet used Wingrep - better download a copy.

I may have misunderstood the next part.

As for putting tags on the building/units indicating which NPCs could build them - I was thinking along the same lines. It seemed better than listing all buildings that can not be built for every NPC.

If my thinking is correct:

bSeverelyRestricted - use on civilization infos for NPC civs.

and

EnabledCivilizationTypes - use on BuildingInfos and UnitInfos to declare that this type is ok.

Do they now replace:

In CivilizationInfo:

<BuildingType>NONE</BuildingType>
<UnitType>NONE</UnitType>
 
Well some questions, I was about to ask have been answered.

Before starting on this project, I will spend a bit more time reading relevant old posts - to ensure my understanding is correct.

Not yet used Wingrep - better download a copy.

I may have misunderstood the next part.

As for putting tags on the building/units indicating which NPCs could build them - I was thinking along the same lines. It seemed better than listing all buildings that can not be built for every NPC.

If my thinking is correct:

bSeverelyRestricted - use on civilization infos for NPC civs.

and

EnabledCivilizationTypes - use on BuildingInfos and UnitInfos to declare that this type is ok.
Spot on. ^^

Do they now replace:

In CivilizationInfo:

<BuildingType>NONE</BuildingType>
<UnitType>NONE</UnitType>
Barbarians can keep these for now.

bSeverelyRestricted - Animals don't need the booleans as I don't think we'll ever let them have cities.

bSeverelyRestricted - That leaves Neanderthals and Insectoids (which may include intelligent extraterrestrial insects).

I don't think we have much that would qualify as build-able for Insectoids at this point of the mods development, so your focus will be the Neanderthals.
 
Spot on. ^^

Barbarians can keep these for now.

bSeverelyRestricted - Animals don't need the booleans as I don't think we'll ever let them have cities.

bSeverelyRestricted - That leaves Neanderthals and Insectoids (which may include intelligent extraterrestrial insects).

I don't think we have much that would qualify as build-able for Insectoids at this point of the mods development, so your focus will be the Neanderthals.

Do not worry - initially Neanderthals will be my main concern.

By the way Toffers, stop changing the map graphics - or I may drop this project and go back to updating my maps. :eek: :mischief: :cry: :)
 
The building and unit tags on civilization infos for those civilizations declared severely restricted won't need to be set unless you want a building class to have a different building associated with it, which is like Unique Buildings for example. I don't think you'll need to worry about that so I'd just delete those lists in the civ infos you're working over.
 
Do not worry - initially Neanderthals will be my main concern.

By the way Toffers, stop changing the map graphics - or I may drop this project and go back to updating my maps. :eek: :mischief: :cry: :)

Sorry. :mischief: I think I'm all done with that now.

@TB: I've already removed the lists from all NPC's except the barbarian civ.
 
Grepwin.

Not yet used Wingrep - better download a copy. Sorry HD -may be getting like you. :mischief: :)

When trying to download, seems my very old system is no longer supported.

Then when checking - 'Start - All Programs' - seems I had downloaded it ages ago and forgotten.

So a quick tutorial is in progress.
 
I'm using grepWin actually. I have it set to open files in notepad++.

I never can remember when I'm posting which it is, grepwin or wingrep. Ugh. For the record, I'll always be meaning grepWin. lol
 
By the way Toffers, stop changing the map graphics - or I may drop this project and go back to updating my maps. :eek: :mischief: :cry: :)
I think I figured out a way for you to fix your map easily.
Open the map save file with notepad++ and replace all the wrong terrain tags, as easy as that.

TERRAIN_
TERRAIN_POLAR/TROPICAL_OCEAN/COAST/SEA has been changed to TERRAIN_OCEAN/COAST/SEA_POLAR/TROPICAL
DEEP_COAST &#8594; COAST_DEEP
DEEP_SEA &#8594; SEA_DEEP
SNOW &#8594; ICE
PERMAFROST &#8594; TUNDRA
TUNDRA &#8594; TAIGA

You can also remove any GameOptions that no longer exist at the top of the file.
-multiple production/research
-castles
-meteorology
-other (don't remember more)​

Edit: It has been confirmed that this solution works.
 
Thanks Toffer. I use both notepad and WorldBuilder when editting my maps.

As you mentioned a change from Tundra to Taiga (which I had not spotted) is easy in notepad. It is placing new terrains in WB that takes the time.

I was not being serious, as I have not worked on the maps since you started the changes. Figured I would let things settle before adding them.

However the first two lines are bit confusing.

TERRAIN_POLAR/TROPICAL_OCEAN/COAST/SEA has been changed to TERRAIN_OCEAN/COAST/SEA_POLAR/TROPICAL

Can you explain a bit more.
 
Thanks Toffer. I use both notepad and WorldBuilder when editting my maps.

As you mentioned a change from Tundra to Taiga (which I had not spotted) is easy in notepad. It is placing new terrains in WB that takes the time.

I was not being serious, as I have not worked on the maps since you started the changes. Figured I would let things settle before adding them.

However the first two lines are bit confusing.



Can you explain a bit more.

TERRAIN_TROPICAL_COAST &#8594; TERRAIN_COAST_TROPICAL
TERRAIN_POLAR_COAST &#8594; TERRAIN_COAST_POLAR

TERRAIN_TROPICAL_SEA &#8594; TERRAIN_SEA_TROPICAL
TERRAIN_POLAR_SEA &#8594; TERRAIN_SEA_POLAR

TERRAIN_TROPICAL_OCEAN &#8594; TERRAIN_OCEAN_TROPICAL
TERRAIN_POLAR_OCEAN &#8594; TERRAIN_OCEAN_POLAR

New terrains:
TERRAIN_COAST_DEEP_TROPICAL
TERRAIN_COAST_DEEP_POLAR
TERRAIN_SEA_DEEP_TROPICAL
TERRAIN_SEA_DEEP_POLAR
TERRAIN_TRENCH_TROPICAL
TERRAIN_TRENCH_POLAR
All 3 trench variations will look identical in game as they look odd if not black.
 
Thanks Toffer.

Using SVN 9153 I changed the units: Neanderthal and neanderthal warrior and did a test run using <EnabledCivilizationTypes>.

It was on a tiny map at marathon speed, using default options . Lots of animals but only 2 neanderthal on the map. Only two other civs so I doubt they would have killed many.

To increase the number maybe should change the spawnfile dates.

Dates are -45 to -35 (000s), -35 to -20 and -20 to -10. I would propose some overlap.

-45 to -20, -40 to -15 and -25 to -10.

We could also consider more spawn bonus's.

Back to <EnabledCivilizationTypes>.

Other units to change would be Gatherer and Worker. (if they capture a city).

What about the Tribe unit as it becomes available within the time span. Or would that require a special unit.

Also should we take early crime and health into consideration.

Watcher and Wisewoman (possibly also Healer).

As for canines.

Trained Dogs and War Dogs.

I think that would be all, until new units are added
 
Using SVN 9153 I changed the units: Neanderthal and neanderthal warrior and did a test run using <EnabledCivilizationTypes>.
It occurs to me that we may need to make a duplicate copy of the Neanderthal Warrior since the unit cannot be built without the Neanderthal Embassy, even if you ARE the neanderthal! lol

It was on a tiny map at marathon speed, using default options . Lots of animals but only 2 neanderthal on the map. Only two other civs so I doubt they would have killed many.

To increase the number maybe should change the spawnfile dates.

Dates are -45 to -35 (000s), -35 to -20 and -20 to -10. I would propose some overlap.

-45 to -20, -40 to -15 and -25 to -10.

We could also consider more spawn bonus's.
Right... all about the spawning itself, not so much about the cities, their spawning, and what can be built or trained in them.

Back to <EnabledCivilizationTypes>.

Other units to change would be Gatherer and Worker. (if they capture a city).
Agreed (though it's also if they spawn a city.)
I wonder though if we wouldn't want special Neanderthal gatherers and workers? Depends on if someone would be willing to do the art mostly.

What about the Tribe unit as it becomes available within the time span.
Personally I think that since they spawn cities as it is, there probably isn't much need for a settler unit for them.

Also should we take early crime and health into consideration.

Watcher and Wisewoman (possibly also Healer).
While maybe a healer could be good for them for actual healing needs, property control is a non-issue for NPC cities since properties are turned off for them.

As for canines.

Trained Dogs and War Dogs.

I think that would be all, until new units are added
I'm thinking maybe rams as well though.
 
You can add FEATURE_CAVE to all three waves and the overlapping could be a good idea as it will make their spawning rate fluctuate much more (3 waves will turn into 5 as the two transitions could be counted as waves in their own right). If they still spawn too seldom, I'm leaving this evaluation to you) then you can start reducing the iTurns or add even more bonuses/terrains/features that makes a plot eligible for spawning them. Their spawning rate should overall decrease from one wave to another.

As for health and disease, etc. I think we can remove those issues from the Neanderthal civ. either in the dll or by modifying their native culture free building.

The tribe can wait, other than that I trust you will make the right choices, unique art for their units can come later in many instances.

It occurs to me that we may need to make a duplicate copy of the Neanderthal Warrior since the unit cannot be built without the Neanderthal Embassy, even if you ARE the neanderthal! lol
We could always tweak the prereqs for the unit though, make it an either or requirement requires this building or that building.

Neanderthal civ should have their own free and unique native culture just like barbarians have. "Native culture Neanderthal".

From barbarian civilizationInfo
Code:
				<Building>
					<BuildingClassType>BUILDINGCLASS_CULTURE_HUMAN</BuildingClassType>
					<BuildingType>BUILDING_CULTURE_BARBARIAN</BuildingType>
				</Building>
 
OK. I will include:

Gatherer and Worker.
Trained Dogs and War Dogs.
Log Ram.

A few more thoughts.

Rafts. not sure as not very powerful - but may be useful if the Neanderthal City starts on a small island, or near a mountain blocking access. Also Canoe and War Canoe.

Work boats. Ancient/Classical.

Trained Cat and War Cat. (Megafawn units.)
 
Back
Top Bottom