[BtS] JCultureControl: Beyond City Borders

Well, to quote the second sentence in the thread's opening post.
The range that Culture Borders expand from the Improvement is set in a new CIV4ImprovementInfos.xml tag.
 
Ok, an update.

I have the other components done, so I'm back to this.

Having had a little while to look at this mod and mull it over, I've decided to rewrite it somewhat.

Currently I store the Culture Control Owner of a plot as a PlayerType enum variable. Instead, I'm going to change it to an array of Culture Control Counts for each Player. I think Plot Visibility is done is a similar manner.

This is going to be a bit of a rewrite, but I think it will be simpler, more efficient, and much easyer to interact with from python.

I am busy with RL this week, so give me a bit to get this done. I'll post an update when I get to the testing phase.
 
hi jeckel,
i have a q',

what does the tags in the globaldefinesalt does?
CVAIAUTOPLAY_POPUP_DEFAULT_NUM_AUTO_TURNS

CULTURE_CONTROL_IMPROVEMENT_CULTURE_BORDER_SQUARE

CULTURE_CONTROL_IMPROVEMENT_REMOVED_DEFAULT_UPDATE_RANGE

?

could you please elaborate for me..
i kinda ddint understand it right i think,

thanks buddy :)
 
No prob, this should have been in the API PDF, and it will be when the next version is released. Until then, here you go.

CVAIAUTOPLAY_POPUP_DEFAULT_NUM_AUTO_TURNS
If the AIAutoPlay python files are used, this will be the number that is in the 'CTRL + SHIFT + X' popup if no other value is available.

CULTURE_CONTROL_IMPROVEMENT_CULTURE_BORDER_SQUARE
If this is 1 all improvement borders will be square. If it is 0 then improvements with a Culture Control Range larger then 1 will have there borders in the Fat Cross shape.

CULTURE_CONTROL_IMPROVEMENT_REMOVED_DEFAULT_UPDATE _RANGE
When an Improvement is Removed, this is the default range out from the Improvement that will have its Culture Control check to see if it needs to be updated.
 
Its been a few days and I have a couple minutes while the DLL compiles, so here is an update.

I'm finishing up an almost total rewrite of this mod. So far, this new implementation seems to be much more effecient and stable. I've seem to have solved several of the issues I and others had noticed about culture that won't go away.

For the mergers that are adding this to their mods, I've removed alot of the old functions and added a some new ones. Now its many just a clone of the Culture code. What functions are in there are now a little more intuative in the arguments they take. Shouldn't be to hard and should work alot better now.

Look for a release some time next week. I may release a beta of it earlyer to get some testing done on it if it turns out I won't have the time to test it fully myself.
 
Since day one, the number one thing I have missed in the game is Forts the project Culture Borders. As my list of mods in the DataBase can attest, I've made many attempts in Python to add that functionality. They succeeded and failed to various extents, but each one was a little better then the last. So it is no surprise that I didn't hit the nail on the head my first time trying this in SDK. However, I and a few people I've discussed it with agree that this is the correct impementation. Just want to apologize for sloppy first draft. :king:

This being my dream mod, I had to work it out first, but Improvements spreading Borders is not my accual goal with this mod. My origional intention is to give Units the ability to spread Borders around them.

I have some general concepts floating around my head on how this would work, and the way Improvements work to start with, but I was wondering if anyone else has any ideas about Units projecting Culture Borders?
 
hi j',

well i cant wait for the next release !

units thats spread culture...hummm..interesting idea,
perhaps create a designated unit that have an ability to perform culture mission,
and say when you press it, the unit stands like in fortify/sleep option, it emits culture over some square tiles, and when you move it/take it out from fortify mode, the culture dissapears untill you fortify it aagin ?

:)
 
Alright, got alot done tonight. I uploaded a Beta of the next version and attached it to the second post of this thread. If I could get some people to download it, try to break it, and let me know what happens, then I will release it when it gets the all clear. :)
 
I'm not sure about units spreading culture in general, but one thing I would like to see is the culture of improvements depending on the strength of their garrison.
 
I'm not sure about units spreading culture in general, but one thing I would like to see is the culture of improvements depending on the strength of their garrison.

As to the general concept of Units spreading Borders, it obviously wouldn't work for all mods and definetly wouldn't work if all units could do it, but to allow say a Camp Unit, like in the Warlords Barbarian Scenario, or a Starbase Unit, like in BtS Final Frontier Mod, to emit some Borders would be ideal.

But I like your idea, maybe some UnitInfo tag, CultureControlRequiredImprovements, which lists Improvements that must be in the Units Tile to apply its CultureControl Bonus. Add to that Keldath's idea to require a number of Turns before the Border appears, and add an idea I had to make the Borders grow to their Max Range over those Fortifing Turns.. and I think this is starting to sound interesting. :king:

EDIT: Just to point out, Unit and Improvement Culture Control will be added together and the total used to determine if any given Tile gets a Border.
 
K yall, final update before I release the next version.

I've been AIAutoPlaying and bug hunting all day. I believe I've gotten the mod as stable as it can be. Air Bombing, Spy Sabataging, Unit Pillaging, Worked Improvement Upgrading, Unit Improvement Building, World Builder Improvement Placing, and Advanced Start Improvement Placing all seem to be working without error.

So far, it has AIAutoPlayed through several 100 turn games with out problems. I'm doing a 500 turn game now and plan a few more of them after that. Once the 500s are done without any thing going wrong I will do the ultimate 1000 turn test. If that goes alright I will release version 2.000.

I have the Mod's API and Readmes updated already. I will be updating the thread and uploading some new Screen Shots either tonight or tomorrow. :)
 
New v2.000 uploaded and linked in the opening post.

Note that the Rules have change slightly, Rule 2 and the new Rule 2.5.

I am going to take a break from modding for a few days and play some Civ4, but my next step is to combine JCityLimit, JRouteNative, JImprovementLimit, and JCultureControl into one ModComp.



As to the next version of this, with Units spreading Culture Control, that is just now in the Conceptions Stage and is not planned for any kind of release until later this fall. Until then, barring any glitches or bugs popping up, this will be the last version for a while.
 
Nice development, Jeckel! :goodjob: I will definitely add this for Forts eventually in my mod, along with some of your other components.

Units spreading culture... don't we have Great Artists for that? :p

I'm working on allowing improvements to give movement bonus... any hints for that?
 
nice work with the improvements! Now here are some ideas about Units spreading Culture:

Land units should be able to take over territory without capturing cities - meaning you place your unit on a valuable resource, choose the new command (which can be smtg like 'claim territory') and in the next turn you have that tile in your borders. If the tile was neutral - you just get the tile in your borders; if it belonged to other civ - war is on! After moving the unit from that tile it stays inside your borders until someone else comes and 'claims' it.

This would require that culture spreading from cities (and/or improvements) cannot move borders anymore. It can conquest the neutral lands, but cannot move the border shared with an enemy (or friend). This makes it more realistic - imagine Germany building culture improvements (like libraries and monuments) near its borders just to take some of the French border territory!!! Without a single warrior! This behaviour could be activated later in the game, let's say after discovery of Nationalism or smtg similar. Until then - the old "culture spreading territory" concept could be used.
 
Hi Jeckel, is there any way this culture spread from improvements mod can be adapted to the FF mod so it replaces the Starbase culture that currently exists? i suppose it could also be used for improvements outside of cultural borders ie the extraction facilities.
I'm fairly sure it can but i lack the required Python skills (ie i have none) and have only limited xml skill.
Any chance of a Final Frontier version?
 
Just curious, can this mod be tweaked so that a specific road type generated culture outside of a city? E.g. Railroads only?


Similarly, could it be tweaked so only worker-laid towns generated culture, but could be built with zero-cultural presence? EDIT: I see I can look to an early mod from TheLopez to do that.

Are there any potential conflicts with the Influence-driven war mod?
 
Back
Top Bottom