Feeding DLL information from an external application

3335d

CCtP Player
Joined
Jun 15, 2012
Messages
642
In order to improve the speed of playing mods, especially when they are played in multiplayer hotseat/PitBoss when that is released, I was thinking that I could create an external application running on a grid-computing platform in order to process the AI and various other aspects of the game more quickly and more efficiently through various means.

However, all of the work to create such an application would be useless if the game DLL could not take orders from this application. For example, if my grid-based AI application returned data giving X build order and Y unit move order, could I get the DLL to somehow read this information? Any answer would be appreciated.

If this is possible, it would mean a true revolution for CiV modding. No longer will we be limited by the slowness of the DLL!
 
I think a decent way to do this would be by implementing a generic tcp and/or udp socket interface that can be read either in c++ or lua. I've attempted to add sockets via lua in the past, but the lua included with civ v has the needed importing functions blocked.
 
I think a decent way to do this would be by implementing a generic tcp and/or udp socket interface that can be read either in c++ or lua. I've attempted to add sockets via lua in the past, but the lua included with civ v has the needed importing functions blocked.

Thank you croxis! However, do you know of any specific means by which this could be implemented?
 
It is perfectly possible in c++ to override ai movements, builds, everything - with some modification.
But I'm afraid you'll find that writing the new grid based ai you speak of a much, much greater challenge :)
 
It is perfectly possible in c++ to override ai movements, builds, everything - with some modification.
But I'm afraid you'll find that writing the new grid based ai you speak of a much, much greater challenge :)

There is a grid computing framework already out there called BOINC, used for projects like SETI@home but perfectly applicable to an external AI application. I won't have to do any grid-computing work myself, I would just have to write an AI (which can be done with relative ease.)
 
Thank you croxis! However, do you know of any specific means by which this could be implemented?

I haven't had a chance to test this yet, but I replaced the lua library in the sdk with the generic stock one. I haven't done anything else yet though, kinda busy until winter break.
 
Back
Top Bottom