Home    Curriculum


This is a random world generator written in Python for the game Victoria II. It randomizes practically everything on the game, except terrain geography. It creates new, completely random factions with random names based on dictionary files, as well as flags and each faction's characteristics, such as their literacy rate, population, predominant culture and religion (which are also generated), and more.

It also features customizable variables through a .ini file, such as how many factions to create, their size, population and technology; how many non colonized territories to create, and other game-specific features: how many cultures can be unified (like Germany or Italy), provincial life rating (how easy it is to colonize), etc.

It has been released on the game's official forums, and was also "stickied".


The first version used a linear distribution on everything: how many provinces each faction had, population size, starting army, etc. It was later improved to create an uneven world, as was the original game world. I've written an article about the process and it can be read here.

Names Generator

I've compiled a list of some generated names: Provinces, People.


Download here. Source code is included as well.


World pic 1:

World pic 2:

World pic 3:

World pic 4:

World pic 5:

World pic 6:

World pic 7 (colonize Russia!):

World pic 8:

World pic 9:

World pic 10:

Cores and unification:

New uniforms:

Random Generals names:

Random flags:

Population, random cultures and religions:


Random regions (that's on Region map mode):

Releasable nations:

Random political parties:

Some world maps in political view (black = non colonized):