Flip Calc - Calculates the probability of culture flips

anarres

anarchist revolutionary
Joined
Apr 22, 2002
Messages
6,069
Location
www.civ3duelzone.com
Edit: I will always have the latest version linked in to the first post so you don't have to go looking through the thread for it...

Please note that Version 1.5 contains a significant change to the distance formula, you should update to this version straight away.

Version 1.5




'Distance' dialog:


Change list:

- Changed distance formula from:

to: max(x,y) + 0.5*min(x,y)

1.4 (22nd June):
- Added a 'Minimum Garrison' field.
- Made the whole form dynamic. If all fields have valid values the calculations will be done automatically. If any fields are invalid 'n/a' is displayed, click 'Calculate' to see which one.
- Culture numbers now can be decimals instead of just whole numbers, this is so you can enter a ratio in like 2.5 : 1.
- Distance dialog box now keeps it's data when you close and re-open it.

1.3 (15th May)
- fixed some annoying bugs

1.2 (15th May)
- added new form to allow better entry of distance
- changed icon

1.1 (14th May)
- Added error checking
- Added cumalative probability of flip

1.0 (13th May)
- First version
--------------------------------------------------------------------------------

Taken from the FAQ:
How many units do i need to suprpess a culture flip?
  • the full formula (this is from Sorenson, who is responsible for this programming):

    P=[(F+T)*Cc*H*(Cte/Cty) - G]/D

    where:
    P = probability that it will flip this turn
    F = # foreignors, with resistors counting double
    T = # working tiles under foreign control (out of the max of 21, no matter what the cultural boundaries are atm)
    Cc = 2 if foreign civ has more local culture than you, 1 otherwise
    H = .5 for WLTKD, 2 for disorder, 1 otherwise
    Cte = Total culture of the foreign civ
    Cty = Total culture of your civ
    G = # garrison units
    D = factor based on relative distance to capitals

    Now reorganizing this gives the required garrison as:
    G = (F+T)*Cc*H*(Cte/Cty)

    As you can see there is a nice set of extra factors there. Now when you take a city Cc is likely to be 2 for a long while. And then there is the culture ratio. And this is a true ratio so it could be 1.1:1, 2:1, 5:1 depending on how much culture each of you has.
  • According to this, the factor D is a crucial scaling variable that will enable us to work out the exact chance of a culture flip, since all other factors are known. 'D' should really be written 'n*d', where 'd' is the actual ratio of distance to capitals, and 'n' is the scaling factor.

    P=[(F+T)*Cc*H*(Cte/Cty) - G]/n*d

    My ultimate goal is to produce a 'Flip Calculator', an in-game tool that will allow you to select a city and give you the chance of it flipping to each civ.

    The exact culture score of an opponent is a slight spoiler, as is the existing culture of a city you capture, so in honesty a 'Flip Calculator' would not be 'pure' (usable in GOTM and tourney) if it gained this information in game. You could still have a manual entry for these which would allow a non-spoiler version, and you could estimate the relative culture ratio fairly accurately.

    Does anyone know what the value of 'n' is? If not I will run some scenarios to determine it, it shouldn't be difficult, just a little time consuming.
 

anarres

anarchist revolutionary
Joined
Apr 22, 2002
Messages
6,069
Location
www.civ3duelzone.com
Yay! Thanks DaveMcW! [dance]

I *knew* I'd seen it somewhere. ;)

Looking at the original Apolyton thread 'n' (as it is in my forumula) is definitely 2000, and 'd' (in my formula) is the ratio of distance to capitals, capped between 0.25 and 4.

hehe, calc ahoy!

My first attempt will be a windows app with manual fields to enter the variables in. The second will hopefully integrate with civ and allow you to dynamically select a city to evaluate.
 

wilbill

That Old Time Religion
Joined
Nov 18, 2002
Messages
2,513
Location
North Carolina
Good luck with the project, Anarres. I've developed a pretty good "feel" for when there's a danger of flipping and am not wrong often, but it still happens.
 

Chieftess

Moderator
Retired Moderator
Joined
Feb 10, 2002
Messages
24,160
Location
Baltimore
Drat, there goes another attempt for me to create a civ related program. :p (atleast Visual Basic is the quick way...)

Thread moved and title changed.
 

anarres

anarchist revolutionary
Joined
Apr 22, 2002
Messages
6,069
Location
www.civ3duelzone.com
Thanks CT! :love:

I probably will do the first version in VB, just to get it done quickly. ;)

For the second version that ties in with civ I am fairly sure that I will need to use C++ to properly access the memory stack.
 

Chieftess

Moderator
Retired Moderator
Joined
Feb 10, 2002
Messages
24,160
Location
Baltimore
I've been trying to write a dialog-based app in C++ for ages, with no success (very little tutorials. Never learned it in college... Ask Sirp. ;)). I can do it in C++ too. (besides, I'm sure someone's going to find out how to access the cities in the save before I do...)

Well, neither Borland nor Visual C++ want to link correctly... :wallbash:
 

anarres

anarchist revolutionary
Joined
Apr 22, 2002
Messages
6,069
Location
www.civ3duelzone.com
I can do C++, I just use VB for utils with graphical interfaces.

To give meaningful data the latest version will have to work on the active memory itself, reading the values as the game is playing. Having to save a file and check it will be far to cumbersome. I know this is possible, SpiderZord is writing a GOTM logging utility that does it. :)
 

Chieftess

Moderator
Retired Moderator
Joined
Feb 10, 2002
Messages
24,160
Location
Baltimore
And here it is. I'll be moving this to the Utilities forum next. ;)

Chieftess' Civ3 Culture Calc

Note: It's **VERY** crude (and thus, **VERY** beta), since I'm still trying to figure out how to work MS Visual C++. (anyone have any sites for dialog programming?)

As for the active memory, I have NO idea how to even use that, or even have a DirectX program within a DirectX program. I can't even program DirectX well...
 

Chieftess

Moderator
Retired Moderator
Joined
Feb 10, 2002
Messages
24,160
Location
Baltimore
Originally posted by zulu9812
nice hijack Chieftess ;)

I figured you were coming with your wrong forum animation. ;)


anyway, the thread with my version of it is here.
 

Chieftess

Moderator
Retired Moderator
Joined
Feb 10, 2002
Messages
24,160
Location
Baltimore
Originally posted by Plexus
I know yer name! :evil:

Nice program, ct.

Now all I need is Spycatcher's name and then... :mwaha: (running gamecatcher between anarchywrksbest and spycatcher34).

Well, let's get this thing back on topic.
 

anarres

anarchist revolutionary
Joined
Apr 22, 2002
Messages
6,069
Location
www.civ3duelzone.com
:cry:

So can I pick this up or have you claimed it for yourself CT??
 

Chieftess

Moderator
Retired Moderator
Joined
Feb 10, 2002
Messages
24,160
Location
Baltimore
You can pick it up. There can always be 2 versions. :)

Medium or supersized?
 

anarres

anarchist revolutionary
Joined
Apr 22, 2002
Messages
6,069
Location
www.civ3duelzone.com
Well, here is my version 1.

Note: There is no error checking on any of the fields yet. The calculations seem to be fine, and it even remembers to cap the distance ratio for you if you enter in a value outside the 0.25 to 4 range.

Negative values for the flip chance should read 0.00%, stupid formatting on my part...

If you use it please post any bugs here.

The next version will have full error checking in, and it will allow a decent input system for the distance ratio (should have NW-SE distances for both human and AI).

Please also note that it was written in VB6 for development speed. ;)
 

Attachments

  • flipcalc.zip
    4.7 KB · Views: 530

anarres

anarchist revolutionary
Joined
Apr 22, 2002
Messages
6,069
Location
www.civ3duelzone.com
Here is a screenie:

 

Moulton

Monarch
Joined
Nov 21, 2001
Messages
810
Location
Kentucky
Anarres -- could not find yours to download....

I still believe that the final datum is the Jokers-Wild random chance of flipping, no matter what else is happening. I have taken to leaving only one unit in a city once the resistance is quelled.
 

anarres

anarchist revolutionary
Joined
Apr 22, 2002
Messages
6,069
Location
www.civ3duelzone.com
Moulton, the file is *attached* to post 16. (3 up from here).

Please post comment/feedback. I guess CT will get the popular vote, but it would be nice if *someone* found a use for mine. ;)


Edit: I also linked the attachment in to the first post, that can act as a pointer to the latest version...
 

Moulton

Monarch
Joined
Nov 21, 2001
Messages
810
Location
Kentucky
Thanks, I will try both. Wish I had thought of it :(
 
Top Bottom