• Civilization 7 has been announced. For more info please check the forum here .

Unbalanced REF

dalgo

Emperor
Joined
Feb 23, 2002
Messages
1,428
Location
Auckland, New Zealand
I have just completed a game on Revolutionary where the REF had 694 units made up as follows:

371 Regulars
59 Regular Dragoons
257 Artillery
7 Warships

Needless to say I chose a Naval strategy. I only lost 1 Frigate and two Dragoons in the WoI while the King still had over 600 ground units that he was unable to deploy at the end.

Sometimes the RNG gods are on your side :)
 
From what I understand your REF depends on the balance of your units. So apparently you did not have a lot of warships, but instead had a lot of soldiers (or scouts), and cannons. I guess the larger portion of your navy was obtained in within a short time span of the start of the revolution, and possibly after.
 
I think it is more random than that. You are right that I only had a small navy when I declared independence in that game (only 3 warships in fact) but in my current game I have just 5 warships but the REF is already up to 119 Man-o-War. This time I'm going to have to fight on the landing beaches.
 
Well the size of the REF is dependent on your liberty bells, but the proportion is based on your troop levels. If you have a fewer than 5 soldiers and scouts, and fewer than 5 dragoons, then the ref will focus on navy, since your navy is the largest.
 
Sorry Souron, but I call . .. .. .. .. .. .. .. ..

The composition of the REF is random, with the unit type selected randomly from the existing REF's index vector.

So if you have a large number of one type, then you will by chances get a lot of that one type.

But naval has a GlobalDefine modifier which essentially means if you get a MoW increase in the first couple of increases, the number of ships will be massive by the end of the game.

So essentially, whatever type you see predominantly in the first couple of increases, is the one you'll see most of by the end. In all chances of course. ;)

Oh, and here's you 'randomness':

Code:
				CvCivilizationInfo& kCivilizationInfo = GC.getCivilizationInfo(kParent.getCivilizationType());
				int iNumFreeUnits = kCivilizationInfo.getNumCivilizationFreeUnits();
				std::vector<int> aiUnitWeights(iNumFreeUnits, 100);
				for (int i = 0; i < iNumFreeUnits; ++i)
				{
					int iUnitClass = kCivilizationInfo.getCivilizationFreeUnitsClass(i);
					UnitTypes eUnit = (UnitTypes) kCivilizationInfo.getCivilizationUnits(iUnitClass);
					if (eUnit == NO_UNIT)
					{
						aiUnitWeights[i] = 0;
					}
					else
					{
						if (GC.getUnitInfo(eUnit).getDomainType() == DOMAIN_SEA)
						{
							aiUnitWeights[i] += std::max(-100, GC.getDefineINT("REVOLUTION_EUROPE_UNIT_SHIP_MODIFIER"));
						}
					}					
				}

				if (iNumFreeUnits > 0)
				{
					int iIndex = GC.getGameINLINE().getSorenRand().pickValue(aiUnitWeights, "Pick Expeditionary force unit");
					int iUnitClass = kCivilizationInfo.getCivilizationFreeUnitsClass(iIndex);
					ProfessionTypes eUnitProfession = (ProfessionTypes) kCivilizationInfo.getCivilizationFreeUnitsProfession(iIndex);
					UnitTypes eUnit = (UnitTypes)kCivilizationInfo.getCivilizationUnits(iUnitClass);
					FAssert(eUnit != NO_UNIT);
					int iNumUnits = std::max(1, getRevolutionEuropeUnitThresholdMultiplier() / 100);
					for (int i = 0; i < iNumUnits; ++i)
					{
						addRevolutionEuropeUnit(eUnit, eUnitProfession);
					}

					const wchar* szUnitName;
					if (eUnitProfession != NO_PROFESSION)
					{
						szUnitName = GC.getProfessionInfo(eUnitProfession).getTextKeyWide();
					}
					else
					{
						szUnitName = GC.getUnitInfo(eUnit).getTextKeyWide();
					}

					CvWString szBuffer = gDLL->getText("TXT_KEY_NEW_EUROPE_ARMY", kParent.getCivilizationShortDescriptionKey(), getCivilizationShortDescriptionKey(), szUnitName, kParent.getCivilizationAdjectiveKey());
					gDLL->getInterfaceIFace()->addMessage(getID(), true, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_UNIT_GREATPEOPLE", MESSAGE_TYPE_INFO, GC.getUnitInfo(eUnit).getButton(), (ColorTypes)GC.getInfoTypeForString("COLOR_UNIT_TEXT"));
				}
 
Well the size of the REF is dependent on your liberty bells, but the proportion is based on your troop levels. If you have a fewer than 5 soldiers and scouts, and fewer than 5 dragoons, then the ref will focus on navy, since your navy is the largest.

Sorry but I disagree too. In the game where the REF had 119 Man-o-War I was aggressively scouting an XL map with 4 seasoned scouts long before I bought my first privateer. I was also involved in several wars so my dragoon and cannon count would have been higher than my warship count for the entire game.
 
Oh, and here's you 'randomness':

While I don't pretend to understand the code I did look through it to see if there was a modifyer for difficulty level, but couldn't find it. Is there one?

One of the main disappointments with this game, and I'm sure the reason so few keep playing, is the lack of an 'easy' level. In any game it should be possible for a newbie to win at the introductory level while learning enough to encourage him to step up to a tougher challenge. The absolute killer here is the size of the REF. I play on Revolutionary so if I get trashed I have asked for it but it's not fair to dump a huge REF on a new player just because he doesn't understand the game mechanics.
 
Yeah in vanilla there is no difficulty factor. It's just "damn hard" on every level. PatchMod / AoD2 changes that with the REF changes.
 
Top Bottom