Revolutions

Yes, but I can't say how. I mean that I plan to expand the mod, but it may be as a part of a bigger mod, and no more standalone.

The bigger mod would be a kind of total conversion, with a lot of rules change from usual civ5 gameplay, so it may be difficult for me to keep it compatible for both my mod and normal play...

Free time is the key here, and I don't have enough left for serious modding ATM.
 
Weird request probably, but if any previous versions of Revolutions was clear of the heavy waiting time which current (v5) version has, and you still have a copy of it somewhere, could you please upload it :D?
 
I would like to know as well if anything is being done to save this mod? I just saw your historical spawn mod so this would be cool as well to use.
 
So, I ran a test and it seems as though cultural diffusion is what is slowing down the game a good bit. Is iit just the nature of the mod or is there a bug that is causing this?
 
The way it saves data. Something has changed in the core game that has slowed it even more in one of the Civ5 patch. Or it's the combination of both mods saving in similar slots.

That's one of the reason that make me pondering the merging of all parts of the project into one using the DLL (much faster) instead of Lua. The con being that you'll have to follow my choice of game design and can't use the mods separately anymore without taking the time to recompile a DLL for each part (or each combination) of the mods.
 
I would greatly support that actually. Would also make updating much easier (one thread, ect). The only mod that I use that isn't yours is the emigration mod, but I can do without that. How long would it take for you to compile them all together?
 
Those 2 mods are only the tip of the iceberg, what I mean is that I may merge them with my dynamic history project which will be something changing a lot of core civ5 mechanisms and people may want to use culture diffusion / revolution alone.

On the good side for you, an Emigration mechanism will be part of the project (based on the current mod, but with some differences)
 
Gotcha, whats the progress on that? I wouldn't mind helping out in anyway possible, via testing or I could even learn a little coding. Dynamic history is the only way I actually play Civilization, so it would be great if it was made ;).
 
Small update:

v.6 (May, 12 2013)
- Change used slots for saveutils to be different from the slot used by Cultural diffusion (may speed up things in late game)
- Update Culture Relation Data less often
- Use MapModData for sharing data between context (ShareData doesn't work anymore ? note to self: check in R.E.D WWII)
- Small update for compatibility with "Historical Spawn Dates" mod
 
Very nice mod and fun to play! Remembering the Civ 4 version at all...

The idea to form new built CS out of the revoluting cities is a great start. What i would like to see is the forming of complete new civilizations, let's say such ones that fit into the current timezone.

Currently combining the mod with the 'Grand Campaign' mod to get additional time for expansion. One problem i see is, that most empires are limited on their core area arround their first city. Any outpost starts to revolute within some turns and there is not much one could do against. Basicly i think there should be a timescale where expansion and colonizing should turn arround and provide happiness instead revolutions. In the current version, America would never have been born...or the Comonwealth would have been split in the very first years.

I think limiting the ancient times, probably also the classics would be a great idea. But lately at the renaissance should be a growing advancement to gain colonies oversea. This may be driven comercial or by belief. One step forward, the political system should react on the expansion, otherwise the new colonies may split and form a new civilization.
 
The distance at which "separatists" appears is scaled with the era you're in. That means you can build cities further away in later era.

The spawning of a new civilization from the separatist CS is the next phase of development, I'm still thinking of the best way to do it without DLL modification. Could be a minor civ with multiple cities, or a "sleeping" major from start (or a dead civ).
 
None of my mods are blocking Really Advanced Setup, but yes, I've set Custom Advanced Setup as a requirement. You should be able to use both unless it's blocking mine(s).

The reservation is needed to preserve the number of CS the user have selected, else he'll get that number -10 CS for the reservation. Could be problematic if he selects less than 10 for example.

But it's not a critical problem, you can remove the dependency from the Revolutions (v 5).modinfo file, just remember to have at least 10 CS selected on the setup screen.
 
It's been revealed that ideologies from the new expansions can cause cities to change it's mother civ. So in any case updates will probably be suspended until the release. Though i am not sure what else could be added to it. The information itself isn't specific. But regardless i am glad civ 5 is starting to look less like a board game.
 
Hello everyone. :)

First I'd like to say thanks for this great mod! Just what I was missing from Civ4.

I've encountered a CTD while playing my current game. I've tried to interpret the logs but I'm stuck and I hope you can help me. I'll attach the logs to this post.

It seems that the game crashes while generating a revolution with an AI civ (I'm playing as Siam and have not yet discovered them (Iroquois), if that makes any difference). I've added some debug output to your function RevolutionInCity to see where it happens.

Changes (at the end of the function):
Spoiler :
-- Flipping city to rebels side...
local rebel = Players[rebelID]
Dprint (" - acquiring city: ".. city:GetName(), bDebug)
rebel:AcquireCity(city, false, true)
Dprint (" - setting puppet", bDebug)
city:SetPuppet(false)
Dprint (" - changing resistance turns: ".. -city:GetResistanceTurns(), bDebug)
city:ChangeResistanceTurns(-city:GetResistanceTurns())
Dprint (" - saving data (SaveData)", bDebug)
SaveData( "ReservedCS", reservedCS )
Dprint (" - data saved", bDebug)


Last lines from Lua.log:
Spoiler :
[179028.276] RevolutionMain: ------------------
[179028.276] RevolutionMain: Checking Rebels spawning for Hiawatha
[179028.276] RevolutionMain: - Onondaga at 151,71
[179028.291] RevolutionMain: - CIVILIZATION_IROQUOIS has enought strength to rebel, check relation...
[179028.291] RevolutionMain: - Bad relation with tile owner for CIVILIZATION_IROQUOIS, check for rebellion spawning...
[179028.291] RevolutionMain: - MINOR_CIV_QUEBEC_CITY has enought strength to rebel, check relation...
[179028.291] RevolutionMain: - Bad relation with tile owner for MINOR_CIV_QUEBEC_CITY, check for rebellion spawning...
[179028.291] RevolutionMain: - spawning 9 unit(s)
[179028.291] RevolutionMain: - Spawning MINOR_CIV_QUEBEC_CITY Rebels against Hiawatha
[179028.291] RevolutionMain: - Slot already open, use it...
[179028.307] RevolutionMain: - generating revolution !!!
[179028.307] RevolutionMain: - Revolution started by MINOR_CIV_QUEBEC_CITY Rebels against Hiawatha
[179028.307] RevolutionMain: - Slot already open, use it...
[179028.307] RevolutionMain: - acquiring city: Onondaga
[179028.385] RevolutionMain: - setting puppet
[179028.385] RevolutionMain: - changing resistance turns: -1


So, as far as I can see, the output "saving data (SaveData)" is missing so it seems to crash at "ChangeResistanceTurns" (GetResistanceTurns works, as it's in the log output).

Now, I've tried to find out what this method does exactly, but no luck. :)
Seems to be quite a standard operation though (passing a negative parameter - # of turns?), as I have seen from a few posts in this forum.

I'm running some other mods, so I'm aware that maybe one of them is causing the CTD. But maybe you can point me in the right direction. :)

Mods I'm using:
Spoiler :
  • CSD (v 36)
  • CivUp (2.5.2) and GEM (1.13.4)
  • Cultural Diffusion (v 15)
  • Custom Advanced Setup Screen (v 5)
  • Emigration (v 5)
  • Foreign Trade Routes (v 5)
  • Great Works (v 3)
  • InfoAddict (v 19)
  • R.E.D. Modpack (v 26)
  • Revolutions (v 6)
  • YNAEMP (v 17)

Thanks for your help and, again, for this great mod. :)
 

Attachments

  • Civ5-Logs.zip
    49.3 KB · Views: 131
Thanks for the report :)

Can you try to "comment out" the line :

city:ChangeResistanceTurns(-city:GetResistanceTurns())

just change it to
--city:ChangeResistanceTurns(-city:GetResistanceTurns())

and test again please ?
 
I did that. Two revolutions happened in Onandaga and Osininka:

Spoiler :
[190155.000] RevolutionMain: Checking Rebels spawning for Hiawatha
[190155.000] RevolutionMain: - Onondaga at 151,71
[190155.000] RevolutionMain: - CIVILIZATION_IROQUOIS has enought strength to rebel, check relation...
[190155.000] RevolutionMain: - Bad relation with tile owner for CIVILIZATION_IROQUOIS, check for rebellion spawning...
[190155.000] RevolutionMain: - MINOR_CIV_QUEBEC_CITY has enought strength to rebel, check relation...
[190155.000] RevolutionMain: - Bad relation with tile owner for MINOR_CIV_QUEBEC_CITY, check for rebellion spawning...
[190155.000] RevolutionMain: - generating revolution !!!
[190155.000] RevolutionMain: - Revolution started by MINOR_CIV_QUEBEC_CITY Rebels against Hiawatha
[190155.000] RevolutionMain: - Slot already open, use it...
[190155.000] RevolutionMain: - acquiring city: Onondaga
[190155.078] RevolutionMain: - setting puppet
[190155.078] RevolutionMain: - saving data (SaveData)
[190155.094] RevolutionMain: - data saved
[190155.094] RevolutionMain: - Osininka at 144,71
[190155.094] RevolutionMain: - CIVILIZATION_IROQUOIS has enought strength to rebel, check relation...
[190155.094] RevolutionMain: - Bad relation with tile owner for CIVILIZATION_IROQUOIS, check for rebellion spawning...
[190155.094] RevolutionMain: - generating revolution !!!
[190155.094] RevolutionMain: - Revolution started by CIVILIZATION_IROQUOIS Rebels against Hiawatha
[190155.094] RevolutionMain: - Slot already open, use it...
[190155.094] RevolutionMain: - acquiring city: Osininka
[190155.141] RevolutionMain: - setting puppet
[190155.141] RevolutionMain: - saving data (SaveData)
[190155.141] RevolutionMain: - data saved


And I'm getting a notification that one civ has lost it's capital. I can only guess (only met 4 civs out of 18), but since Onandaga revolted I guess that fixed it. :)

Thanks a lot!
Out of curiosity: Can you tell me what ChangeResistanceTurns actually does?
I'm also wondering, how commenting this out affects revolutions.
 
It removes resistance in the city when a new CS take it over. Don't know why it was crashing here, I'll have a look in next update.

There is a small update again, to fix a bug with the Cultural Diffusion mod (I forgot to set the correct version in the dependency, but you have to always use the latest version of both Cultural Diffusion and Revolution)

v.7 (May, 23 2013)
- Small change to MapModData sharing with Cultural Diffusion
 
next version *soon* (maybe tomorrow), doing a small test game before release :)

It will include custom names for rebels (like "Separatist rebels", "Egyptian rebels", ...) and cities in revolution will be able to chose to join the happiest empire that have a culture influence on them, or declare independence if they are not under influence of anyone.
 
Top Bottom