New Beta Version - April 5th (4/5)

Status
Not open for further replies.
Since a lot of people have already chimed in on event frequency, I'll give some feedback on some of the events themselves instead. Forgive the lack of the exact event names - I forgot to write them down.

1. "Soldiers returning from the front": This one appears to only trigger once you enter your first war, which makes sense. What seems odd about it is that it never seems to stop after that. It's a little strange getting this event when you haven't been at war with anyone in 50+ turns or more.

2. Gold-spending events: Events that have an option to spend gold to purchase a building, like the Lighthouse one, do not seem to care that you even have enough to actually do so. I've been able to pay X for a Lighthouse or Grand Temple without having near the required amount in my coffers. You spend all your remaining gold and still end up with the building.

3. The Grand Temple event: This one doesn't seem to respect the uniqueness of the Grand Temple. You can choose this option every time it's available, resulting in far too many of these.
 
I'm finding the game close to unplayable at this point, I can't fight anyone at all. Some dick attacks me, I fight back, take a city, start building some warscore to get a good peacedeal and then some third party AI negotiates peace on my behalf, I mean SERIOUSLY?! Fine if it happens once or twice but this is the 8th time this game, as soon as the peacetreaty ends, which is on the AIs turn, he declares war again and gets first strike all over again. Why can the damn AI decide when they are willing to negotiate, but I'm stuck in this BS loop of never getting reward for winning a war.

I'm half tempted at this point to declare war on all the AI in the game just to see if that actually stops them from negotiating peace on my behalf, but somehow I really doubt it.


Okay, I'm done ranting.
 
Thankfully, there is a statistical formula that will return the probably of an event happening after n trials given p probability of it to occur per trial. But imo this is too simplistic an approach. Events should have a minimum length of time between them: 10 turns for example with 0%, the get assigned a small %: 0.05%,increasing by an amount each turn and eventually hitting a maximum (like 5% each turn). This way, events can be tuned to fire at reasonable rates while still maintaining some sort of randomness to their firing.


Case 1 :
The event can occur only one time.
Probability of occuring at each trial = p
Probability of occuring with n trial = 1 - (1-p)^n
Expected number of trial before success = 1 / p

Case 2 :
The event can occur only one time, but probability increase if fail
Probability of occuring at a trial after k fails = p+d*k
Probability of occuring with n trial = 1 - (1-p)*(1-p-d)*...*(1-p-d*(k-1))
Expected number of trial before success = an uggly formula
Spoiler :

Sum(n=1..N, Product(k=0..N-1, 1-p-k*d))
where N is the greater integer such that 1-p-N*d > 0

Value for d = 1% :
Spoiler :

p = 0% => 13 trials
p = 1% => 12 trials
p = 2% => 11 trials
p = 3% => 10 trials
p = 4% => 10 trials
p = 5% => 9 trials

p = 6% => 9 trials
p = 7% => 8 trials
p = 8% => 8 trials
p = 9% => 7 trials
p = 10% => 7 trials
p = 11% => 6 trials
p = 12% => 6 trials
p = 13% => 6 trials
p = 14% => 5 trials
...
p = 19% => 5 trials
p = 20% => 4 trials
...
p = 26% => 4 trials
p = 27% => 3 trials
...
p = 38% => 3 trials
p = 39% => 2 trials
...
p = 66% => 2 trials
p = 67% => 1 trial
...

Value for d = 2%
Spoiler :

p = 0% => 10 trials
p = 1% => 9 trials
p = 2% => 9 trials
p = 3% => 8 trials
p = 4% => 8 trials
p = 5% => 7 trials

p = 6% => 7 trials
p = 7% => 7 trials
p = 8% => 6 trials
...
p = 11% => 6 trials
p = 12% => 5 trials
...
p = 16% => 5 trials
p = 17% => 4 trials
...
p = 24% => 4 trials
p = 25% => 3 trials
...
p = 37% => 3 trials
p = 38% => 2 trials
...
p = 65% => 2 trials
p = 66% => 1 trial
...

Value for d = 0.1%
Spoiler :

p = 0% => 40 trials
p = 1% => 32 trials
p = 2% => 26 trials
p = 3% => 22 trials
p = 4% => 18 trials
p = 5% => 16 trials

p = 6% => 14 trials
p = 7% => 12 trials
p = 8% => 11 trials
p = 9% => 10 trials
p = 10% => 9 trials
p = 11% => 8 trials
p = 12% => 8 trials
p = 13% => 7 trials
p = 14% => 7 trials
p = 15% => 6 trials
p = 16% => 6 trials
p = 17% => 6 trials
p = 18% => 5 trials
...
p = 21% => 5 trials
p = 22% => 4 trials
...
p = 28% => 4 trials
p = 29% => 3 trials
...
p = 39% => 3 trials
p = 40% => 2 trials
...
p = 66% => 2 trials
p = 67% => 1 trial
...

Value for d = 0%
Spoiler :

p = 0% => never
p = 1% => 100 trials
p = 2% => 50 trials
p = 3% => 33 trials
p = 4% => 25 trials
p = 5% => 20 trials

p = 6% => 17 trials
p = 7% => 14 trials
p = 8% => 12 trials
p = 9% => 11 trials
p = 10% => 10 trials
p = 11% => 9 trials
p = 12% => 8 trials
p = 13% => 8 trials
p = 14% => 7 trials
p = 15% => 7 trials
p = 16% => 6 trials
p = 17% => 6 trials
p = 18% => 6 trials
p = 19% => 5 trials
...
p = 22% => 5 trials
p = 23% => 4 trials
...
p = 28% => 4 trials
p = 29% => 3 trials
...
p = 39% => 3 trials
p = 40% => 2 trials
...
p = 66% => 2 trials
p = 67% => 1 trial
...

Case 3 :
n trial, probability p, the event can occur multiple times.
Expected Value (number of time it will occur if n is big enougth) = n*p
Probability of occuring at least once = 1 - (1-p)^n
Probability of occuring exactly k time = "n choose k" * p^k * (1-p)^(n-k)
(where "n choose k" = n! * k! / (n-k)! and n! = n*(n-1)*...*1)

Case 4 :
n trial, probability p, the event can occur multiple times, and probability increase if fail, and reset if success
Too complex for me...
 
This was a test run of the events system, mainly to get feedback on timing and the UI. Now, we need more events. I'll keep adding my own, but if everyone would make one or two...we'd have a ton of events.

Maybe a thread listing all the events can be created so that we can fill any "empty" spots and also not create events that someone already created?
 
What do you mean by this?
To not create a duplicate (i suppose).
ex: if an event already improve arena, i won't create a new one that improve the arena.
?
 
What do you mean by this?

When people know what has already been done it helps them to make new ideas rather than reinventing the wheel.
 
...start building some warscore to get a good peacedeal and then some third party AI negotiates peace on my behalf, I mean SERIOUSLY?!...

Agreed. I play primarily domination games, and this is infuriating when it happens. I know one of G's goals is to not have any function player- or AI-only, but here's a solution that might mesh with his vision:

It makes sense that the winning party in a war could call off hostilities ('white truce') at almost any point. The losing party doesn't really have the standing to do that in the real world. I'm okay, conceptually, with a 3rd party AI being able to broker peace between two other players, but they should have to negotiate with the combatant with the higher War Score. In other words, if the AI is winning, they can be convinced to make peace without your input, but if you're winning, they would have to convince you in order to call the war off.
 
Agreed. I play primarily domination games, and this is infuriating when it happens. I know one of G's goals is to not have any function player- or AI-only, but here's a solution that might mesh with his vision:

It makes sense that the winning party in a war could call off hostilities ('white truce') at almost any point. The losing party doesn't really have the standing to do that in the real world. I'm okay, conceptually, with a 3rd party AI being able to broker peace between two other players, but they should have to negotiate with the combatant with the higher War Score. In other words, if the AI is winning, they can be convinced to make peace without your input, but if you're winning, they would have to convince you in order to call the war off.

If I remember well, it already work that way.
But you need at least "X" more of warscore than your opponent to be considered the "winning side". Maybe there is a need for a timer, to prevent third-party peace deal that happen before ~15 turn after the DOW?
 
Maybe a thread listing all the events can be created so that we can fill any "empty" spots and also not create events that someone already created?

The database file has all of this listed out. I'll be making a few more, but I'm serious when I say that I look to the community for this.

G
 
The database file has all of this listed out. I'll be making a few more, but I'm serious when I say that I look to the community for this.

Sounds like we should make a google doc for it. Probably a spreadsheet.

I'd love to help make historically-accurate (in name, at least) events for all sorts of different civs. Black Plague events for European leaders, invention of fireworks for China, a pair of typhoon events if the Mongols try to launch a naval invasion... looks like I need to educate myself a bit on writing the xml.
 
Sounds like we should make a google doc for it. Probably a spreadsheet.

I'd love to help make historically-accurate (in name, at least) events for all sorts of different civs. Black Plague events for European leaders, invention of fireworks for China, a pair of typhoon events if the Mongols try to launch a naval invasion... looks like I need to educate myself a bit on writing the xml.

It's quite easy, actually. Look at my samples, and everything else is described in the game events table.

G
 
If I remember well, it already work that way.
But you need at least "X" more of warscore than your opponent to be considered the "winning side". Maybe there is a need for a timer, to prevent third-party peace deal that happen before ~15 turn after the DOW?

15 turns wouldn't make a difference sometimes you have to go 30 or 50 turns into a war before you can start taking objectives. Like you know that you're going to break through, the border-lands is a meatgrinder at that point, but artillery and Gatling guns make sure it takes time.

The problem here is that you need some absurd number of warscore for the third party civs to consider you winning, and not being able to contact your enemy(or the system is just broken), at one point I was definitely over 35 WS and a third-party civ still brokered peace without consulting me. The number should really be at anything positive.

The AI also excursively deal with my enemy, as he is not willing to negotiate with me, meaning I can't offer to make peace with him as a deal (with another player). The player however can't decide to 'not negotiate' so the third party civs can always contact my enemy and bribe him.


I absolutely like the idea of third parties being able to stop wars between civilizations, but with the current 'refusing to negotiate' system it clearly can't be done fairly.
 
15 turns wouldn't make a difference sometimes you have to go 30 or 50 turns into a war before you can start taking objectives. Like you know that you're going to break through, the border-lands is a meatgrinder at that point, but artillery and Gatling guns make sure it takes time.

The problem here is that you need some absurd number of warscore for the third party civs to consider you winning, and not being able to contact your enemy(or the system is just broken), at one point I was definitely over 35 WS and a third-party civ still brokered peace without consulting me. The number should really be at anything positive.

The AI also excursively deal with my enemy, as he is not willing to negotiate with me, meaning I can't offer to make peace with him as a deal (with another player). The player however can't decide to 'not negotiate' so the third party civs can always contact my enemy and bribe him.


I absolutely like the idea of third parties being able to stop wars between civilizations, but with the current 'refusing to negotiate' system it clearly can't be done fairly.

In the upcoming version I've changed it so that there's a 30-turn 'no brokering' window, and then the AI can't make peace with a player that has a warscore of less than or equal to zero. No more 'sizable difference' stuff, just that - no brokering peace with a loser.

G
 
In the upcoming version I've changed it so that there's a 30-turn 'no brokering' window, and then the AI can't make peace with a player that has a warscore of less than or equal to zero. No more 'sizable difference' stuff, just that - no brokering peace with a loser.

I guess that's as fair as it gets.
 
In the upcoming version I've changed it so that there's a 30-turn 'no brokering' window, and then the AI can't make peace with a player that has a warscore of less than or equal to zero. No more 'sizable difference' stuff, just that - no brokering peace with a loser.

G

Shawty u da best.
 
Gazebo, is it possible to events appear even with BALANCE_CORE_EVENTS set do "0" ? My friend and I were playing MP in the Japan map, both with balance core events set to 0, and after about 30 turns he got a "The kyoto river flooded, and destroyed 3 farms around the city" (he was Oda Nobunaga and the game Host). Both of us also cleaned the cache before start the game... :confused:

If it's necessary i could start another game (in the same conditions), enable logs and send them... ;)
 
What do you mean by this?

For example, if there are eras that don't have events, or buildings that could use one, etc.
 
Gazebo, is it possible to events appear even with BALANCE_CORE_EVENTS set do "0" ? My friend and I were playing MP in the Japan map, both with balance core events set to 0, and after about 30 turns he got a "The kyoto river flooded, and destroyed 3 farms around the city" (he was Oda Nobunaga and the game Host). Both of us also cleaned the cache before start the game... :confused:

If it's necessary i could start another game (in the same conditions), enable logs and send them... ;)

No, it is not. It sounds like you didn't save the value properly.

G
 
Status
Not open for further replies.
Back
Top Bottom