DoC 1.14 Released

I might play DoC again, it's been a long hiatus.
 
By the way, the installers have been updated by now to include the fixed Varietas Delectat module.
 
Multiplayer does not work in DoC, there's a fairly recent thread where someone asked the same question, you can find more details about that there.

Other than that you are left with the MP version of regular RFC. I'm not very familiar with it so I don't know what the most up to date version of it is.
 
The MP version of regular RFC is quite and outdated, but the guy in the thread FreeTime linked is making a modmod of it with bugfixes and improvements and stuff.

With all the DoC modmods flying around these days it might be time for one that tries to make DoC multiplayer compatible. I mean how hard can it be? Leoreth already streamlined a lot of stuff and much of what was hardcoded into the DLL by Rhye has been moved to Python. Basically one would just have to change every part of the code that assumes only one human player, right?
 
I don't know and that's actually the worst part of it. Finding out what needs to be done is most of the work. I don't know what RFCMP changed compared to the regular mod but that would need to be done for DoC as well. Maybe there's some stuff around that actually needs to go through the network layer.

I'd appreciate a modmod for this although it'd have an even easier time after I've rewritten the Rise and Fall code.
 
The MP version of regular RFC is quite and outdated, but the guy in the thread FreeTime linked is making a modmod of it with bugfixes and improvements and stuff.

Well, "is making" is probably the wrong tense as I don't expect to make further contributions there. (It's not as if I made any significant improvement there anyway.) I would actually prefer to help make DoC multiplayer compatible since regular RFC is practically obsolete now. This brings me to...

With all the DoC modmods flying around these days it might be time for one that tries to make DoC multiplayer compatible. I mean how hard can it be? Leoreth already streamlined a lot of stuff and much of what was hardcoded into the DLL by Rhye has been moved to Python. Basically one would just have to change every part of the code that assumes only one human player, right?

This is what probably got me interested in civ4 modding, I wanted to play DoC in multiplayer and I started with the same thought. ("I mean how hard can it be?")
And it turns out, well, a bit harder than expected. There are literally hundreds of small changes Rhye made to RFC in process of making it multiplayer compatible.

I started by adapting Python code and by using a basic trick from OOP I got all statements of form similar to utils.getHumanID() == iPlayer to work with any number of human players in that same form. (That was on v1.12.) Autoplay would probably need much more work (I didn't understand how this worked then and haven't checked since) but everything else in Python is not really that problematic if you disable congresses/trading companies/etc. and leave that for later.

A few days ago I realized that maybe AP/UN code (while looking at it for a completely unrelated reasons) could be "easily" adapted for those by simply making each such vote/dialog/whatever a "resolution" because it seems that the underlying code allows for unlimited number of resolutions and "votesources". (This way one could skip having to deal with networking code by reusing existing procedures automatically.)

But the problem is that it's really hard to tell what works and what doesn't. Because DLL remained incompatible with multiplayer, I could only test whether my changes broke singleplayer and not whether they truly worked in multiplayer. What I didn't get to (and what I fear might constitute most of the work) is adapting DLL code for multiple human players. I didn't even truly check how "bad" the current state of it is with respect to multiplayer compatibility, but the sheer number of changes Rhye made there was discouraging.
 
Do we have the RFCMP source? Also I wouldn't put that much stock in Rhye's code, he's not exactly known for concise and elegant solutions.

I would really advise against using VoteSource as framework for the network layer. The layer itself is not that hard to use anyway, the problem is just that a lot of stuff that is currently exclusively Python needs to be routed through the DLL I think. Unless networking is exposed as well, I really don't know anything about that.

How would autoplay work in MP in general? Do other players sit in autoplay while their opponents already play?
 
IIRC, there isn't any autoplay in RFCMP. You have to play as civ A and later switch to civ B if you want to play as civ B. (But you can switch infinite times)
 
And the 600AD scenario has a bug that breaks it for PBEMs.
 
Please attach a save from before the crash happened.
 
Do we have the RFCMP source?
Yes.

How would autoplay work in MP in general? Do other players sit in autoplay while their opponents already play?
In RFCMP you cannot enter the game if your civ didn't spawn so you wait until that happens and then join the game. (At least that's how it works with pitboss host.)

Also somebody has to take one of 4 first civs (even with pitboss) for the game to start, although with pitboss there are workarounds I used (kicking all human players from pitboss causes all AIs to autoplay and you can pause the pitboss when a new civ spawns to enable a player to take it over, but this way the AI still plays the first turn of later spawning civs.)

All this could be solved by making AIs autoplay when there are no humans alive in multiplayer and by making all civs "alive" in a sense that they're always selectable in login screen (as is the case now in DoC or singleplayer RFC).
 
Perfect. I just got over my CK2 phase (preceded by my EU4 phase, which was caused by my utter failure to get my Civ4 mod anywhere).
 
Have you removed 1.13 before installing?
 
The new version is now officially released.

You can download it HERE.

As usual, the download includes the installer with all modules updated to 1.14 where necessary. The modules can be downloaded separately from Github as well, see the links in the introductory thread.

Thanks! just started playing this last week!
 
Back
Top Bottom