Idea for modmod: Civ Spam!

Baldyr

"Hit It"
Joined
Dec 5, 2009
Messages
5,530
Location
Sweden
So I realize that the number of Civs in RFC is kept to merely 32 because of optimizing issues. It would simply require too much processor power to have more Civs in play at once.

My own modifications to respawns and stability is balanced so, however, that there will always be just above 20 active Civs in play at a time. I believe this to be a good balance and is achieved by making collapses more common when there are more than 20 Civs in play, and by making respawns (enabled before Nationalism) more rare when there are more than 20 Civs in play. So it all balances itself out over time.

I was thinking, though: What if one was to include every imaginable Civ (with decent LH, UB, UU and so on) in RFC? :eek: The game could still be balanced so that there would be no more than, say, 20-30 Civs in play at once. (When the number of Civs is getting near 30 collapses would require less instability, making room for new Civs.)

The key would be to not have the initial spawns of Civs as scripted as now. So there would only be a Byzantium if Rome has "collapsing" stability. Otherwise that Civ would not spawn at all, or would only have a very limited spawn. (The player could be activated and get some "rebel" units in its core area, but no flips of cities or units. So it would be a rather limited ordeal for a stable Rome, but with potentially cataclysmic consequences, as the empire could very well be caught in a downward spiral if the rebels manage take Constantinople, for example.)

This means that some of the Medieval European Civs wouldn't even spawn if for example Rome was holding those areas and wasn't unstable in that time frame. So if the Iberian peninsula is a part of Rome at the time of the birth of Spain, there wouldn't be any Spain. (Or only Spanish units, but nothing else.) But once the Roman Empire does start to shake in its foundations, the Spanish Civ could very well get its 15 turns of fame.

So there could be Poland, Kievan Rus, Muscovy, Sweden, Austria and so on. RFC Europe (and RFC Asia) would be a good candidate for cannibalizing Civs... :mischief:

In order for something like this to work, some Civs might not be playable. But they wouldn't have to be minor Civs either! And since the spawn dates wouldn't be as predestined as now (since a birth would be dictated by the stability of the Civ controlling the core area, and not only by a set date) I believe that jmerry's excellent Dymanic Starts modmod would solve many potential issues! :goodjob:

So, what are your thought on having like a hundred Civs in RFC? :king: (But only have two dozen in play at once.)

edit: And, yeah, the playable Civs would always spawn on date with flips and all - if controlled by the human player. This would be the exception, of course.
 
That would be interesting... It would take an enormous amount of work. It's basically like turning Independent cities into full-blown civs. It would have to have some serious balancing work, though, too.
 
It would take an enormous amount of work.
The bulk of the work would be to import all the Civs. Menial labor, anyone? The best way to move forward would probably be to include the Civs that are ready to go, so to speak.
It's basically like turning Independent cities into full-blown civs.
I don't know about that, but maybe you could view it like that. The bulk of the cities in my own game are usually independent, as instability causes a lot of secessions. And then there are a lot of collapses. (I have actually made Anarchy a prerequisite for collapse - stability is only a factor determining the actual risk. The other factor is the number of Civs in play.)
It would have to have some serious balancing work, though, too.
Yeah, that goes without saying... :p
 
I'm working on a Middle Eastern mod that includes modified Rise and Fall mechanics to allow more or less what you described, with a different approach to those "unplayable" civs (they're all playable). Since medieval states of the Middle East tended to expand quickly but lasted less than 100 years on average, it doesn't make sense to have one "Egypt" or "Persia" in a 1000-year timeline, when it was a big cluster---- of different dynasties rising and falling in different parts of the map.

So instead there's a "conditional spawn" mechanic - e.g. Fatimids, Ayyubids and Mamluks are all seperate civs, all start in Egypt, but the latter two won't spawn at all if their predecessors are alive and stable (if they're very unstable, python helps them collapse 20 turns before the spawn - unless they're played by the human). If human player chooses to play a conditional civ, then python takes care of those conditions, that is, it kills all blocking civs 20 turns earlier.

Conditional civs also spawn differently - if their capital is occupied, they flip it instantly, instead of spawning outside foreign borders with a settler.

Start dates are fixed, since those civs are playable. I guess they could be made dynamic for AI only. Still, with this approach you can make all your 100 civs actually playable (isn't there a limit of 48 or 64 though? I don't know but I haven't seen DLLs with >48). If that's of any use to you, just let me know.
 
I'm working on a Middle Eastern mod that includes modified Rise and Fall mechanics to allow more or less what you described, with a different approach to those "unplayable" civs (they're all playable).
First of all: What a great project! :goodjob:

What I meant by "unplayable" is just in case nobody can figure out how to make some Civ (like the Sumerians or the Polish or something) truly playable. There are balancing issues, UPs, UHVs and whatnot to consider. Personally I'd rather include any Civ than exclude them just because it doesn't make sense as a playable Civ. (Like the Byzantine.) I don't want any "minor" Civs except for the different "independents" (including Barbarians and Natives).

Since medieval states of the Middle East tended to expand quickly but lasted less than 100 years on average, it doesn't make sense to have one "Egypt" or "Persia" in a 1000-year timeline, when it was a big cluster---- of different dynasties rising and falling in different parts of the map.
I believe this to be true about world history in general. Even if some cultures are truly ancient there have been "collapses" along the way. In fact - this is what respawns are for!

So instead there's a "conditional spawn" mechanic - e.g. Fatimids, Ayyubids and Mamluks are all seperate civs, all start in Egypt, but the latter two won't spawn at all if their predecessors are alive and stable (if they're very unstable, python helps them collapse 20 turns before the spawn - unless they're played by the human). If human player chooses to play a conditional civ, then python takes care of those conditions, that is, it kills all blocking civs 20 turns earlier.
I'm thinking along these lines also, but thanks for those specifics! :goodjob:

Conditional civs also spawn differently - if their capital is occupied, they flip it instantly, instead of spawning outside foreign borders with a settler.
Yeah, that sounds about right. I'm thinking that a spawning Civ would always flip one city (the capital) and the rest would be dependent on the stability of those Civs that occupy the rest of their core area. A reworked system for secessions could probably substitute for the regular flips. The it works now is a bit... heavy handed, to say the least.

Start dates are fixed, since those civs are playable. I guess they could be made dynamic for AI only. Still, with this approach you can make all your 100 civs actually playable (isn't there a limit of 48 or 64 though? I don't know but I haven't seen DLLs with >48). If that's of any use to you, just let me know.
I don't actually know anything about the DLL - yet. I'm still working out Python and then I'll have to master the XML stuff. But I guess someone could give me a hand with the C++ stuff in the meanwhile...

As for a limit on the number of Civs, I don't know if there even is one. Perhaps it would be impossible to have unlimited Civs for practical reasons? Well, I guess I would settle for the maximum number of Civs, then. :lol:

This is, by the way, nothing I'm even planning on doing right now. I'm in the midst of another huge project so anything along these lines would have to wait. But I would rank it very high for priority... The best thing would probably be to collaborate with others who know their way around the XML and C++ stuff. And if someone else takes the reigns on anything remotely like this idea, I'll be happy to "steal" their work once their done... :mischief: (Just like I would include the Dynamic Starts into anything I release.)

I've already done some work on stability and rise & fall that I might release ina modmod in the future. This would probably be the basis for any project of this kind, as I'm pretty happy with the ideas I'm working with.
 
I like it but it sounds like a lot of work, I hope you won't give up halfway through!
 
They had a system similar to this in Empire: Total War. There were about thirty civs that spawned if a revolution occured in their area.
 
I suppose it could be done with a bunch of people making maybe one or two civs by themselves, everyone commenting on eachothers' civs to make sure they aren't unfair. Embryodead is making a system you basically described. But in RFC, dynamic names change. For example, Japan represents a united Japanese people while they were really just a bunch of warring states for a really long time. The same with many nations. Also, China doesn't rise and fall due to dynastic changes, they just represent a government of the Chinese people no matter who the ruler.
 
I suppose it could be done with a bunch of people making maybe one or two civs by themselves, everyone commenting on eachothers' civs to make sure they aren't unfair.
I believe that you could go a long way by simply importing stuff that's already out there. First of all there are Civs like the Hettites, the Sumerians and the Sioux (NA) that haven't been included in the first place. So those would go in, along with the Celts and the Byzantine that are minor Civs now. After that there are quality Civs that modders have done, like the Polish or the Irish or whatever.

As long as these Civs have a decent LH, UU and UB its more or less a matter of adding a UP, make up UHVs and setting up city name, settler and stability maps. For starters many of these Civs might have to be non-playable just to get them in, but there really isn't anything preventing anyone from making any Civ playable. Its more or less only a matter of time and energy, so you're right about the collaborative approach.

There isn't anything stopping anyone from making up their own Civs from scratch, but a good place to start would be to cannibalize other mods and modmods. (I've already mentioned RFCE and RFCA.)

But in RFC, dynamic names change. For example, Japan represents a united Japanese people while they were really just a bunch of warring states for a really long time. The same with many nations. Also, China doesn't rise and fall due to dynastic changes, they just represent a government of the Chinese people no matter who the ruler.
This is of course something that would be addressed, by making collapses and secessions - and respawns - more commonplace. More rise and fall, more flow. It would be necessary in order to give room for all those Civs, even if most of them might end up being short-lived. The default state for any region on the map would probably be a muddle of independent cities (due to secessions), but new major Civs would also be popping up all over the place, all of the time. And some would prove themselves viable for the ages. The result would be something resembling a game with countless Civs, as the roster would always be filled with various Civs and the player would be encountering new ones all the time. And old Civs would also reappear out of nowhere, just as they would only have been dormant for a while.

Another idea is to increase the number of independents from two to three, or maybe even to as many as five. :eek: This shouldn't be very difficult to achieve even if it would cost some precious computing resources. It should be sufficient to give the impression of every single independent city or city confederation being its own entity.
 
I like this, but I wouldn't like to see many different Chinese States in the late 1900's into the 2000's, not very historical(or English/British for that matter[or Italian]).
That might be one possible outcome, yes. But while not very historical, fragmentation isn't an unlikely scenario. China has several independence movements and there has been a civil war in the 20th century. (One could very well say that China collapsed and was reborn under Mao, to put it in RFC terms.) Those "new" Civs would have to be renamed though, but thats what dynamic names are about. :goodjob:

And I do believe that Scotland has become more independent in the 21st century, also. The UK is still comprised of different entities and could be broken up further in the future. (Ireland did break free, for instance.) As was the case with the British Empire that became the Commonwealth. If that wasn't a "collapse", call it series of "secessions" then. Or new Civs spawning.

Decolonization is one possible outcome, also. If one would include Civs like Brazil, Canada, Australian and so on.

Thinking about it, every Civ would get several spawn dates but those would neither be set in stone or be forced. So Germany as HRE would spawn inside a 10-20 turn window if the conditions are right (the Frankish Empire is unstable or Germany isn't controlled by any major Civ), or not. And Germany would spawn again - no matter if there ever was such a thing as the HRE - in the 19th century. But only if the conditions are right. So in some games there wouldn't even be such a thing as a German Empire, even if independent cities in Central Europe would represent different German peoples. Its about alternate history and every game being unique.

But still, most Civs would appear at least once in most games. You wouldn't have to deal with these unstoppable births inside your empire as the human player.
 
the only thing i did not understood is if the code is already done...if it's done i would be glad to help adding some civilizations

(i'm not sure if this sentence is syntactically correct O_O i hope that you'll understand me XD)
 
the only thing i did not understood is if the code is already done...if it's done i would be glad to help adding some civilizations
No, unfortunately not. :p For me personally this is somewhat of a pipe-dream, since I don't know how to do anything at all in C++. I also have no clue how to add stuff in the XML. (My only attempt was a huge failure.) But eventually I will of course learn this also.

The only thing I've actually done is mod my own copy of RFC in a number of ways - almost beyond recognition. The "dynamic" rise and fall is one of the things I've toyed with, but that code (Python) would of course have to be adapted to this project and also tested. But this is the part that I believe I could do myself, with the knowledge I have today.

The whole design would also have to be finalized and put down in writing. This is just an idea right now. Some of the things that needs to be done:

- Define what the modmod will do and how it will work. Also how all that will be implemented.
- The DLL file needs to be edited to allow for the "maximum number" of Civs, is there is such a thing.
- All the resources regarding new Civs need to be collected and reviewed. There are art components, XML components and so on. A final list of Civs needs to be compiled.
- The new Civs need to be included in the XML and all the art needs to be collected in the appropriate place. The RFC Python code (first and foremost Consts.py) needs to be updated to reflect all this new material, which would be a lot! Settler/stability maps need to be added to the DLL. Its really important all of this is done in a well organized manner since all the stuff needs to work together!
- New code for rise and fall needs to be written and included. All the new UHVs and UPs need to be defined in game terms and implemented also. (Some concepts would probably have to be done in C++ though.)
- Testing, debugging and some more testing. Beta testing. Revisions. And more testing.

Its a quite large project but the way I would do it myself is to do it in stages. I would probably disable all UHVs and UPs in RFC - temporarily - and not bother with making any of the new Civs playable at first. Only once all the components are in place and working, could the bells'n'whistles be added. Probably not everything at once, though, but in stages. (Only the Civs that are being made playable would have UPs and UHVs, with the goal of enabling all of them in the end.)

What anyone who wants to help out can do right now is probably to start cataloging what materials are out there, and compile a list of all the options. All Civs should have UUs and UBs, of course, as well as quality leader heads. And the stuff needs to be final release and not beta versions with half-baked assets. There should be enough stuff out there, or so I'm thinking...

Once there is such a list, anyone is welcome to suggest starting dates (or rather windows of opportunity for a spawn), UHVs and UPs. Too many suggestions is better than too few... Discussion of game mechanics and the such is also a good place to start.

And finally - if someone else takes the reigns and actually start to work on this, I'd be glad to assist in whatever way I can. :king: Time is limited though, and I currently only do Python coding myself. But if people need stuff to test I'd try and supply them with code. Maybe make a prototype version first with only a few new Civs but with updated game mechanics? (UPs and UHVs wouldn't be of consequence either.)
 
To be honest I don't see the difference between an unplayable civ and an independent city. I think if you're going to do this all civs should be playable, even if they're extremely difficult to play. They would just provide an extra challenge for good players which is fun.
 
Also, I don't know how playable this would be on the RFC World map... it's so small. I would love to see this in RFC:E though. Then England could split into the kingdoms of Scotland, Wales, and Ireland, etc. while France could split into kingdoms such as Normandy, Brittany, and Aquitaine.
 
Yeah I suggested it to the RFCE team but they weren't interested :(. It would be good if someone wanted to make a modmod of it though.
 
Back
Top Bottom