revolutions / dynamic history / realism mod

TheeLord

Warlord
Joined
Apr 16, 2005
Messages
140
Location
Chicago
I am missing the civ 4 mods that gave us a more realistic historical type game. Such as "revolutions", "rise of mankind", and "rise of civilization". I want these concepts back. Are there limitations to what can be done currently? And if so what are they?

I keep hearing talk of no dll access is this what we are waiting for to get started? If these sorts of mods are possible now can someone point me in the right direction on which components I need to learn? I only played with xml files in civ4.
 
Yes, the dll would be most needed to do extensive mechanics modding :)
 
When are we supposed to get dll access? Who is planning to work on a "historical simulation" type mod? Maybe some of us can start brainstorming and start working on assets, techniques etc...
 
When are we supposed to get dll access? Who is planning to work on a "historical simulation" type mod? Maybe some of us can start brainstorming and start working on assets, techniques etc...

Ideas are a dime dozen. Most serious modders don't need a lot of idea suggestions, just feedback and balancing suggestions.

On a more positive note - I'm in the preliminary stages for a prototype revmod. ;)
 
i'm planning a revolutions mod too, maybe we should cooperate instead of making 2 different mods

Good plan. The first thing I was doing was to check that Game:GetScriptData and Game:SetScriptData could store any data we needed in-between saves.

I was planning on making it similar to the way it was implemented in Civ4. With a stability index for each city, that get's adjusted each turn. Once it reaches a threshold level, rebels spawn, weak at first, then with growing intensity. But I'd love to hear any changes you want to make to that model.
 
How about 1 mod instead of three. haha. I have lots of ideas, but I think it's best if I (we) approach the ideas modularly. So first focussing on the revolutions concept and making it strong. Then moving on to other concepts that would make up a more complete realism modpack.

For revolutions, the method used in the civ4 mod was great. City rebellion/ happiness indexes worked great. We should decide on some factors that the city happiness could be based on.
-distance from capital
-contiguous land mass?
-original city owner?
-other nation near by?
-city walls / garrison
-surplus food and starvation
-foreign relation factors
-civics
-buildings within city
-maybe city size??
-overall empire happiness
 
Good plan. The first thing I was doing was to check that Game:GetScriptData and Game:SetScriptData could store any data we needed in-between saves.

I was planning on making it similar to the way it was implemented in Civ4. With a stability index for each city, that get's adjusted each turn. Once it reaches a threshold level, rebels spawn, weak at first, then with growing intensity. But I'd love to hear any changes you want to make to that model.

i'll take a look at those files.

what i didn't like about Revolutions in civ4 were quite obscured and overcomplicated mechanics. lack of interface help and documentation deepened this problem. playing with revolutions was fun but uncertainity was disturbing at times. those numbers in city screen + various indexes (occupying most of any civic's description) etc just had not to accord with each other, it was a mess.

what i'd like to propose is to simplify mechanics to some level to make it transparent to a player.

also i'd like to emphasize on culture (global culture, not only city's) i think it should be a core of any civilization and should determine a nation's ability to resist various negative forces undermining its unity. TheeLord have listed those factors pretty particularly. relative culture rates of civs also should affect war and assimilation. e.g. cultured nation may assimilate conquerers as it was common IRL
 
I really like the culture ideas as well. And I completely agree about the transparency of the revolutions system. A player should be able to see exactly what is causing discontent for each city. And I completely agree that empire wide factors should also be taken into effect and there should be empire wide factors and stability as well.

Another thing I didn't like about the old civ4 mod was the static-ness of the system. If your empire or city was unhappy it was sometimes impossible to make them happy besides bribing them which worked too well in many cases. And if it was happy it almost never receeded. Maybe there should be some sort of mechanic where by prolonged very positive happiness results in societal debauchery causing research losses? Just a thought.
 
I now have a semi-working prototype. Each player's city has a stability index, that starts at 0. The max stability is 1000, the min, -1000. The stability is adjusted each turn, and saved in each players script data. It can be loaded from saves correctly. So far, nothing really happens, but the framework is there.

KillmePlease, if you're serious about helping with the code, I'd be happy to set up a SVN where we can begin the real meat of the project.
 
I now have a semi-working prototype. Each player's city has a stability index, that starts at 0. The max stability is 1000, the min, -1000. The stability is adjusted each turn, and saved in each players script data. It can be loaded from saves correctly. So far, nothing really happens, but the framework is there.

KillmePlease, if you're serious about helping with the code, I'd be happy to set up a SVN where we can begin the real meat of the project.
:eek: sounds great, i was thinking its impossible to save something with lua. could you show this code please?

definitely i will be glad to work with you on this mod. i will have more time on ongoing sunday, we can coordinate our efforts and meka a plan that day. do you have any messenger program or something?

also i have thought out a little more on mechanics. stability bar may be filled with :culture:. plus you have some buffer which size is related to a state-wide culture and used in calculation.
for a particular city, stability = accumulated culture + buffer B. negative effects lower stability by a certain number simply deducted from stability index S.

e.g.
stability balance: monument +2; famine - 10; enemies inside city radius -5; total = -13 per turn.
for an uprising a city say has to have -500. you get current index say -700, add up a buffer B say 300 and get -400. so there will be no uprising on the given turn.
 
:eek: sounds great, i was thinking its impossible to save something with lua. could you show this code please?

It's a bit involved. Firaxis allowed us to save strings. I had to create a method to turn a lua table into a string, and then back again. It works fine now, but that took me a while to do.

At any rate, I've created an SVN and given you full read and write access.
definitely i will be glad to work with you on this mod. i will have more time on ongoing sunday, we can coordinate our efforts and meka a plan that day. do you have any messenger program or something?

Sure, the Steam chat or Skype work fine for me.

also i have thought out a little more on mechanics. stability bar may be filled with :culture:. plus you have some buffer which size is related to a state-wide culture and used in calculation.
for a particular city, stability = accumulated culture + buffer B. negative effects lower stability by a certain number simply deducted from stability index S.

e.g.
stability balance: monument +2; famine - 10; enemies inside city radius -5; total = -13 per turn.
for an uprising a city say has to have -500. you get current index say -700, add up a buffer B say 300 and get -400. so there will be no uprising on the given turn.

That sounds interesting, and would definitely make culture a more important factor. I have done anything with the stability code yet, and I'm more than happy to give you free rein on that aspect of the project.

If you have any questions about the code so far, don't hesitate to ask.
 
So I'm a bit confused. You guys seem like you're able to alter the game mechanics a bit already judging by the emigration mod etc... (Emigration mod is very cool btw). Please point me in the right direction on what to learn in order to do this sort of thing. I want to be able to help.

Is it all done through lua somehow? Ill have to look at the emigration mod and see how that works maybe?
 
So I'm a bit confused. You guys seem like you're able to alter the game mechanics a bit already judging by the emigration mod etc... (Emigration mod is very cool btw). Please point me in the right direction on what to learn in order to do this sort of thing. I want to be able to help.

Is it all done through lua somehow? Ill have to look at the emigration mod and see how that works maybe?

Yep. It's all in Lua. Looking at the emigration mod's code should help you.
 
Well, I am pretty good with c++, so let me know if you need me to write a function up or anything.. I don't know jack about modding civ 5 yet. But if you give me the input and output and any associated variables and what you need I can hopefully help! Otherwise ill have to wait until I learn all the civ stuff..
 
It's a bit involved. Firaxis allowed us to save strings. I had to create a method to turn a lua table into a string, and then back again. It works fine now, but that took me a while to do.

Gosh darn it! I've been trying to figure out how to do this kind of thing in multiple threads and questions, and no one ever seems to understand what I want or why I would want to do it. I'll dig into the Emigration code this weekend (I haven't yet figured out the save string function, this is used in Emigration?). But I assume your table-string conversion isn't in it. Could you post this code snippet for the rest of us to selfishly exploit? Benefits will accrue in the form of good Karma, I'm sure. Sorry for the thread hijack.
 
Gosh darn it! I've been trying to figure out how to do this kind of thing in multiple threads and questions, and no one ever seems to understand what I want or why I would want to do it. I'll dig into the Emigration code this weekend (I haven't yet figured out the save string function, this is used in Emigration?). But I assume your table-string conversion isn't in it. Could you post this code snippet for the rest of us to selfishly exploit? Benefits will accrue in the form of good Karma, I'm sure. Sorry for the thread hijack.

Emigration doesn't use saving. I used a hack at first, but I'm in the midst of rewriting it to work with more variety of tables. I have the code so far on a SVN: https://sourceforge.net/projects/revolutionsmod/
 
afforess's mod will probably be more popular than mine for reasons that civ players appreciate games more like civ. But I am also working on a mod for civ 5 that involves all the things in this title but in a much different way. I have very little experience but it cant be that hard with half the work done for me by afforess already, the thing I knew I'd struggle with already is just making variables over the course of the game etc save somehow.

Now I just need to learn C++ :crazyeye:
 
Afforess, I hate to butt into this thread to ask modding questions for my own purposes, but I sure would like to know how to store information in a gamesave file. I'd be happy to root through your code at sourceforge, but I see exactly 0 files when I press View All Files. I'm not sure that your code is open for all to see (and I wouldn't blame you if it isn't). If you just paste 2 lines of code for me (writing to and reading from this mysterious string variable) then I can take it from there.
 
You can save data to 3 objects in the game, Players, Units, and Plots. I have tested two of these, and Players and Plots work fine. The function is the same for all of them. Use Players[iPlayerID]:GetScriptData() to retrieve the string, and layers[iPlayerID]:SetScriptData() to save it. The large part of my code is for serializing tables into savable strings and back.

The SVN is public, FYI.
 
Back
Top Bottom