The One DLL Project

Python is SLOW compared to C++. It is the entire reason behind Firaxis designing the Callback function so you can disable the ones you don't use. Even an unused call to python (python is notified, then replies that there is nothing to do) causes significant decrease in performance.


Having the XML self-loading would only work well for using the XML data COMPLETELY in python unfortunately. And as previously stated: Python is slow. Unless you are doing something pretty simple (only happens in limited circumstances, rather: only CHECKED for it happening in limited circumstances) you will quickly slow down your game.
 
Glider, johny tells me he's contacted you, so hopefully you guys can work something out between you.

I've got an early version of Johny's code and am keeping the RevDCMWoC project on hold until we hear more about Johny's developments (in otherwords the idea has not been abandoned). Basically I'm taking the path of least resistance. I don't really want to double up on Johny's efforts which sounds basically the same as what we are trying to do is that correct? Johny has not contacted me.

Cheers.
 
I've got an early version of Johny's code and am keeping the RevDCMWoC project on hold until we hear more about Johny's developments (in otherwords the idea has not been abandoned). Basically I'm taking the path of least resistance. I don't really want to double up on Johny's efforts which sounds basically the same as what we are trying to do is that correct? Johny has not contacted me.

Cheers.
Really? Oh, ok. I'll just forward you the plans he sent to me.

And as to the previous debate, it would be much, much easier to update the DLL than to attempt re-writing the entire loading system. There would be an awful lot of work for very little actual gain, and a drop in performance. IMO, it's a great concept, but time would be better spent doing other things.
 
I just saw this thread lol. I hope to get DCM done for the WoC Lite and then merge the components you can see in its thread. RevDCM should be compatible xml wise. You do not need all of the tags in schema on xml info files to load in the xml folder with WoC. So should not be problem. I am just going to merge the code and send it up.

All of the components have been reliable in the WoC that I am sending up. The only problems have been basically beta stuff in the WoC Full dll. If you guys do not want to use it I think it is a waste. I can tell you it is very reliable but it means nothing till you try it. And you can just take a folder away to remove a component in the WoC simple as that. I can not think of more user friendly dll for changing components loaded.
 
@Johny
Yes it's a very good idea to build a WoC lite DLL absolutely from scratch and to have it very stable. Keep up the good work and we'll see how it goes. Agree that reliability should not be an issue but it's always harder than it initially appears as you will be aware.

RevDCM will keep the option of becoming WoC lite compatible medium term how about that? It really depends on long term coding support. RevDCM is commited to improving it's core components because basically one of the best modders in CivFanatics Jdog5000 uses it as his base for futher developments and his eye for quality is great. However there is no reason that same commitment will not exist in a WoC context. It probably will because of it's large user base, feedback, sheer numbers of high skilled coders and the natural spreading of working code from base to base anyway.

Basically it comes down to the truth that both a WoC approach and a hard coded RevDCM approach both have their place. Yes it is excellent to have totally pluggability, but also there are many players who just want to get down to a reliable undisputed improved BTS core and just start playing this great game. Other modders get joy out of hard coding their own mods as well and learn a lot in the process. All of it is good.

Cheers.
 
Has anyone else read this? I guess many people dismissed my PMs as spam, which is a shame.

If you have read, please feel free post your comments, thoughts or suggestions. :D

:lol: I in fact did read your pm, and I have been reading this thread too. I always love to help out, I just don't have as much time to do it as I wish I would have. I prefer to merge components which can be switched on/off from XML (except for the obvious bug fixes and AI improvements), so I think this whole project is a great idea. I'll contribute if I can, I just need someone to tell me what code to merge... :D
 
:lol: I in fact did read your pm, and I have been reading this thread too. I always love to help out, I just don't have as much time to do it as I wish I would have. I prefer to merge components which can be switched on/off from XML (except for the obvious bug fixes and AI improvements), so I think this whole project is a great idea. I'll contribute if I can, I just need someone to tell me what code to merge... :D
Glad to have your support! I'd recommend PMing glider or johny to see if they'd like a helping hand. They seem to have the technical side pretty much nailed. :goodjob:
 
@NikNaks
I am glad that you did not read my last message on this forum, as being a statement that I thought the concept is dead. It is not. It is a good concept and I will stay involved. Remember that will all good concepts, there is no time problem because the solution is inevitable.

@Ninja2
Here is an attachment of a reasonably uncluttered "woc_lite" build for experimentation, kindly supplied by Johny, as per our private messaging.

Cheers.
 
Last edited:
Well here is what I got at the moment. The first is a merge of some components. WoC Revolution, Dale's DCM, Influence Driven War, Unit Statistics, WoC Inquisitors, and WoC Super Spies.

http://forums.civfanatics.com/attachment.php?attachmentid=211659&stc=1&d=1240362033

Here is a second where I tired to merge RevDCM. I left the WoC Super Spies in it. The comments need some work maybe, but I think you can tell anyway what has changed.

http://forums.civfanatics.com/attachment.php?attachmentid=211660&stc=1&d=1240362033

There are some bugs for sure selecting scenarios still from the main menu, and of course some asserts. I will work on it some more, but figured since you guys are probably better with the code I should place them here if you guys want to try them.
 
@Johnny
Thanks for the efforts. You are correct that I can take it from there. Look forward to trying. If Ninja2 is reading this, put your feet up and take it easy for a bit while we compile and check what Johnny has kindly supplied to us :goodjob:
Cheers.
 
Feet are on the table! :D
 
I forgot the python and some art. I am just going to send the whole thing up in case.

Sorry I forgot. Finally got it uploaded.
 
The challenges of a single DLL mod base is that the most painful issues we experience aren't in a specific function, but in the way multiple functions relate to each other (as Mylon pointed out).

With consistent testing its possible to make sure each individual function works, but testing to make sure each change didnt break something else in some specific situation is impossible. That risk gets larger for each new function you add. Meaning that the more useful the new dll is (the more features it supports) the less reliable it is (the more likely to run into issues).

In other words everytime anyone checks a new feature into the shared DLL you risk creating issues in every mod that uses that DLL. Its a bad cycle.

If it were me, rather than offering a shared dll with everyones code in it I would recommend enforcing a common place and format for modders to share their source code. Provide tools and documentation to allow new users to compile their own dll and answer questions that occur. Track issues experienced with any individual mod on that mod and get the fix and new version out there so people using it can see and update to the change.

That way the code experts can easily review the code and make sure it is as good as possible, modders can get easy access to the features they want, and still not expose themselves to issues with features they dont use.
 
Well I know you guys are correct. I am not thinking a large trial and error based dll. I am thinking only a small amount components. Mainly RevDCM made modular and that is it. Testing that one dll for DCM and Revolution. I mean sure I would like more things, but not going to work.

I just see there are some mods already using the RevDCM dll. Then I thought what if all of their stuff was modular so it was easier to share. And what if they could share gamefont files. And what if they were not limited by the civic screen.

I am thinking two things coming out of this. A way of sharing things on the gamefont.tga's , and standard modules made of mods using RevDCM.

@Kael

It would be great to have a place to shared the code, but doubt it is ever going to happen.
 
Ah yes, all of what is happening on CivFanatics is good. Not just good, but brilliant. Kael is absolutely right about improving the efficiency and spread of knowledge and tools. Johnny is absolutely right that there is a place for a DLL that has the ability to plug in "light clothing" that have no inter-related impacts. Jdog is absolutely right that the core DLL AI needs more work. The big modders with the heavy weight mods are absolutely right that there is a place for that. I am absolutely correct that there is a place for RevDCM.

Personally, I think the way to go is a RevDCMWoC lite concept where a very reliable DLL can be merged within the heavy weight mods retaining a light weight WoC back end, combined with an overall commitment to sharing code and knowledge in more efficient ways. The latter is actually the most important.

Cheers.
 
Yep, am working to make WoC_lite a permanent addition to RevDCM. A RevDCMWoC build is unfortunately not the "one" solution for everything, but a good solution amongst other good solutions.
Cheers.
 
Yep, am working to make WoC_lite a permanent addition to RevDCM. A RevDCMWoC build is unfortunately not the "one" solution for everything, but a good solution amongst other good solutions.
Cheers.

There are already so many game start options, it's not aesthetic at all, and kind of muddles things. Please don't add any more options to the game start menu in RevDCM... it already looks kinda ugly, and more is going to ruin things.

You're starting to make me hate this project as it's making me think it's going to ruin my mod... :mad:

I don't want anything more, RevDCM is already on the cusp of having too much stuff in it, please don't send a base mod the way of RoM and ruin all the great merges out there....
 
@phungus420

You obviously did not try the download I made. It does not add any options to the screen. And you probably never will.:rolleyes: But you think you know already the future it seems.:confused:

And I guess you do not see any benefits from the more fonts or the better modularity.
 
Back
Top Bottom