[MOD] Medieval: Conquests

I can mod FaireWeather to truncate the map with no icecap and no water margin at the top and bottom.

I'm still not sure that I understand the Python well enough to know what part is called to paint the Europe gates to the map.

That is awesome, drjest, glad you figured that out. I actually think the this may be he code that assigns Europe tiles...

Spoiler :
Code:
void CvMapGenerator::addEurope()
{
	PROFILE_FUNC();
	gDLL->NiTextOut("Adding Europe...");

	for (int iEurope = 0; iEurope < GC.getNumEuropeInfos(); ++iEurope)
	{
		EuropeTypes eEurope = (EuropeTypes) iEurope;
		CvEuropeInfo& kEurope = GC.getEuropeInfo(eEurope);
		int iWidthPercent = kEurope.getWidthPercent();
		gDLL->getPythonIFace()->pythonGetEuropeWidthPercent(eEurope, &iWidthPercent);
		int iMinLandDistance = kEurope.getMinLandDistance();
		gDLL->getPythonIFace()->pythonGetEuropeMinLandDistance(eEurope, &iMinLandDistance);

		//try several times until at least one start europe is found
		bool bAnyEuropeFound = false;
		for ( ; iMinLandDistance >= 0 && !bAnyEuropeFound; iMinLandDistance--)
		{
			for (int i = 0; i < GC.getMapINLINE().numPlotsINLINE(); ++i)
			{
				CvPlot* pPlot = GC.getMapINLINE().plotByIndexINLINE(i);

				if (pPlot->isWater() && !pPlot->isEurope())
				{
					bool bEurope = false;
					switch (kEurope.getCardinalDirection())
					{
					case CARDINALDIRECTION_EAST:
						bEurope = (pPlot->getX_INLINE() > (100 - iWidthPercent) * GC.getMapINLINE().getGridWidthINLINE() / 100);
						break;
					case CARDINALDIRECTION_WEST:
						bEurope = (pPlot->getX_INLINE() < iWidthPercent * GC.getMapINLINE().getGridWidthINLINE() / 100);
						break;
					case CARDINALDIRECTION_NORTH:
						bEurope = (pPlot->getY_INLINE() > (100 - iWidthPercent) * GC.getMapINLINE().getGridHeightINLINE() / 100);
						break;
					case CARDINALDIRECTION_SOUTH:
						bEurope = (pPlot->getY_INLINE() < iWidthPercent * GC.getMapINLINE().getGridHeightINLINE() / 100);
						break;
					default:
						FAssertMsg(false, "Invalid direction");
						break;
					}

					for (int i = -iMinLandDistance; i <= iMinLandDistance && bEurope; i++)
					{
						for (int j = -iMinLandDistance; j <= iMinLandDistance && bEurope; j++)
						{
							CvPlot* pLoopPlot = ::plotXY(pPlot->getX_INLINE(), pPlot->getY_INLINE(), i, j);
							if (pLoopPlot != NULL)
							{
								if (!pLoopPlot->isWater())
								{
									bEurope = false;
								}
							}
						}
					}

					if (bEurope)
					{
						if (pPlot->getFeatureType() != NO_FEATURE && GC.getFeatureInfo(pPlot->getFeatureType()).isImpassable())
						{
							pPlot->setFeatureType(NO_FEATURE);
						}

						if (pPlot->isImpassable())
						{
							bEurope = false;
						}
					}

					if (bEurope)
					{
						[COLOR="DarkRed"]pPlot->setEurope(eEurope);[/COLOR]
						bAnyEuropeFound = true;
					}
				}
			}
		}
	}
}


I ran some test in debug mode and the Map script (Fairweather) used the above code to assign North and South Europes (code marked in Red) but for some reason the Map script must have erased the North and South Oceans after the above code had set the Europes because when the game loads there is only East and West. I wonder though if I could call the addEurope function again after the map is finished and then it would work.
 
Well, I am thinking if we can get a good map script that has no poles on the north and south we can set up to have 4 trade routes, 2 by land, 2 by sea. We already have Spice Route and The Silk Road which are fairly nice one's but what would be a couple more one land one sea that would add to the game. We would need a main Trade Good for each of the routes. Amber was only found in the North and was used to make Jewelry. It could add a whole new Jewelcrafter to the mod. Then there was Incense and Tea. Incense could be used to give religious bonuses.

Looking over the code I think we can covert the CIV4EuropeInfo.XML to be our trade routes. We can add attributes to that like I have already added a "TradeScreenTypes" to it. So, we can add in things like type of required Terrains and Domain Type.

Anyone else have any ideas on this?
 
That is awesome, drjest, glad you figured that out. I actually think the this may be he code that assigns Europe tiles...

Spoiler :
Code:
void CvMapGenerator::addEurope()
{
	PROFILE_FUNC();
	gDLL->NiTextOut("Adding Europe...");

	for (int iEurope = 0; iEurope < GC.getNumEuropeInfos(); ++iEurope)
	{
		EuropeTypes eEurope = (EuropeTypes) iEurope;
		CvEuropeInfo& kEurope = GC.getEuropeInfo(eEurope);
		int iWidthPercent = kEurope.getWidthPercent();
		gDLL->getPythonIFace()->pythonGetEuropeWidthPercent(eEurope, &iWidthPercent);
		int iMinLandDistance = kEurope.getMinLandDistance();
		gDLL->getPythonIFace()->pythonGetEuropeMinLandDistance(eEurope, &iMinLandDistance);

		//try several times until at least one start europe is found
		bool bAnyEuropeFound = false;
		for ( ; iMinLandDistance >= 0 && !bAnyEuropeFound; iMinLandDistance--)
		{
			for (int i = 0; i < GC.getMapINLINE().numPlotsINLINE(); ++i)
			{
				CvPlot* pPlot = GC.getMapINLINE().plotByIndexINLINE(i);

				if (pPlot->isWater() && !pPlot->isEurope())
				{
					bool bEurope = false;
					switch (kEurope.getCardinalDirection())
					{
					case CARDINALDIRECTION_EAST:
						bEurope = (pPlot->getX_INLINE() > (100 - iWidthPercent) * GC.getMapINLINE().getGridWidthINLINE() / 100);
						break;
					case CARDINALDIRECTION_WEST:
						bEurope = (pPlot->getX_INLINE() < iWidthPercent * GC.getMapINLINE().getGridWidthINLINE() / 100);
						break;
					case CARDINALDIRECTION_NORTH:
						bEurope = (pPlot->getY_INLINE() > (100 - iWidthPercent) * GC.getMapINLINE().getGridHeightINLINE() / 100);
						break;
					case CARDINALDIRECTION_SOUTH:
						bEurope = (pPlot->getY_INLINE() < iWidthPercent * GC.getMapINLINE().getGridHeightINLINE() / 100);
						break;
					default:
						FAssertMsg(false, "Invalid direction");
						break;
					}

					for (int i = -iMinLandDistance; i <= iMinLandDistance && bEurope; i++)
					{
						for (int j = -iMinLandDistance; j <= iMinLandDistance && bEurope; j++)
						{
							CvPlot* pLoopPlot = ::plotXY(pPlot->getX_INLINE(), pPlot->getY_INLINE(), i, j);
							if (pLoopPlot != NULL)
							{
								if (!pLoopPlot->isWater())
								{
									bEurope = false;
								}
							}
						}
					}

					if (bEurope)
					{
						if (pPlot->getFeatureType() != NO_FEATURE && GC.getFeatureInfo(pPlot->getFeatureType()).isImpassable())
						{
							pPlot->setFeatureType(NO_FEATURE);
						}

						if (pPlot->isImpassable())
						{
							bEurope = false;
						}
					}

					if (bEurope)
					{
						[COLOR="DarkRed"]pPlot->setEurope(eEurope);[/COLOR]
						bAnyEuropeFound = true;
					}
				}
			}
		}
	}
}


I ran some test in debug mode and the Map script (Fairweather) used the above code to assign North and South Europes (code marked in Red) but for some reason the Map script must have erased the North and South Oceans after the above code had set the Europes because when the game loads there is only East and West. I wonder though if I could call the addEurope function again after the map is finished and then it would work.

If you look at FaireWeather.py, starting at line #235:
Code:
        #After generating the heightmap, bands of ocean can be added to the map
        #to allow a more consistent climate generation. These bands are useful
        #if you are generating part of a world where the weather might be coming
        #in from off the map. These bands can be kept if needed or cropped off
        #later in the process.
        self.northWaterBand = 2
        self.southWaterBand = 2
        self.eastWaterBand = 30
        self.westWaterBand = 30

        #These variables are intended for use with the above water band variables
        #but you can crop the map edge after climate generation for any reason.
        self.northCrop = 2
        self.southCrop = 2
        self.eastCrop = 30
        self.westCrop = 30

But I don't think this affects the placement of Europe plots, because the Europe plots are painted to the map as the last function, long after the map is cropped. In fact, none of the map scripts that I've ever seen for Civ4Col paint North Europe or South Europe plots to the map, not even A_New_World.py made by Firaxis.

When I looked through CvMapGeneratorUtil.py in the Python folder, which all Civ4Col map scripts import, there is nothing in it that appears to generate Europe plots of any kind.

In fact, when I try to insert a North and South Europe plot generation sequence to any map script, the game invariable crashes to the desktop.

So my suspicion is that the Europe plots are not created by Python.

If I remember what I read in the README file of one of the patches, Firaxis added the potential for West starts, but added North and South Europe only as WorldBuilder options.

The North and South margins of the map are widgety. In WorldBuilder, there is a 90% chance just clicking the mouse near the north margin of the map while using the river tool will cause the game to crash to the desktop. The south margin is less flaky, but it can also crash the game. I remember reading somewhere that the North and South margins of the map are sacrosanct, but I don't remember why. A lot of commentary and content on the Firaxis site is no longer available and the 2K site and forum is ... mmm, I won't say useless, but not very useful for Civ4Col. This forum has a much higher traffic than the "official" Civ4Col forum....

Anyway, I used FaireWeather almost all the times I played M:C and I never had any problems getting units to the Silk Road, even when the landmass was an island without any part passing "off screen". But that's my experience and by no means is it conclusive. I am attaching the modified FaireWeather map script that I used without any problems getting to the Spice and Silk Routes for testing.

I did have plenty of problems trying to generate a map with North and South Europe plots... lots of problems....

Hopefully, I'm right about the Europe plots not being passed to Python, but hard coded function in some unseen part of the game EXE.
 

Attachments

Well, I am thinking if we can get a good map script that has no poles on the north and south we can set up to have 4 trade routes, 2 by land, 2 by sea. We already have Spice Route and The Silk Road which are fairly nice one's but what would be a couple more one land one sea that would add to the game. We would need a main Trade Good for each of the routes. Amber was only found in the North and was used to make Jewelry. It could add a whole new Jewelcrafter to the mod. Then there was Incense and Tea. Incense could be used to give religious bonuses.

Looking over the code I think we can covert the CIV4EuropeInfo.XML to be our trade routes. We can add attributes to that like I have already added a "TradeScreenTypes" to it. So, we can add in things like type of required Terrains and Domain Type.

Anyone else have any ideas on this?

Well, I think the Perfume/Incense Route could have Incense (frankincense and myrrh), Ivory, Coffee, and Carob (which was the chocolate of Europe before the cacao bean ever came to Europe).

About the historical use of carob (Wikipedia):
Carob was eaten in Ancient Egypt. Carob juice drinks are traditionally drunk during the Islamic month of Ramadan. It was also a common sweetener and was used in the hieroglyph for "sweet" (nedjem). Dried carob fruit is traditionally eaten on the Jewish holiday of Tu Bishvat. Also it is believed to be an aphrodisiac.

In Cyprus, carob syrup is known as Cyprus's black gold, and is widely exported.

In Malta, a syrup (&#289;ulepp tal-&#295;arrub) is made out of carob pods. This is a traditional medicine for coughs and sore throat. A traditional sweet, eaten during Lent and Good Friday, is also made from carob pods in Malta. However, carob pods were mainly used as animal fodder in the Maltese Islands, apart from times of famine or war when they formed part of the diet of many Maltese.

In the Iberian Peninsula, carob pods were used mainly as animal fodder, especially to feed donkeys.

Carob pods were an important source of sugar before sugarcane and sugar beets became widely available.

Carob syrup is also used in Crete, Greece as a natural sweetener and considered a natural source of calcium. It contains three times more calcium than milk. It is also rich in iron, phosphorus and natural fibers (Due to its strong taste, it can be found mixed with orange or chocolate).

And the Spice Route could have sandalwood and musk added.

But I'm thinking that relics from the Holy Land could be made to play an important role and validates adding either the Crusader State of Jerusalem or Malta/Rhodes, where the player could "buy" a relic that could be great or a dud, just like discovering one at a goody hut or a village chief. Let's say it costs as much as a galleon, but comes with no guarantees. There were a lot of fake relics back then....
 
IAnyway, I used FaireWeather almost all the times I played M:C and I never had any problems getting units to the Silk Road, even when the landmass was an island without any part passing "off screen". But that's my experience and by no means is it conclusive. I am attaching the modified FaireWeather map script that I used without any problems getting to the Spice and Silk Routes for testing.

I did have plenty of problems trying to generate a map with North and South Europe plots... lots of problems....

Hopefully, I'm right about the Europe plots not being passed to Python, but hard coded function in some unseen part of the game EXE.

So, you didn't have problems sending ships on the Silk Road route? Silk Road use to be a land route that you left from your city. I guess you are talking about the Ship route Silk Road right? What size map did you use that may make a difference, I'll check it out some more.

And you "are" right about the Europe plots. That C++ function void CvMapGenerator::addEurope() is what creates the Europe tiles and I can edit it all day to do what ever we want.
 
Three new buttons to help differentiate the profession selections:

attachment.php


Left to Right: Make Wine, Peddler, Gather Clay

I'll have the clay resource and production buildings ready this weekend.

Still looking at units for the two associated specialists.
 

Attachments

So, you didn't have problems sending ships on the Silk Road route? Silk Road use to be a land route that you left from your city. I guess you are talking about the Ship route Silk Road right? What size map did you use that may make a difference, I'll check it out some more.
I should have specified "when it was still a land route". I haven't tested it in the new update, but I will tonight!

And you "are" right about the Europe plots. That C++ function void CvMapGenerator::addEurope() is what creates the Europe tiles and I can edit it all day to do what ever we want.
Okay, cool. Changing that could make almost every map script work for M:C
 
Well, I just tested that map you posted and it is just like the normal Faireweather in that it does not allow for any North or South oceans. I really like that map script though other than it takes so long to load. Anyway, when I command my units to sail on the Silk Road route they do nothing.

I believe though I can add code to just set the land tiles as "Europe North and South" in C++. The C++ code is suppose to naturally set the South Ocean tiles as Europe South but for some reason the Faireweather script erases North and South Oceans and just makes East and West. So, if you can get the script to set North and South Oceans that would be a step forward :)
 
Three new buttons to help differentiate the profession selections:
Left to Right: Make Wine, Peddler, Gather Clay

I'll have the clay resource and production buildings ready this weekend.

Still looking at units for the two associated specialists.

That's cool. Are good with making or I editing Units. I spent a lot of time on finding Units to fit all the professions and editing them. It's a pain to get most of those custom units in Col.

Edit: I just tested The_New_World with no polar caps to false and it looks perfect for what I had in mind. So that makes for 4 different Ocean types and a North and South land routes types. I am thinking we don't really need North or South Oceans in the Faireweather script (unless we wanted to make 4 different Sea Trading Routes) I can just add North and South land routes manually.
 
Well, I just tested that map you posted and it is just like the normal Faireweather in that it does not allow for any North or South oceans. I really like that map script though other than it takes so long to load. Anyway, when I command my units to sail on the Silk Road route they do nothing.

I believe though I can add code to just set the land tiles as "Europe North and South" in C++. The C++ code is suppose to naturally set the South Ocean tiles as Europe South but for some reason the Faireweather script erases North and South Oceans and just makes East and West. So, if you can get the script to set North and South Oceans that would be a step forward :)
OK, then. I am pretty sure that the root of the problem with FaireWeather is the "Distance to Europe" option, which is a very pervasive part of the function in the script. It will take a while to sort them all out, but I see what I can do to cut that part out of the code.

Kailric said:
Edit: I just tested The_New_World with no polar caps to false and it looks perfect for what I had in mind. So that makes for 4 different Ocean types and a North and South land routes types. I am thinking we don't really need North or South Oceans in the Faireweather script (unless we wanted to make 4 different Sea Trading Routes) I can just add North and South land routes manually.
I'm love the Polar Caps False setting :D
 
If the NIF packaging format were not designed by a guy with OCD, I could probably do more for Col. The 3D models in Col and Civ 4 are very simple things, so I don't understand why they made the system vastly more complicated than it needs to be.

And Blender... I would not slap a leper's dog with Blender... but it's free

Nothing about Blender is intuitive or user-friendly... but it's free....

I figure if I keep telling myself "it's free" I might be able to keep working with it, rather than looking for a hot copy of 3DMax....
 
OK, then. I am pretty sure that the root of the problem with FaireWeather is the "Distance to Europe" option, which is a very pervasive part of the function in the script. It will take a while to sort them all out, but I see what I can do to cut that part out of the code.

I'm love the Polar Caps False setting :D

K, don't fret too long about it. We shouldn't need it unless we make more routes. I am thinking the 4 proposed routes is enough.

Did you know that Blender is free? :) I seen a manual on it at the book store, it wasn't free however, was like 40 dollars or something.
 
Okay, I was thinking again, which is becoming a bad habit. You mentioned wanted to add a layer of complexity with religion and happiness, that got me thinking about a couple of my favorite games: Stronghold and Stronghold Crusader. These games are over 10 years old now, but I was thinking that there are strong similarities between the concepts in M:C and the Stonghold games, and how M:C might benefit from taking a closer look at the way happiness and fear effects productivity.

I guess any game based on the Medieval economy is going to share those similarities...

There are differences too. In Stronghold, you levy a tax on your peasants to generate day-to-day operational expenses, which causes unhappiness and can cause peasants to leave your settlement. So you have to have certain things to offset that unhappiness to keep and attract new peasants. There's not much of a birthrate in Stronghold, the player gains citizens almost exclusively through the his "popularity", which can be said to equate to Crosses or Culture or whatever.

Another difference is that the Stronghold games are a series of related real-time scenarios where the player faces one or more invasions by a foe. Each successive scenario is more challenging. Whereas Civ4Col is a turn-based strategy.

Anyway, let's get this post on topic...

The happiness system in Stronghold is really a three axis model of human contentment: Food, Safety, and Entertainment = Loyalty/Fealty.

In Stronghold, if you make the peasants "too happy", they get lazy and do nothing but eat and drink while your coffers and larder bleed dry. So there are items you put around the village to remind people that you're still the boss. A gibbet, torturing devices, etc. If you achieve the right balance of happiness and terror, you can increase productivity to 200%

If your citizens are happy enough, they start making babies, which go through a phase where they do nothing but eat food and do nothing else. Civ4Col doesn't have much like that, except the educational buildings. But in Stronghold, they just "grow up" after a certain time has passed, similar to what you've done with the Nobles in M:C. In a manner of speaking the "eat food/do nothing" phase is represented by the gathering of 200 units of luxury food. That is one of the features of M:C that really impressed me from the start.

Much like the JAnmals mod, in Stronghold there are Bears, Wolves, and sometimes killer Rabbits that will kill your peasants, so you have to keep those beat down. Just like in M:C, in Stronghold there are bad guys constantly chewing on the edges of your territory. So, over all, the peasants have to be really unhappy before they'll go face that again.

Much like in M:C, Stronghold requires that you build a granary/warehouse/storehouse to store food and other goods. In Stronghold the granary and the warehouse are separate buildings. But the idea is the same.

The more varieties of food you have for the peasants to eat, the happier and healthier they are (Civ 4 uses the same mechanic). The food system in Civ4Col vanilla is so dumbed-down from the version used in Civ4 that almost feels insulting.

In Stronghold, the basic food sources are Apples (Orchards), Cheese (Cows), Bread (Wheat), Meat (Hunting), and Ale (Hops). The basic food economy is like this:

1st Building (Product)&#8594; Warehouse&#8594; 2nd Building (Processes Product)&#8594; Granary&#8594; Distribution

BREAD:
Wheat Farm (Wheat)&#8594; Mill (Flour)&#8594; Bakery (Bread)&#8594; Granary

CHEESE:
Dairy Farm (Cheese)&#8594; Granary

MEAT:
Hunters Post (Meat)&#8594; Granary

APPLES:
Apple Farm (Apples)&#8594; Granary

ALE:
Hops Farm (Hops)&#8594; Brewery (Ale)&#8594; Inn

In Stronghold, Wheat feeds more than any other food resource, but the infrastructure to utilize it cost the most and takes the longest to get into running order. Apples are the easiest food resource to grow, but they provide very little food value.

You have replicated much of this in the way you've set up the resource processing.

But the part where having more kinds of food resource leads to happier, healthier citizens is the missing part. It's like the Jester, I'm not sure what to do with that guy. The theatre doesn't have slots for workers, so I'm at a loss. I figure you mean him to generate contentment or culture, I just don't know which building to put him in. But if the theatre were a work building, the jester could generate YIELD_HAPPINESS. And a leech, barber, herbalist, apothecary, physic, or doctor could generate YIELD_HEALTH.

I need to look at the religion system in Civ4 again to see how it is handled. My blind guess is that there is a YIELD_CROSSES equivalent in Civ4 that is used for a different purpose than that used in Civ4Col. But since Civ4 really doesn't generate goods the same way as Civ4Col, I figure the differences would likely be very striking. I remember that religions in Civ4 really treat more with Commerce than anything else. How that factors into Happiness, I can't really guess.

But creating new YIELDS for the foods may not be required for M:C any more than it would be needed for Civ4, just adding a check in the DLL for food resources in the 3x3 grid of the city should be enough. The happy thing about that is that during map generation Python pulls all the info from the BonusInfos.xml and drops bonuses onto the map, so a new resource that generates an already existing YIELD doesn't require any alteration of the DLL.

So I think adding more food resources would be an easy way to set the stage for a "happiness" layer to M:C's complexity.

This raises the question of what food to add? I'm all for adding more resources and yields, but most mods seem to suffer from too little or too much. For instance, the Wheat Bonus from Civ4 gets used for everything coming and going. I've seen it (without modification) used for flax, barley, rye, sword grass, and even occasionally wheat. I guess that is to be expected when the NIF file system is very far removed from "user friendly".

More is not always better. I think "Cereal (generic)" would be preferable to seeing the same 3D art used seven times with seven different names and dubious recolor textures. But seeing Indian corn (maize, a New World food grop) in M:C bothers me the same way seeing it in the Lord of the Ring movies bothered me. But, I don't know what would replace the Indian corn. I guess anything would be better than Indian corn.

Certainly, they make beer from rice, wheat, barley and a lot of other cereals. And the "mash" in mash whiskey can be made with anything with carbohydrates that will ferment to make alcohol, really anything, from apples to potatoes to stale bread. My grandfather ran a still, so he had occasion to use everything from bread flour to sugar water, and in his opinion, the only thing that changed was how long it took to ferment. But barley is iconic in the brewing of beer, so it has to stay.

Grapes have to stay too. I don't think there's any need to add more layers to wine making. Brandy is just distilled wine and Champagne is just wine that has been fermented a second time. Generic Wine and Ale cover all that's needed there.

Hemp, okay, got to have it, but in my college-day experiences, hemp is most definitely a wet, hot-weather loving plant. So I'd say make it a swamp terrain item or an item that only appears next to a river.

I'd add opium too. Until the British set up the opium plantations in India, opium was predominantly a North African and Mediterranean crop. I remember reading that the valleys of the Pyrenees and Italian Alps were full of wild poppies during Roman times, but as far as I ever read, the crop was never domesticated or put into institutional farming until the Brits decided they would use India as a drug factory.

So if we add a medical layer to M:C, then an herbalist unit could operate like the hunter gathering YIELD_HERBS that get processed into YIELD_MEDICINE by an apothacary unit. Also, if a city has YIELD_MEDICINE in the warehouse, in the case of a plague event, it could be used like food (2 per citizen per turn) to reduce the death toll. Not eliminate it, just reduce it. If there was no YIELD_MEDICINE in the warehouse, I'd have the player's units dropping like flies.

Welcome to the Age of Great Demographic Catastrophes, baby...

And I'd add earthquakes, cattle murrain, forest fires, floods, and drought as random events. Maybe not alter terrain fetaures or remove bonuses from the map, just temporarily reduce the yields of terrain and bonuses. In the case of a cattle murrain, sheep, horses, and cows produce 0 for 5 turns, then +1 each turn until returned to normal. Maybe I'd allow specialist units to produce one unit of the yield per turn, but not non-specialist units.

Anyway, back to religion and happiness. I think the system in Civ4 is upside down. If history tells us anything, it tells us that religious tolerance is very definitely not a reliable human trait. So, I'd make religion much less easy to spread. And in a multi-player setting, I'd let missionaries work to siphon off skilled specialists from opposing players cities. Or set it so that your religion could gain you a city the same way that culture can, only not require it to be already inside your territory. Say something like the more pilgrims that city sends to your shrines, the more that city "converts" to being your city.

But that's me, I think of religion as an excuse to start a war >_<
 
Well, I'm not sure if it's a bug or my system being old, cranky, and 32-bit, but in two different games I had the game crash to the desktop twice when trying to sent boats to the Silk Road. I used the A_New_World map script in both instances. I probably need to do a clean re-install of Windows after the hatchet job I did to get NifTools working in Blender.

Also, I corrected a small issue with the monastery model that tended to cause artifacts on DirectX 9 systems. I'll attached the altered NIF to this post. The plane of the courtyard was identical with the plane of the terrain, so I moved it up the Z-Axis 0.01 and this resolved the video artifacts.

Another issue is when native villages offer to become vassals. I had two native villages offer during the same round. One of them had the missing grid like before, the other received only the single tile it was on. If this isn't happening on your system, then I have to assume it is a 32-bit bug. I looked at the villages in WB and both had culture 0, if I set their culture to 19, the village with 8 tiles took the vacant tile that was over water, but the village that was missing 8 tiles required me to erase my territory before it received the missing 8 tile (also required a greater than 0 culture score)

I suspect that during the process when the village is deleted as a native AI city and re-created as a Vassal Lord village, the territory computation gets gobbed up on a 32-bit system.
 

Attachments

Well, I'm not sure if it's a bug or my system being old, cranky, and 32-bit, but in two different games I had the game crash to the desktop twice when trying to sent boats to the Silk Road. I used the A_New_World map script in both instances. I probably need to do a clean re-install of Windows after the hatchet job I did to get NifTools working in Blender.

Also, I corrected a small issue with the monastery model that tended to cause artifacts on DirectX 9 systems. I'll attached the altered NIF to this post. The plane of the courtyard was identical with the plane of the terrain, so I moved it up the Z-Axis 0.01 and this resolved the video artifacts.

Another issue is when native villages offer to become vassals. I had two native villages offer during the same round. One of them had the missing grid like before, the other received only the single tile it was on. If this isn't happening on your system, then I have to assume it is a 32-bit bug. I looked at the villages in WB and both had culture 0, if I set their culture to 19, the village with 8 tiles took the vacant tile that was over water, but the village that was missing 8 tiles required me to erase my territory before it received the missing 8 tile (also required a greater than 0 culture score)

I suspect that during the process when the village is deleted as a native AI city and re-created as a Vassal Lord village, the territory computation gets gobbed up on a 32-bit system.

Ok, thanks, we'll add the new graphic in an update. I'll do some more testing on the Vassal villages when I get the chance. So, did the Silk Road route crash for you every time or just twice? That could be a system error somehow. For one thing the graphics in M:C are not standard vanilla graphics of course as there are a slew of custom graphics and I bet they do put a strain on older systems. Have you tried turning off animations and such?

Also, I read your previous post and I will reply more to that when I get the chance as well. What we want to do here is get the current version working as intended before we start to add any new concepts. I plan to fix up the Trade Routes as mentioned earlier with Silk Road being accessed North and South by land, work out any bugs we still have, and add a PublicMaps folder with our working maps. Then once we have a stable working mod we can start to add in new features, Leaderheads, resources and such.
 
Sorry about the constant idea spamming, I'm not trying to bury you with "work", just trying to get it hung on the forum before I forget the idea. I really am turning into an O.P. (old person). Retirement did the same thing to my grandparents and parents, they could think up more work for me in an hour than an army of Hardy Workers could get done in a year. Every time I'd visit, they would have a to-do list a mile long.... Now, I'm doing it too >_<

I am pretty sure that I recognize some of the models in M:C from Empire Earth 2 and Pirates! Both of those games are pretty heavy on graphics, Pirates! more so than EE2. I have Sid Meier's Trains and Pirates! around here somewhere, both of those games are pretty disappointing. Pirates is a lot like Civ4Col... they both feel a lot like half of a game. Steering a ship during combat in Pirates feels like trying to play Space Invaders with a broken joystick. I recall someone reviewing it likened it to "like watching a drunken monkey swing on a chandelier"... sadly, it was true.

In general, most games released after 2000 suffer from 3D overload. They're graphics intensive to make up for the fact that there is almost nothing really going on. MMOs are like that, a lot of sound and fury signifying nothing. Endless grinding and mining, oh look! A boss fight! meh...

Truth be told, the unit models shipped in Civ4 and Civ4Col are not really that much more complicated than the models in The Sims (2000) or Dungeon Keeper II (1999) or StarCraft (1998) or Warcraft III (2002) or Disciples II (2002). They are just low-poly models wrapped around an animation skeleton that any 12-year-old could make. So there is no particular good reason that they should be so mind-numbingly complicated.

I guess Firaxis chose to use the NIF format because it was the game industry's "hot property" at the time. But this only set the stage for content that the Civ4 graphics engine was never designed to handle being imported into mods. When they released Civ4, I think the most video ram you could get on a video card was 512 MB and those cost more than most people could afford. But by the time they released Civ4Col, things had changed: DirectX 9 was already obsolete and 1 GB video cards had become affordable, so they probably thought "no one could ever push it too far, not with all that!"

Well... yeah, they can and did >_<

And then you have guys like me. Me still being on a 32-bit system in 2013 is about the same as anyone who was still using DOS 6.22/Windows 3.0 in 2003....

SO, I'm thinking, at least on my old heap, M:C crashing to the desktop may be "normal and expected behavior" >_<
 
I say post away, your post are always informative in one way or another :) I have a min to make a comment from my phone. The jester was left over when Theatres produced culture. Jesters are now just special units that give a bonus to fealty and culture production.

I too really enjoyed playing stronghold (who doesn't enjoy watching dead cows being flung over walls) and I did actually load it up to get some ideas. I was actually playing Settlers: path to a kingdom, just before I started making this mod. That game is similar to a rts of Col. Anyway, I had the idea of making an individual Fealty and Morale/Happiness factor for each unit instead of the city wide "rebel sentiment" we have now. Like units working out side settlements are not even effected by it. I am sure we could come up with a better system... Got to go:)
 
Back
Top Bottom