• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Measter

Major
70 Badges
Jan 2, 2011
612
4
  • Crusader Kings II
  • Europa Universalis IV: Pre-order
  • Sword of the Stars II
  • Sword of the Stars
  • Sengoku
  • Semper Fi
  • Europa Universalis IV: Res Publica
  • Magicka
  • Heir to the Throne
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV
  • Cities in Motion 2
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sword of Islam
  • Europa Universalis III
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV: Art of War
  • Crusader Kings II: Conclave
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Mandate of Heaven
  • BATTLETECH
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Pillars of Eternity
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Age of Wonders III
  • 500k Club
  • Teleglitch: Die More Edition
  • Europa Universalis IV: Cradle of Civilization
  • Europa Universalis III Complete
  • Europa Universalis III Complete
Development has now been halted.

I will no longer be supporting this program for future releases of CK2. It may continue to work for future versions, however, since the basics of setting history, adding titles and cultures hasn't changed for over two years and may not change in future versions.

If anyone wishes to continue development the source codes for both the generator and parser library are available at these addresses: TitleGenerator, CK2Utils.

titgen2.1.2.jpg


Title Generator 2.3.7 for 2.1.6+ (Download) (requires .Net 4.0)

Title Generator 2.1.6 for 2.0.4 (Download) (requires .Net 3.5)​

Also available are pre-generated Independent Count/Duke/King/Emperor and title downloads available Here. The history and title parts work fine together.

And my thanks to fivex for the assistance with scripting.

See This Post for a guide to the controls.

Incompatible Mods:
- A Game of Thrones: The culture generation does not work due to missing adjective forms for county titles.
- Middle Earth Project: Generator will not load data.

Features:
- Creates higher titular titles for every landed duchy and kingdom. The lower tier title is required to create the title (e.g. to create the Kingdom of Leinster, you would need the Duchy of Leinster as your primary title.)
- Able to output to My Documents mod folder.
- Lets you choose the name of the resulting mod.
- Ability to use an existing mod as a base to create new titles, and creates an addon for it.
- Can choose to only generate duchies, kingdoms, or empires.
- Can output short names. For example: Leinsterian Kingdom instead of Kingdom of Leinster. English only.
- Selectable culture restrictions:
- None: No cultural restrictions. A character of any culture can create the title.
- Culture: To create the Kingdom of Leinster, your character would need to be Irish.
- Culture Group: To create the Kingdom of Leinster, your character would have to be Irish, Scottish, Welsh, or Breton to create it.​
- Selectable religion restrictions:
- None: No religious restrictions. A character of any religion can create the title.
- Religion: To create the Kingdom of Leinster, your character would have to be Catholic, or a heresy of Catholic to create it.
- Religion Group: To create the Kingdom of Leinster, your character would have to be Christian to create it.​
- Selectable lower-tier-title requirements:
- Duchies: To create a kingdom, you would need this number of duchy titles (minimum of 2).
- Kingdoms: To create an empire, you would need this number of kingdom titles (minimum of 2).​
- Can make new titles de jure liege of currently held titles.
- Replace De Jure Unchecked: You create the Kingdom of Leinster with the Duchies of Munster and Leinster, both remain de jure Kingdom of Ireland.
- Replace De Jure Checked: You create the Kingdom of Leinster with the Duchies of Munster and Leinster, both are new de jure Kingdom of Leinster.​
- Can clear title history.
- Counties: All county, duchy, kingdom, and empire histories are wiped.
- Duchies: All duchy, kingdom, and empire histories are wiped.
- Kingdoms: All kingdom and empire histories are wiped.
- Empire: All empire history is wiped.​
- Added History Creation type selector.
- Count: Will create a random character for every landed county.
- Duke: Will create a random character for every landed duchy, and give 3-4 counties in that duchy to the character.
- Kingdom: Will create a random character for every landed kingdom, and create random dukes for all but the first 2 duchies.
- Empire: Will create a random character for every landed empire, and create random kings for all but the first 2 kingdoms.
- Full Random: Will create a number of randomly place characters, and grow their territory until the land is filled.​
- Can generate random cultures, with randomly generated names.​
- Custom scripting for Allows and Gain Effects sections of generated titles. See Scripting Variables and Conditions.txt for a list of variables.​


The Custom Adjacencies File:
I've included a customized adjacencies file for vanilla to make the Full History generation look a bit smoother.
I've connected up the islands to the mainland, so that realms can grow out to them, and you don't end up with the islands being independent counts.

The following screenshots show the effect this has. Both have 10 generated realms, and the random generation uses the same seed in both, so the realms start in the same place.
As you can see in the first, none of the 10 realms spawned in the British Isle, leaving it a collection of independent counts.

Screenshot One

In the second, you can see that the added straits have allowed the British Isle to be populated. I've also loaded the adjacencies mod to show the added straits.

Screenshot Two

To use it in history generation, just unzip the CustomAdj.zip to your mod directory, and select it in the generator.

Information about the Full Random History Generation:
Before running this program, you must first run Crusader Kings II with the mod(s) you wish to use, if any. This is because
this program uses the logs generated by the game to determine which provinces are adjacent. If you do not do this it will either
result in an error message, or you may find that a realm is split over two or more areas.

The program will generate a random number of characters between the minimum and maximum characters you have specified. You can select between 2 and 2000 characters.
If the number of characters is larger than the number of usable provinces, then the maximum will be reduced to one character
per province. Provinces with no adjacencies (usually single province islands), or those that have a city as a capital will not be a 'home' province of the main cycle, though a character may be expanded into it.

Realms will then be "grown" by giving all unowned provinces surrounding the character's realm to that character.

Characters will be given the Duke title of any duchy they hold more than 50% of. If the Create Kings option is on, then they may also be given a Kingdom. If they are given a Kingdom, then all duchies they hold will be made De Jure part of that Kingdom.

The King Chance box is the modifier chance (in percent) that a charecter will be made king. The base chance is decided as follows:

Take the average size of the De Jure Kingdoms.
Find the total number of provinces a character holds, and divide by the average Kingdom size.
A random number is then generate, and if it is less than the above, then the character will be a king if a free title is available.

If you have the Create Kingdoms option enabled, you will likely end up with more kingdoms, as it can also be one generated by their Duchy titles.

As many of the remaining empty provinces will be filled by the program, though if it cannot find a Dynasty of the same culture, then it will be left empty.

Guide to Getting the Titles:
Note: when writing this guide, I used the 'cash', 'piety', and 'give_title' cheats to speed up getting the required land. I also used my Broken Kingdoms mod, which only makes all duchies independent.

To start with, these are the settings I used in the generator:

settings.png


I started as Doux Demetries I of Aegean Islands, and aquired all the counties making up the duchies of Cibyrrhaeot, Athens, Achiai, and Krete. As seen in the following image, I only have the one duchy title (Aegean Islands), and can not create the Kingdom of Aegean Islands.

pic1.jpg


I next created the duchies for all the lands I held, giving me the required number of duchies to create a generated kingdom. In the following image, you can see how your primary title defines which kingdom you can create.

pic2.jpg


In the following image, I have given myself the Duchy of Thüringia, and made it my primary title. As you can see, I cannot create the Kingdom of Thüringia with this character because of the cultural limits I set in the generator.

pic3.jpg


Next, I created the Kingdom of Aegean Islands, which cost 400 gold and piety due to it being titular. Because I had "Replace de jure" checked in the generator, all the land I held became de jure property of the new kingdom when it was created.

pic4.jpg

Changelog:
Version 2.3.7
- Remove existing tag from parent before adding subtitle to parent.

Version 2.3.6
- Properly handle indents in .mod files.

Version 2.3.5
- Parser no longer adds empty province histories to data.
- Fewer lines in vanilla log fallback error output.

Version 2.3.4
- Fixed error in name reading in parser.
- Fixed incorrect reading of comments causing skipped data.
- Fixed parsing of gender in rule parser.
- Now falls back to vanilla setup.log if a mod log cannot be found.

Version 2.3.3
- Now handles female_name tags in title definitions.
- More robust number checking in Option.ParseSingle().

Version 2.3.2
- Moved history reset to its own task.
- Now applies culture and religious history to provinces.
- Add checks before saving a provinces old culture during culture generation.

Version 2.3.1
- Fixed parsing of doubles in CKIIUtils library.

Version 2.3
- Now requires .Net 4.0.
- Improved performance of parser library.
- Provinces and Titles now loaded separately.
- Improved performance of GetDynastyByCulture.
- Now links Dynasties with Cultures directly.
- Progress bar really does work now.

Version 2.2
- Adds processing of holy site designations to title parser.
- Large scale refactoring of Full history generator.
- Added empire_min_size, kingdom_min_size, and duchy_min_size to ruleset.
- Generated vassals in Full History mode now use same logic as realms for generation.
- Renamed Title Generation tab to Generation.
- Removed Make Kingdoms check box from Full History options.

Version 2.1.13
- Added check for CK2Game.exe when checking game directory.
- Added script for the A Game of Thrones mod.

Version 2.1.12
- Added missing strait between Maldives and India mainland.
- Updates ruleset to ban Indians from certain succession laws during generation.

Version 2.1.11
- Fixed leading 0 in character event history.
- Fixed incorrect comment in VanillaRuleSet.txt.

Version 2.1.10
- Character events are now sorted before output.
- Culture tag in title history is now not output if blank.
- Dates are now correctly output when adding a day in title history.
- Now outputs culture modifier.
- Fixed duplicate liege setting for duke vassals.
- No longer writes culture tag to title history.

Version 2.1.9
- Fixed double quote in generated character names when using a double name.

Version 2.1.8
- Fixed incorrect file path when checking for existence of adjacencies file.
- Fixed incorrect error message when adjacencies file does not exist.

Version 2.1.7
- Fixed error in religion parser.
- Rewrote the default.map parser to use the new sea province definitions.

Version 2.1.6
- Added option to give titles random colours.
- Moved constants used in culture generation to rule sets.
- Fixed infinite loop in markov chain generator.
- Fixed culture generation labels not being disabled on startup.

Version 2.1.5
- Fixed lexer error when parsing religions when a linked name has one or both sides stringed.

Version 2.1.4
- Fixed issue with null or non-existent province title IDs.
- Fixed issue when trying to create a count vassal for a county with no province history.

Version 2.1.3
- Includes a rule set for compatibility with HIP.
- Fixed issue causing settings to not restore.
- Fixed infinite loop bug when using generated cultures.

Version 2.1.2
- Cultures are now generated using the same growth algorithm as realms.
- Cultures are now completely randomly generated, and not based on existing cultures.

Version 2.1.1
- Generated cultures are now correctly added to rule set restrictions based on their parent culture.
- Generated culture's colours are now based on the province they're based on.

Version 2.1.0
- Added support for generating cultures for every county during history generation.

Version 2.0.19
- Now supports cultures, religions, and religion groups for followers of muslim laws in rule sets.
- Changes the colour of generated titles.
- Now handles provinces having invalid titles when filling empty provinces.
- Handles invalid province culture or religion when creating duke vassals in full history.
- All holy order and mercenary titles are ignored by history modification.
- Can now specify whether existing character should be wiped in a Rule Set's misc section.
- Can specify start ID for generated characters in a Rule Set's misc section.

Version 2.0.18
- Fixed lexer error when encountering the ’ character.
- Now checks that <mod>/common/landed_titles exists when creating history.

Version 2.0.17
- Fixed parser error in dynasty parser.

Version 2.0.16
- Better log output for created republics and ruleset characters.
- Now handles provinces with non-existent cultures in feudal and republic character creation.

Version 2.0.15
- Invalidate ProgressPopup on update.
- Now saves previous seed.
- Renamed KeepRepublicRuleSet to Keep1066Republics.
- Added Keep867Republics.
- Added characters to Keep1066Republics.
- Added missing tooltips on County, Duchy, and Kingdom restrictions.
- OptionGroup parser now handles dates with no day.
- Can now specify the ID and Dynasty ID of a rule set character.

Version 2.0.14
- Now attempts to find a settlement of the target type when changing province type, and swap them.

Version 2.0.13
- No longer allows data load without a rule set.
- Prevent program attempting to find CK2 in a blank path.
- No longer throws error if mod directory doesn't exist.
- Fixed default settings not having a ruleset checked.
- Now outputs list of unchecked required rulesets.

Version 2.0.12
- Now outputs data loader errors when selecting the CK2 directory.
- Now using a custom settings file.

Version 2.0.11
- Fixed infinite loop when generator has run out of dynasties.

Version 2.0.10
- Province history is now correctly reset after Full History generation.
- Fixed bug causing republic held provinces to not have cities if growth conditions aren't met.

Version 2.0.9
- Fixed bug causing republic spouses to not be saved.
- Add chance for republics to expand.
- Add theocracy creation options like republics.
- Add spouse chance to ruleset.
- Handled collision when two republics are next to eachother and try to use the same duchy.

Version 2.0.8
- Fixed issue with restoring values to min and max realms and republics.
- Checkbox to change all theocracies to feudal.

Version 2.0.7
- Now has a more descriptive error when setup.log doesn't exist.
- Fixed error when a localisation doesn't exist.
- Clears existing characters from game during history generation.

Version 2.0.6
- Reimplemented gender rules usage when generated a character.
- Added chance of ruler being female to Rule Set.

Version 2.0.5
- Fixed crash when parsing CK2 data in cultures using a ',' for decimal points.

Version 2.0.4
- Removed reference to counties in clear history combobox.
- Now skips titles with null religions or cultures in history generation.
- Now remembers last selected gains and allows script.
- Colour values when parsing cultures and religions are now properly clamped.
- No longer crashes when closing without loading data.

Version 2.0.3
- Added more extensive logging in PopulateControls.
- Fixed lexer error when encountering a tab in dynasty names.
- Skips landless titles in history generation.
- Implemented forgotten specified characters.
- Log is now dumped after error loading data.

Version 2.0.2
- Fixed null reference error when attempting to fetch a dynasty by culture.
- Fetching of mods will now assign the error string.
- Now outputs seed to log.
- Renamed Full Logging checkbox to Output Log, and added tooltip.

Version 2.0.1
- Now throws exception if script folders cannot be found.
- Throws more descriptive error if data dictionaries are empty or null.
- String entries in mod object are not String.Empty instead of null.
- Fixed lexer errors in title, culture, and dynasty parsers.
- Errors are now correctly passed on to the UI in LoadTask.

Version 2.0
- Added law generation to Full History generation.
- Fixed bug causing mod history folder not being deleted.
- New GUI.
- CK2 data is now loaded separately before changing of settings.
- Logging now has a limit of the last 100 lines of generator and data logging.
- Full History now creates counts for titles outside of a realm's home duchies.
- Moved included script files to subfolder.
- Removed 50/50 chance of kingship.
- Can now load multiple Rule Sets.
- Independent count generation is back, along with kingdom and empire.
- Can now specify seed to use for randomness in history generation.
- Settings are new remembered when the program is closed.
- Patricians are now created for republics.
- Vanilla rule set selected by default.
- Rule sets support required rule set files.
- Supports converter's nation_table.csv.
- Added logging when checking a selected directory.
- Added error message when selected a directory that doesn't have a CK2 install.
- There is now a 60% chance of a generate vassal being the same culture and religion as his liege. Set in rule sets.

Version 1.7.2b
- Fixed lexical error when encountering a full stop in parser library.
- Included a rule set that keeps republics in Full History generation.

Version 1.7.2
- Added support for colour ranges of 0-255 in culture parser.

Version 1.7.1
- Fixed titles generated from counties not having proper short names.

Version 1.7
- Will correctly detect map modifications in mod selector.
- Will now no longer output an incorrect number of realms if Min and Max are the same.
- Can now provide a list of titles to ignore in history creation. Note: Character rules will override this.
- Included a custom adjacencies file to allow realms to expand into islands.

Version 1.6.11
- Now correctly copies over localisation strings that are not in quotes.
- Fixed Open Gain Effects script assigning to Allows.

Version 1.6.10
- Crusade weights, duchy_revokation, purple_born_heirs, creation_requires_capital, dignity, title, title_female, foa, and title_prefix data copied to generated titles.
- Fix displayed error in mod selector when encountering empty folders.

Version 1.6.9
- Fixed lexer error in title parser when encountering an ID starting with a single quote.
- Coat of Arms definition now carried over to generated titles.

Version 1.6.8
- Fixed lexar error when encountering a CoA in title definition.

Version 1.6.7
- GetDynastyByCulture will now select a culture at random if a dynasty cannot be found in a culture group.

Version 1.6.6
- Fixed errors in DefaultGains.txt.
- Custom Duchies no longer made De Jure in Full History generation.
- Scripting variables now need two underscores.
- Added line to DefaultGains.txt script making laws be copied on from lower title on creation.

Version 1.6.5
- Generated duchies used in Full History now have a de jure liege.
- Changed DefaultGains.txt to no longer change the de jure liege of counties when creating a duchy.
- Liege of titles for ruleset characters is now blank.

Version 1.6.4
- Fixed crash when trying to get an item from an empty list.

Version 1.6.3
- Prevent crash during title check if a title's capital doesn't exist.
- Prevent crash during character creation if a province's title is null.

Version 1.6.2
- Generated kingdoms in Full History now have vassals for each Duchy held after the first two.
- Generated titles now include the alternative localised names (e.g. Kingdom of York will be called Kingdom of Jorvik when held by a Norse character).
- Changed calculation of the Mean kingdom size.
- Generated realms will no longer be made kingdoms if the number of duchies is less than the set limit.
- Removed King Chance selector, and replaced with Make Kingdoms checkbox.

Version 1.6.1
- Now catches errors encountered while parsing .mod files.
- Added label to list encountered errors in Mod Selector window.
- Can now wipe history without generating titles.

Version 1.6
- Renamed Min Chars and Max Chars to Min Realms and Max Realms.
- Added Load Rule Set button to UI.
- Added Rule Sets, to specify characters that must be created (e.g. the Pope), and restrict the genders of cultures and religions.
- Added chance of generated characters having a spouse.

Version 1.5.6
- Fixed lexical error in religion parser.
- Changed FROM tag to AND tag in DefaultAllows.txt.
- Fixed fencepost error when assigning titles to a character in Duke History.

Version 1.5.5
- Fixed crash during history creation if a province definition doesn't have an associated title.

Version 1.5.4
- Fixed crash when loading a province history that's already been loaded.
- Fixed Options output label for Empire Effects and Kingdom Effects scripts.
- Made the culture selection in ClearHistoryCreateDukes less error-prone.
- Fixed fencepost error during dynasty selection in CreateNewRandomCharacters.
- Fixed error when parsing religion files.
- Fixed error when a title has null religion or culture.
- Fixed error when setting provinces to feudal.
- Added null culture and religion check when selecting a home province in Full History generation.
- Fixed error when trying to open a title history in WriteProvinceOwners.
- Fixed line feed detection in parser library.

Version 1.5.3
- Removed Single Count creation. Same effect can be achieved with Full Random by setting high character count.
- Removed checkbox in History Creation Options enabling and disabling King creation. Set to 0 for no kings.
- Added republics to history generation.
- Added tooltips.
- Changed Duke creation to use the same character creation as Full History.
- No longer generates titles from titles with the Landless option.

Version 1.5.2
- Added log entries for gains and allows sections of title string creation.
- Added checks for valid culture and religion when generating scripts for a title. If the check fails, the gain_effects will be empty, and allows will only have a titular check.
- Attempted to fix not found bug when loading script files.

Version 1.5.1
- Fixed crash when generating title string if cultures and religions aren't loaded.
- Cultures and religions are now always loaded.

Version 1.5
- Added support for float style numbers in title parser.
- Added script support for Allows and Gain Effects.

Version 1.4.6
- Fixed missing dynasties in Single Count creation dialog.

Version 1.4.5
- Full random history options now added to log.
- Seed for random number generator added to log.
- Fixed bug while making dukes. They now must have more than 55% of a duchy to get the title, rather than less than 50%.
- If the Create Duchies option is created, Full Random history will now also use those when creating a realm.

Version 1.4.4
- Fixed crash if a localisation noun string is not found.
- Now saves CK2 path between sessions.

Version 1.4.3
- Fixed path issue on Linux.
- Added missing dynasty check in Mod Select window when compiling list of mods.

Version 1.4.2
- Fixed parse error when encountering the ’ character in a culture name.
- Added Full Random history creation.
- Added UI elements for control over the Full Random generation.
- The My Documents checkbox is now ticked by default.
- Fixed crash if a province cannot be found while checking titles.
- Fixed output of dependencies in .mod file.

Version 1.4.1
- Added History options tab.
- Moved Clear History options to History tab.
- Added History Creation options.
- Moved start date selector to main form.
- Generated charcters will now have a random age between 16 and 35; this age will be subtracted from the start date.
- Added Dukes history creation option.
- Changed character ID for Count creation to 99,999,999. Duke IDs will also start from this value.

Version 1.4
- Added option to output to My Documents.
- Added option to name the output mod.
- Rearranged the UI (again).
- Fixed problem in County Selector if there are no suitable empires to populate the list with. The "All Titles" option will display every title in the category below it. So if you select this option in the Kingdoms list, ALL landed Duchies will be in the Duchy list.

Version 1.3.13
- Fixed parser error with string options.
- Fixed crash when no localisation string is found for a title.
- Fixed missing log output when creating localisation strings for kingdoms.

Version 1.3.12
- Fixed no error output in dynasty parser.
- Fixed dynasty parser crashing on encountering a '?' in a name.

Version 1.3.11
- Fixed bug with county selector window going under the main program window.
- Fixed bug when creating title strings for empires from kingdoms.
- Added title creation from counties.

Version 1.3.10
- Fixed parser error when the last line is a comment.
- Renamed County Selector window to Character Setup.
- Rearranged Character Setup window.
- Added birth year and gender selector on Character Setup dialog during history wipe.
- Changed generated character ID to 999999999 to attempt to avoid conflicts.

Version 1.3.9
- You can now select the starting county and dynasty.
- Random character can now be female.
- Supports reading mods from My Documents.

Version 1.3.8
- Added list of skipped titles to the log.

Version 1.3.7
- Fixed logic error in history creation causing duchy, kingdom, and empire settings to not run.

Version 1.3.6
- Fixed exception when reading data style Coat of Arms definitions.

Version 1.3.5
- Refactored history creation for less repetition.
- Updated for CKUtils 1.8.
- Fixed bug causing crash in culture parser when bastard prefix has more than two words.
- Fixed bug in reading replaces in .mod files where they used a forward slash.
- Fixed bug in parsers when encountering empty files.
- Now outputs error log when the program encounters an error. The -log command line option now forces a dump of the log.
- Added history clear selection to options log.

Version 1.3.4
- Added history wipe options.
- Fixed encoding selection on created files.

Version 1.3.3
- Fixed crash if a title's culture/religion isn't defined, and the user selected the Culture/Religion Group restriction.

Version 1.3.2
- Program no longer loads files with the same name.
- Parsers now handle empty files.
- Fixed crash in province parser handling comments.

Version 1.3.1
- Added program version to log file.
- Fixed crash when adding a sub title if another with the same ID already exists.

Version 1.3
- Changed the UI layout to make more sense.
- Fixed the Create Kingdoms and Create Empires checkboxes being enabled at start.
- Added status of Create Kingdoms and Create Empires checkboxes to logging output.
- Added support for generating from multiple mods.
- Added support for mods that only change Religions, Cultures, Flags, Provinces, and Localisations.
- Fixed the Generate button being enabled at start.
- Short name checkboxes are now disabled at start.
- Now doesn't load vanilla files if any selected mod replaces them.
- Added logging when reading localisation.

Version 1.2.2
- Fixed bug causing duplicate empires to be created.

Version 1.2.1
- Fixed crash when a title is landless due to a conflicting title name being dealt with.

Version 1.2
- Now supports CK2 1.06.
- Option to generate only kingdoms or only empires.

Version 1.1.8
- Removed copy feature in favour of dependant addon.
- Fixed incorrect logging messages.
- Fixed bug causing crash when the program is closed if logging isn't enabled.

Version 1.1.7
- Fixed bug causing an ArgumentException when reading provinces.
- Fixed bug where colour values were out of bounds.
- Fixed bug when a from_dynasty_prefix in a culture is a blank string.
- Fixed bug causing an error if a county title doesn't have a related province file.
- Fixed bug preventing the log file being written if an exception is thrown.

Version 1.1.6
- Added logging feature to assist with debugging.

Version 1.1.5
- Fixed short names of empires generated from existing kingdoms being called kingdoms, not empires.

Version 1.1.4
- Fixed missing '=' in generated titles.
- Rewrote parsers to be better.
- Added outputting of short names.

Version 1.1.3
- Removed the culture and religion from the title definition, because it was limiting who could create the title.

Version 1.1.2
- Fixed bug causing a crash if the Culture setting on the PC does not use a '.' as a decimal seperator.

Version 1.1.1
- Generated titles can now be usurped without holding the capital.
- Generated titles that have been destroyed will no longer add new de jure duchies when recreated.

Version 1.1 - Fixed bug causing the program to crash if there are no mods installed in CK2.
- Fixed bug causing tags in allow brackets to be read incorrectly as title stats.
- Fixed bug in which the landed_titles.txt file wasn't replaced when run on vanilla.
- Titles now become de jure vassals of new titles.

Version 1.0.1
- Clamped colour values to the expected range.
- Handled cases where there is a county level title without a matching province file.
- Fixed bug where the program will fail if Copy was checked but Use Mod is not.
- Fixed a bug in the file/directory selection code which caused files to be place/modified outside of the mod directory.

Here's a screenshot of it running with CK2Plus(Kingdom of Dublin is a CK2Plus title.
kagenck2plus.jpg


And a screenshot of the de jure shift:
titgendejuretest.png
 
Last edited:
  • 1
Reactions:
This is really cool. Would it be possible to extend it to allow the creation of titular duchies for every county in the game (and kingdoms and empires on top of those, obviously)?
 
Co-opted for guide. Original post at bottom.

User Guide:
Note: Before using the generator, you must first start the game, then exit, with any mods you wish to use enabled. If you do not do this, you may get an error about a missing setup.log file.

The Data Tab:
  1. Install Directory: This is where the game is installed. It will probably be something like this: C:\Program Files (x86)\Steam\SteamApps\common
  2. Allows and Gains Scripts: These allow you to select which scripts to use in the generated titles to control creation conditions and the like. There are only one of each by default.
  3. Mods: Use this to check which mods you wish to use in the game. Not all mods will appear in this list; only those that modify data this generator uses.
  4. Rule Sets: These contain rules concerning how history is generated.
    • VanillaRuleSet: This one contains the basic rules that should work with any mod, and should be checked unless you have a replacement.
    • Keep867Republics, Keep1066Republics: Tells the history generator to leave the vanilla republics untouched in the 867 or 1066 start. Requires VanillaRuleSet to be enabled.
    • HIPRuleSet: Changes some default rules for compatibility with the Historical Immersion Project Mod. Requires VanillaRuleSet to be enabled.
  5. Mod Name: The name that will appear in the launcher.
  6. Output Log: Enabling this will cause a debug log to be saved when the program closes, and also prevents the log from being limited in size. If you have an issue with the generator, enable this option, repeat what caused the problem, and upload the log to somewhere like Pastebin.
  7. Load Data: Loads the data from the game.

The Title Generation / Titles Tab:
  1. Short Names: Causes the names of titles to be in the style "British Empire" instead of "Empire of Britain".
  2. Title Creation: Controls what level of titles are generated.
    • Duchies: Duchy level titles will be generated from all valid County level titles.
    • Kingdoms: Same, but for Kingdoms. Will also generated Kingdom level titles from generated Duchy level titles.
    • Empires: Again, same as Kingdoms.
  3. Culture Restrictions:
    • None: No restrictions on which characters may create the title.
    • Culture: Only characters of the same culture may create the title.
    • Culture Group: Only characters of the same culture group may create the title.
  4. Religion Restrictions: Same as cultures, but for religions.
  5. Counties, Duchies, Empires: How many titles of the given tier a character must hold to create a generated title of a higher tier. E.g. How many duchies to create a generated kingdom.
  6. Replace De Jure on Creation: This allows a generated title to skip the De Jure drift when it is first created.

The Title Generation / History Tab:
  1. History Modification:
    • None: History will be left untouched.
    • Clear: Title history for the given level and above will be cleared. Useful if you just want to clear the map of all kingdoms and empires.
    • Generate: Will randomly generate a new starting condition for the game.

Generate Options:
  1. Creation Type: Allows you to choose between varying levels of independent realms, or a full generation.
    • Counts, Dukes, Kings, Emperors: New holders and vassals will be generated for each De Jure title of the given level.
    • Full History: Will create new realms, and "grow" them until the map is filled.
  2. Start Date: This is the year you intend to start playing. If you do not set this correctly, the map may be empty when you try to start.
  3. Seed: When enabled, allows you to specify the seed used for the random number generator, allowing you to recreate a previous generation. Is automatically set to the last used seed.
  4. Culture Generation: If enabled, the generator will randomly generate new cultures and culture groups, and fill the map with them. Can result in between 6 and 64 cultures. The names of characters are also randomly generated from the data in the "namedata" folder.
    • Groups, Min and Max: The minimum and maximum number of culture groups to generate. The actual value will be between those you select. Maximum is 8, minimum is 3.
    • Cultures, Min and Max: The same but for cultures. Maximum is 8, minimum is 2.
  5. Realms, Min and Max: The number of realms to create. Can be anywhere between 2 and 2000. The generator will only generate as many realms as can fit in the map.
  6. Realms, Make Kingdoms: If enabled, realms that are large enough will be "promoted" to kingdoms. Others will be left as dukes or counts.
  7. Theocracies, Min and Max: How many of the above realms to convert into theocracies. Can be between 0 and 50.
  8. Republics, Min and Max: How many republics to generate. Can be between 0 and 50. Generated republics will be limited in size, but can expand along the coast.

There are many extra options to control the above within the rule sets, such as spouse chance, republic expansion limits, laws, religious and cultural gender limits, specified in the rule sets.
The VanillaRuleSet file in /scripts/rules is commented, which can be changed. Just make a copy, and make the changes there.

Original Post:
This is really cool. Would it be possible to extend it to allow the creation of titular duchies for every county in the game (and kingdoms and empires on top of those, obviously)?

Theoretically yes, but there's over 900 counties. Doing that would result in 2700+ new titles and flags.
 
Last edited:
Pretty cool tool. Any plans on adding more conditional modifiers?

Always felt a little unsatisfying becoming Kingdom X, sharing a name with Duchy Z, your mortal enemy. This tool aids with that immensely :)


Pssssttt, Kingdom of Dublin was originally from my mod, which wiz implemented in his :p
 
Last edited:
Was wondering if anyone else has experienced this:

I'm playing CK2Plus with this mod (4 duchies required for a kingdom), and I've noticed something peculiar. In my game, the Duchy of Brunwick controlled enough duchies to create the Kingdom of Brunswick. However, as soon as this was done and he had distributed duchies among his vassals, they were all transferred to the HRE. This is kind of obnoxious, as the point of a titular Kingdom is to have enough power to back up your created title.

Anyone know what causes this/ posesses the ai to behave this way?


Edit: Upon further inspection, it appears that the duchies switch from Brunswick to HRE immediately after being delegated.
 
Last edited:
Pretty cool tool. Any plans on adding more conditional modifiers?

Have any suggestions?

Pssssttt, Kingdom of Dublin was originally from my mod, which wiz implemented in his :p

Lol, k.

Pravus, that sounds like a quirk in the way that the AI is handling titular titles, and shouldn't be anything to do with the output of this program.
 
I love this mod but I tried it on The prince and the Thane mod, it pops up the generator but it closes it before it even begins any idea why?
 
I love this mod but I tried it on The prince and the Thane mod, it pops up the generator but it closes it before it even begins any idea why?

I found the problem: there is a small mistake in the colour value of one of the duchies in the landed_titles.txt file. The maximum value should be 255, and in the file it's 256. I'll add in a function to limit the range to prevent the crash, so this won't happen again.
 
I run the tool and nothing happens. Am I missing a step here?

If you're trying to run it on vanilla, then that would be my own incompetence showing. If you check the Use Mod checkbox, then uncheck the Copy box, then uncheck the Use Mod box again, it should work.

Would it be possible to make it so that when you create a duchy-kingdom or a kngdom-empire, the duchy assimilates into the new kingdom?

I don't know, but it sounds like it would require some event scripting, which I've no experience with.
 
It seems that I made a mistake in the directory/file selection code, and if you had the Use Mod box unchecked, but the Copy box checked, it would cause the program to modify the game's files, rather than doing it in a mod. You may notice that those are the default settings.

To restore the landed_titles.txt file, just reinstall the patch you're using. The program also created a file in the localisations folder called "katitnames.csv", and a bunch of files in the gfx/flags directory. Now, you can either leave them, or delete them. The only effect leaving them will have is probably slowing down the load time a bit, due to the number of flag files. If you wish to delete the extra flag files, then it's only ones that begin with either "k_" or "e_" that are not on the following lists.

Kingdoms:
k_abyssinia.tga
k_africa.tga
k_al-murabitids.tga
k_almohad.tga
k_andalusia.tga
k_aquitaine.tga
k_arabia.tga
k_aragon.tga
k_armenia.tga
k_aydin.tga
k_bavaria.tga
k_beni_helal.tga
k_bohemia.tga
k_bosnia.tga
k_brittany.tga
k_bulgaria.tga
k_burgundy.tga
k_byzantium.tga
k_candar.tga
k_castille.tga
k_croatia.tga
k_cuman.tga
k_cyprus.tga
k_denmark.tga
k_egypt.tga
k_england.tga
k_eretnid.tga
k_fatimids.tga
k_finland.tga
k_france.tga
k_frisia.tga
k_georgia.tga
k_germany.tga
k_germiyan.tga
k_hammadid.tga
k_hungary.tga
k_ireland.tga
k_italy.tga
k_jerusalem.tga
k_kafsid.tga
k_karaman.tga
k_khazaria.tga
k_leon.tga
k_lithuania.tga
k_lotharingia.tga
k_marinid.tga
k_mauretania.tga
k_mentese.tga
k_mesopotamia.tga
k_naples.tga
k_navarra.tga
k_norway.tga
k_nubia.tga
k_orthodox.tga
k_ottoman.tga
k_papal_state.tga
k_persia.tga
k_poland.tga
k_pomerania.tga
k_portugal.tga
k_qarakhnid.tga
k_rum.tga
k_rus.tga
k_saruhan.tga
k_scotland.tga
k_seljuk_turks.tga
k_serbia.tga
k_sicily.tga
k_spanish_galicia.tga
k_sweden.tga
k_syria.tga
k_tekke.tga
k_trebizond.tga
k_trinacria.tga
k_venice.tga
k_wales.tga
k_zenata.tga
k_zirid.tga
k_ziyanids.tga

Empires
e_byzantium.tga
e_golden_horde.tga
e_hre.tga
e_il-khanate.tga
e_latin_empire.tga
e_pirates.tga
e_rebels.tga
e_shiite.tga
e_sunni.tga
e_timurids.tga

I apologise for the mistake, and the problem is fixed in the new version in the first post.
 
Have any suggestions?

independent = yes/no
What tiers can make the title? (i.e. everyone, everyone below emperor or everyone below king)

Code:
				NOT = {
					OR = {
						tier = KING
						tier = EMPEROR
					}
				}

This would prevent kings and emperors from making the titles. I use this in my titular title mod in order to keep the UI clean for players as they probably don't want to see a bunch of kingdoms they don't care about once they are king. Technically also a lockout for the AI kings and emperors, but I've never seen them willingly make them once they are a king/emperor anyways.