Orions Mod Collection

The development of the SDK version of Mine Warfare sufferred a major setback, as it failed to meet the standard performance criteria I wanted, when playing a huge map and 12 players. It was better than version 2, but not good enough get past round 600, without rounds taking over 5 minutes each. All is not lost though. I have another approach to trigger mine detonation that may solve the performance issue in the late game. Result is: The next release of OGI may be delayed for quite some time. :(
 
Would limiting the number of mines in use at one time help?

Large numbers of mines is part of what makes Mine Warfare interesting and challenging. The path I am going to pursue is getting away from checking each and every unit's movement and moving towards how opportunity fire works in DCM. The historian and I believe that will solve the performance problem. It's just going to take time to set up a test.
 
Testing proved that the opportunity fire code did not work for Mine Warfare. Later on I discovered the on move function was not causing the performance problem! :dance:

Indeed the performance improved dramatically, when I disabled all of the the mine distibution functions in Python. I have converted most of these python functions to the SDK. Testing was a huge success. Instead of the game failing to get beyond turn 700, without taking 5 minutes a turn and getting stuck in a loop at turn 773; the mod now rips through all 12 players in about one minute per turn! One minute per turn is an acceptable wait time for a game played on a huge map with over 300 cities and hundreds of units. So, the SDK version of Mine Warfare passed the performance test on my old PC! :dance: I can only imagine how fast it will perform on a more modern PC with a faster processor.

The only thing I'm not happy with is the overall distribution of Naval mines between the AI cities. I want to spread them out more. This is really a minor issue, when compared with all of the problems I have overcome to this point. Explosions were happening every turn, as foriegn units entered several plots, each having an invisible mine. The distribution of land mines is spread out evenly. All that is left to do is fix the distribution of naval mines. I can finally see the light at the end of the tunnel and its not a train casting the light. I should be able to conclude Phase 21 of my SDK project soon and move on to the migration of the rest of OGI into this mod. Mine Warfare will be my crowning achievement.
 
Good news! I have fixed the AI Naval mine distribution problem. My new approach not only works, but the performance has improved as well. Mine Warfare is finally doing what it was designed to do. After months of work, this is a dream come true. Testing will continue over the next couple of days to insure a bullet proof addition to Phase 21 of my SDK project.
 
I have converted the python plot rating function over to XML and SDK. New XML tags were created for terrain, features and improvements. This allowed single line SDK lookups, as opposed to loops, to determine the overall plot rating. Performance has improved dramatically. :)

The new SDK code for the distribution of mines has tested successfully and is now complete. :dance:

All that is left now is the conversion of the Mine Sweeper python code to SDK. This is the code that establishes a search pattern in the hunt for enemy mines. Once the SDK hunt code is done and tested, then Mine Warefare will be ported over to my Big SDK project.

Lastly, all remaining OGI mods will be migrated into the project and my dream mod will be complete and ready to be published.

Take note Firaxis: This new BTS version of OGI will be what Civ5 should have been.
 
Hope ya get it done by this weekend. Gonna be moving next week and ISP wont be available for a while. Hope it works great!
 
Will you be re-releasing Mine Warfare as a modcomp once testing is complete? I'd very much like to be able to merge it with one of my projects. I haven't merged the older version because I'm veering away from Python modcomps in favor of SDK-based ones in favor of speed.
 
Will you be re-releasing Mine Warfare as a modcomp once testing is complete? I'd very much like to be able to merge it with one of my projects. I haven't merged the older version because I'm veering away from Python modcomps in favor of SDK-based ones in favor of speed.

There are at least 21 different mods included in my latest SDK project. The plan is to release Mine Warfare as a part of my major upgrade to OGI. Many of these SDK mods require changes in Mine Warfare to make them work properly. For example, the combined forces mod requires SDK changes to insure a single mine does not take out an entire Army. That simply would not be realistic. So you see, Mine Warfare can't be released as a separate mod comp, as it is deeply involved with other mods. I will have the SDK well documented, for those who wish to make an attempt to extract Mine Warfare for their own purposes. Be for warned, Mine Warfare is not a small project, as many files have changes. Like you, I feel the need for speed. Migrating the code from Python into the SDK has met my performance goals. The SDK changes will also create a unique version of OGI that will be unlike any other mod ever created for Civ4 BTS. ...and fun too; which is what this project is all about.

After several private discussions, there is a need for human players to have a scan feature that will be used by the Sweeper unit to help detect the location of enemy mines around nearby plots. The SDK already detects mines within a 3 plot radius for the AI. The scan is another development that is required to make the hunt for mines more interesting and to give human players the same search capability as the AI has now.
 
I will have the SDK well documented, for those who wish to make an attempt to extract Mine Warfare for their own purposes. Be for warned, Mine Warfare is not a small project, as many files have changes.

I'll be totally taking a crack at this as soon as the new version is released. :) I bet I'm going to have to race stolenrays to it though.
 
Back
Top Bottom