• 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.

Groogy

Fossilized Platypus
140 Badges
Sep 4, 2009
5.423
17.256
  • Victoria 2: Heart of Darkness
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • For The Glory
  • Hearts of Iron III
  • Heir to the Throne
  • Rome: Vae Victis
  • Lead and Gold
  • The Kings Crusade
  • Magicka
  • Majesty 2
  • Ancient Space
  • Europa Universalis IV: Res Publica
  • Victoria: Revolutions
  • Europa Universalis: Rome
  • Rome Gold
  • Semper Fi
  • Ship Simulator Extremes
  • Sword of the Stars
  • Supreme Ruler 2020
  • Victoria 2: A House Divided
  • Crusader Kings II
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Charlemagne
  • East India Company Collection
  • Europa Universalis III
  • Europa Universalis III Complete
  • Divine Wind
  • Arsenal of Democracy
  • Europa Universalis IV: Art of War
  • A Game of Dwarves
  • Sengoku
  • Cities in Motion 2
  • Cities in Motion
  • Sword of the Stars II
  • March of the Eagles
  • Majesty 2 Collection
  • Hearts of Iron IV: No Step Back
  • King Arthur II
  • Europa Universalis III Complete
  • Impire
  • Hearts of Iron III: Their Finest Hour
  • For the Motherland
  • Europa Universalis IV: Call to arms event
**DISCLAIMER: This is a work in progress and I do not work on Cities Skyline, this is my hobby project I do on my free time**

Alright so what's the deal here?
So what I want to do is add political functionality to the masterpiece of Colossal Order which is the game of Cities Skyline. The core goal being that your citizens should have more detailed demographics and you as mayor at the end should be able to proclaim yourself an independent city state and all the craziness that follow there. Having somewhat special privileges being a first party developer at Paradox I've been exploring the modding possibilities of this game I've grown addicted to and starting adding my own functionality to it. So far it isn't much but I'm creating this thread a bit prematurely to give some other modders the opportunity to learn from my experiences and maybe even outpace me in the development of their own mods. DO NOTE THAT THIS MOD IS NOT PLAYABLE YET!

The source code
The source can be located there https://github.com/Groogy/Republic
I don't know what your experience is modding from before but if you do know C# and perhaps even the Unity engine, then creating a mod for Cities: Skyline shouldn't be that terribly alien to you. I will happily answer any questions people have in how to interact with the modding API provided by CO from my own experiences. I develop in Visual Studio 2013 and it works quite well, I have a post-build script that copies the DLL to the folder where Cities: Skyline can read it. The folder where Cities: Skyline read mods like this is in <user directory>\AppData\Local\Colossal Order\Cities_Skylines\Addons\Mods on windows. The DLL's you have to link against are ICitites.dll and UnityEngine.dll primarily, these can be found in the installation directory of Cities: Skyline. You should also set your target .NET framework to be 2.0 I believe.

Currrently implemented features
Debugger
The debugger at the moment is very lightweight and the features of it are runtime code compilation through a console to run custom commands in C# and watches of any data in you can access. The Debugger as it is right now is very hard coded and works only if you copy the mono-files from the install directory of Cities into the steamapps\common folder. I'll try and improve the debugger to somehow solve this problem for you in the future and make it much more dynamic and feature rich such as code-injection. For now you can use it as a lesson into reflection and capabilities of a language as C#

debugger2.png

Getting setup
So far I've gotten the mod setup, it gets loaded and it makes sure there is a core created for the mod to always rely on, known for people experienced in programming as a "Singleton". So its a good thing to look at if you are confused to know how to get your own mod started. Mainly look at the Republic.cs file to get the gist of it.

Features planned for the future
Citizen expansion
Currently aiming to somehow figure out how I can attach more data per-citizen in the game, current idea is to keep my separate structure outside the in-game data and keep it synced with the data generated by the vanilla game. However this is a PIA and I would like a more elegant solution. Data to be tracked would be issues like political affiliation, religious views and nice additions in a similar fashion.

Government
With the milestone progression system in the game, eventually you would unlock a Mayor's office building and with it the Government menu where you can view the previously mentioned data statistics. Its also from here you should be able to declare yourself a independent city state when you've grown big enough and step forward as the eternal President of this most esteemed republic of <insert name of city here>. It should however be a journey to get here, not every city in the world declares itself independent every other day.

Military
Of course in order to defend your new glorious republic from the oppressive UN and the nation you came from you need a military to defend yourself.... and of course quell the rebellion you'll get every now and then. For now this idea is in the far future and I'll focus on getting government stuff done first before moving on here and I'll fill this out when I get here eventually.

Misc
I probably can always add more stuff as I go a long with the game. Essentially I've grown addicted to the game and I've racked up so much hours on it by now that I want to add more to it.

Why is there a fancy platypus symbol on the thread?
If you somehow missed the big red disclaimer I put in the top, no I do not have any associations with Colossal Order but I do work on the game Crusader Kings 2. I did however get very and terminally addicted to the game of Cities: Skyline to the very degree that I decided I wanted to add more stuff to it on my free time. Do not see anything of what's written here as an official statement of Paradox, it will make both of our lives much much easier.



This thread will change as I get more work on the mod done. For now feel free to ask my any questions to get your own mods started!
A good place to have a look as well is here: http://www.skylineswiki.com/Modding_API
 
Last edited:
  • 8
Reactions:
So that's what you've been working on these past few nights - I approve :D
 
Oh this looks very cool.

You might have a small spelling error on the title, though?

Thanks, fixed! I for some reason keep writing Citities all the time.
Anyway when I get home from work today I'll start adding a system for citizen demographics, I'll try and keep the main post regularly updated.
 
Way to go, Groogy. Awesome. :)

I'd love it if there was some kind of 'senate' thing in the game. Here in India, every municipality over population of 10,000 has it's own political chamber, elected 'senators'/public representatives and even internal factions.

Just my daydreaming ideas. Would love to see some political infighting and a body of politicians refusing you to raise taxes, unless you please them and get bills passed by the majority. :p
 
Groogy!!

Boight this game before I realized it was Paradox, now I see you're making mods for it. God bless!

Sounds incredibly interesting too, I'd love to see more politics and religionplay a part in your citizens' lives.
 
Getting some stuff done, so far parties are generated and I'm going to start investigating now how citizens work in the game to see how I shall attach party affiliation to them. Should probably also if it is possible somehow make it a workplace so we actually have citizens in the city as members of the party.

republic1.png

Going to be place holder graphics for a while.
 
Man, Really awesome to see.
More awesome with Opensource also since i am trying to get my head around some of this stuff still.

NEVER ever stop coding ever, that will make your head rust :p .. My own new rule.. been way to long since i coded.
 
Well right now I don't see a reason to limit. I'll try and support having them completely dynamically created so we can see small parties like "Steve's Party" but only show the ones that get a seat. Right now my focus is on citizens and understanding how they work. I started working on a political issues database that tracks the issues of various citizens but this seems to also count the tourists, the people driving on the entry highway, and truck drivers transporting goods. I'm not sure though but it looks like it and I'm trying to find a way to exclude outsiders.
 
  • 1
  • 1
Reactions:
Ahhhh! You've spilled your Ceasar III on my Cities: Skylines!

So hypothetically could I end up with a singular draconian governing body (me) and a couple militant rebel factions? =D

Don't mind me, I'm just posting to follow (until I figure out a notify button.)

Edited to get rid of the enormous quote. Also, just noticed Thread Tools.
 
Last edited:
Ahhhh! You've spilled your Ceasar III on my Cities: Skylines!

So hypothetically could I end up with a singular draconian governing body (me) and a couple militant rebel factions? =D

Don't mind me, I'm just posting to follow (until I figure out a notify button.)

Edited to get rid of the enormous quote. Also, just noticed Thread Tools.

Yes that's what I want to be possible, its the end goal but there's a lot on the way to figure out and solve first.
 
Yes that's what I want to be possible, its the end goal but there's a lot on the way to figure out and solve first.

My thought was more CSL meets Vicky? Or Tropico I guess. Groogy, you're awesome for making this!
 
  • 1
Reactions:
My thought was more CSL meets Vicky? Or Tropico I guess. Groogy, you're awesome for making this!

That's the idea kindofish, I am not going to be doing much with resources and goods though I think. Maybe add Uranium mining or something, you're not a proper dictator if you don't have ICBM's ;)
 
I've been following C:SL for a few months without crossing the line and posting but this is it, thanks a lot for your hard work (in progress). I hoped that someone would make a "politics" mode for this already awesome game.

Two thoughts :
1. Do you plan on implementing some periodical elections and/or elections trigger Vicky's style ? And if so, could the winning party/coalition limit or expand our possibilites (planned economy / liberalism / environnementalism...) ? Another eventuality could be that our city planning choices (level of pollution, level of education) would increase happinness of cims depending on their political affiliation/Issues.
2. Even if I can see the appeal, I'm not a big fan of military management (even in the Tropico series), would your mod allow to "uncheck" this aspect. I am sure some players would love this aspect but making it optional would be great...
 
1. Do you plan on implementing some periodical elections and/or elections trigger Vicky's style ? And if so, could the winning party/coalition limit or expand our possibilites (planned economy / liberalism / environnementalism...) ? Another eventuality could be that our city planning choices (level of pollution, level of education) would increase happinness of cims depending on their political affiliation/Issues.
Yes but I don't like how it works in Vicky. So we'll see what I come up with.

2. Even if I can see the appeal, I'm not a big fan of military management (even in the Tropico series), would your mod allow to "uncheck" this aspect. I am sure some players would love this aspect but making it optional would be great...
Well of course it all depends on what path you go but I want to myself play the "crazy" path where I become an independent city state so that will be probably fleshed out but I'll try and keep other people in consideration.
 
  • 1
Reactions: