.

Is this a good Idea

  • Yes, this a brilliant idea

    Votes: 14 73.7%
  • The concept is good but...

    Votes: 5 26.3%
  • No, this is an aweful idea

    Votes: 0 0.0%
  • Other

    Votes: 0 0.0%

  • Total voters
    19
It is a great idea! I hope it sees the light of day...
 
What about cities that rebel from rebel civs? If you had some English colonies rebel, you might have a civ called Rebel English (America). If some cities rebelled from the rebel empire, would you have a civ out there called Rebel Rebel English (Confederacy)? And what about the second rebel civ from the same origin? Would it be Second Rebel English (South Africa)?
I think a list of rebel civ names would be better, similar to the city lists. Rebel nomenclature should be reserved for when the list runs out. Other than that, it would be absolutely fun and is plausibly justifiable. However, invisible stuff you can't do anything about is never THAT fun, so as long as you are doing this, why not put in a capability, say a Building called Polling Institution, that reveals rebel culture.
 
I like this idea a lot. There are a few variations I can think of:

1. The rebel cities just become Barbarians.
2. The citites don't rebel, but they lose culture making them more suseptible to culture takeover by neigbouring civilizations.
3. Investment in certain buildings, technologies, or home guard units negate the rebel effect.
4. Maybe the cause of the rebelions could vary: religious, economic, independence (depending on local resources etc.) so may need different buildings or techs to solve.
 
This is great, I am praying that someone picks it up. It would work great in AoC.
 
Right, as a proof of concept I've used the SDK to get a city to change to Barbarian. Adding a new player as "Rebel_YourCiv" is currently beyond my knowledge. The "easy" bit is now the maintenance of the rebel culture value. I'll start putting in things based on what Lord Olleus suggests. Though I won't do any interface changes to show the rebel culture - other than maybe highlighting dangerously high rebel culture in the log.
 
I think the hard part is going to be hiding this rebel culture, it would seem to me to be easier at the source level to simply create a new datamember for Cities m_irebeliusness and store the data their and at the time of the Rebelion half the culture of each culture thats present in the City and add an equal amount of Barbarian culture thus giving the City atleast 50% Barb culture and resulting in a perminent loss of culture for player even after the city is recaptured.

You could also create int CvCity::getRebelionProbability() which uses the rebeliousness value and other varius bits of data it pulls in (most important of which is the Empire Size, Distance to capital and Religions present in the City vs State Religion) to calculate the chance of a rebelion occuring durring the revolution (I recomend we NOT differentiate between Civic and State Religion as people will inevitable get confused). This could then be exported to Python ware it appears as a color coded display on the City screen so you get some good feedback.
 
I don't know why there is an 18 civ limit other than MAX_CIV_PLAYERS in CvDefines.h is set to 18.

I'm going to start with the Barbarian conversion and the calculation logic as a start to the City. This will give us something to play test. If someone can check into dynamically creating new civs and 18 player then that would be great.
 
So is the 18 hard-coded in places other than CvDefines.h? Or would just changing CvDefines.h and rebuilding be enough?
 
You should check out jdog500's Revolution mod. Barbarians become full fledged civs and fractions split from civs if they are very unhappy. There is so much more than just this though. Check it out.
 
On further anaylis I would like to modify my recomendations.

Attatch the m_iRebeliousness datamember to CvCity and add get/set/change functions for it and export to python
Attach a m_iRebeliousnessModifier datamember to CvPlayer and CvCity along with a get/set/change function for each also exported to python

Then perform the Rebelion probability calculation and resulting effects being fired at the Python level, its something that people will probably want to Mod a lot and it can easily be handled their once the the hooks are in place. Revolutions are an infrequent event and doing a simple calculation on each city even one that pulls in several varaiables is compuationaly very light. Its best to keep the core logic out of the SourceCode.

If it proves fun I could see additional support for <RebelionModifier> in Civics, Leader Traits and Buildings both Local and Global
(can you say RedSquare Wonder of the World!)

For now I would go with just Barbarizing the City (hey that could be a nice function name CyCity::Barbarize()) as theirs no way around the 18 cap, it might be possible using that code that can "reserect" dead civs and change an existing players Civ. The problem is that their may not be a deadplayer slot you can use and having the Rebels be some random Civ would be kind of Silly. I am not shure if its possible to have them belong to the same Civ they rebeled from as that would create 2 players with the same Civ (is that legal?) and will it complety screw things up if it is legal?
 
Justinian519 said:
You should check out jdog500's Revolution mod. Barbarians become full fledged civs and fractions split from civs if they are very unhappy. There is so much more than just this though. Check it out.

That mod looks great. Shame though, I was really getting into this modding lark.
 
I am still working on this, but this is turning into a can of worms for determining when a city revolts. It's simple to make a decision at a given turn based on the snapshot of the model at that time. However, I think that would be easy to "cheat" the system into making a city not revolt.

Things I am thinking of is taking into account unhappiness levels, affects of buildings, religion, the economic contribution etc. over a period of time. That way you can't just build a new building (or whatever) and stop the rebellion.

What criteria are other mods using to determine if a city would revolt?
 
I voted yes, but... I think this should definitely be combined with some version of the Cultural Influences Mod Component...

As well as some kind of interaction with happiness. Whether that's unhappiness is a direct factor for rebellion (e.g.: rival culture + unhappiness = rebellion) or unhappiness is an indirect factor for rebellion (e.g.: unhappiness affects cultural production in some way, and culture is the main factor for rebellion).

Depending on its implementation, it might not need to be invisible at all. I know that if rebel culture is the only factor, making it visible would be too easy. But if there's multiple factors interacting, then making it visible might not be a bad thing at all.
 
Back
Top Bottom