• Civ7 is already available! Happy playing :).

Personalized Maps

So you mean I cannot see their landmarks if I won't reveal the entire map?
Then why did I discover the landmark near abyssinian's border?

Go into worldbuilder and look at the map, you will only see the landmarks that you have discovered. Then try revealing a few tiles out from your known lands and you should start to uncover more landmarks even if they are within other AI's borders. The AI must be affected by them also as the city names correspond to local landmarks.
 
Go into worldbuilder and look at the map, you will only see the landmarks that you have discovered. Then try revealing a few tiles out from your known lands and you should start to uncover more landmarks even if they are within other AI's borders. The AI must be affected by them also as the city names correspond to local landmarks.

When I reveal more map I found a landmark there. Even if it's near AI civ's borders. The AI doesn't find any landmarks?
 
When I reveal more map I found a landmark there. Even if it's near AI civ's borders. The AI doesn't find any landmarks?

AI's find landmarks as well. This implementation is to avoid using the nasty looking black signs.
 
I plan on making that an option in Patch F. ATM, you must choose both or neither...
 
I'm not sure if this is a known issue or not, but regenerating a map causes problems with the landmarks. You end up getting forests called "Bay of X" and seas called "Mount Y."
 
I just tested AND for the first time, and found the personalized landmark names to be an extremely cool feature. Helps a lot with immersion, and the gameplay effect is just about right (not gamebreaking, but not just purely cosmetical either).

I do see room for improvement in the name generation algorithm though. It produces a lot of words that don't sound "smooth", like - in my current game - Tneenesuih, Nqukesaahsl, or Oetijsiy.

There are ways to prevent such output. Actually there's a whole science devoted to the sequence of sounds in language (Phonotactics) :) . Some fairly universal and reasonably simple rules have been found, which could (perhaps) be implemented without too much effort, but which would have a very noticeable positive effect.

If you're interested, then I could probably come up with a flow chart or some pseudocode for an improved name generation algorithm. It might even be useful for further projects (Civ5 mods, for example). Would you like something like that?
 
I just tested AND for the first time, and found the personalized landmark names to be an extremely cool feature. Helps a lot with immersion, and the gameplay effect is just about right (not gamebreaking, but not just purely cosmetical either).

I do see room for improvement in the name generation algorithm though. It produces a lot of words that don't sound "smooth", like - in my current game - Tneenesuih, Nqukesaahsl, or Oetijsiy.

There are ways to prevent such output. Actually there's a whole science devoted to the sequence of sounds in language (Phonotactics) :) . Some fairly universal and reasonably simple rules have been found, which could (perhaps) be implemented without too much effort, but which would have a very noticeable positive effect.

If you're interested, then I could probably come up with a flow chart or some pseudocode for an improved name generation algorithm. It might even be useful for further projects (Civ5 mods, for example). Would you like something like that?

Yes, please! I already have an algorithm in place that rejects the worst names; those with too many vowels or consonants, or those with too many consonants or vowels consecutively, but it definitely could use improvement. I've been meaning to add island naming too, I may do that next patch.
 
Yes, please! I already have an algorithm in place that rejects the worst names; those with too many vowels or consonants, or those with too many consonants or vowels consecutively, but it definitely could use improvement. I've been meaning to add island naming too, I may do that next patch.

Splendid, I'll see what I can do. :) I should be able to post something decent by the end of the week - if it fits better into your time schedule when you get it quicker, just tell me an I'll rearrange my schedule a bit.

Can you paste the current algorithm, or tell me in which file to find it? My programming skills in Python and C++ are probably too basic to let me write code in these languages, but seeing the current implementation might still help.
 
First i didn't like the "strange" self-generated names of landmarks, but meanwhile i don't care. Think of all the strange names in other languages and they don't sound so strange anymore.

Another question: can someone confirm, that with personalized maps, there is no random spreading of forest & jungle anymore? If yes, is this a intended feature or only a bug?
 
Splendid, I'll see what I can do. :) I should be able to post something decent by the end of the week - if it fits better into your time schedule when you get it quicker, just tell me an I'll rearrange my schedule a bit.

Can you paste the current algorithm, or tell me in which file to find it? My programming skills in Python and C++ are probably too basic to let me write code in these languages, but seeing the current implementation might still help.

No Rush. I have all my code in a SVN, which is easier to look at if you are familiar with source control. The code is probably not so great, I hate dealing with strings in C++.

PHP:
bool CvGame::isValidName(CvWString szName)
{
	int iConsonantCount = 0;
	int iVowelCount = 0;
	int iVowelStreak = 0;
	int iConsonantStreak = 0;
	for (int iI = 0; iI < (int)szName.length(); iI++)
	{
		char ch = tolower(szName[iI]);
		if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')
		{
			iVowelCount++;
			iVowelStreak++;
			iConsonantStreak = 0;
		}
		else
		{
			iConsonantCount++;
			iConsonantStreak++;
			iVowelStreak = 0;
		}
		if (iConsonantStreak > 3)
		{
			return false;
		}
		if (iVowelStreak > 4)
		{
			return false;
		}
	}
	//More than 75% of the word is vowels
	if ((iVowelCount * 100 / std::max(1, iVowelCount + iConsonantCount)) >= 75)
	{
		return false;
	}
	//More than 70% of the word is consonants
	if ((iConsonantCount * 100 / std::max(1, iVowelCount + iConsonantCount)) >= 70)
	{
		return false;
	}
	
	return true;
}

Another question: can someone confirm, that with personalized maps, there is no random spreading of forest & jungle anymore? If yes, is this a intended feature or only a bug?

Forests and Jungles should still spread. I'll check if there is an issue, but that should not be the case.
 
Just a short notice that I haven't forgotten this: I'm still fiddling around with name generation algorithms, but don't have a result yet which I'm satisfied with. I'll post something here when this has changed.
 
Just a short notice that I haven't forgotten this: I'm still fiddling around with name generation algorithms, but don't have a result yet which I'm satisfied with. I'll post something here when this has changed.

When you finally see a beta in the Beta thread, then the clock will be ticking. So be cool for now, and take your time :). There isn't a beta out yet right now.
 
Battlefields of epic scale battles could also become such points of interest, giving additional culture and commerce (after certain amount of turns, when dust settles down and war is over). Maybe even give additional +xp or unique promotion to units build in nearby city.

i mean really big battles which happen 2-3 times in game, where hundreds of units die. And depending on outcome of battle (attacker or defender wins and keeps territory) the naming could represent winner civilization. If fight happen in a city (one of 2 sides are stationed in a city) it could be named like "Memorial of Berlin Heroic Defence" (if defender wins) for example and if attacker wins it could be named with something regarding to Liberation or Conquest and Glory.

Of course, there shouldn't be multiple such points near single city, i think maximum of two.

For me is a great idea!
 
One really great feature!

How or where can I modify it's algorithm?

Haven't found the file for it....
 
Top Bottom