Greetings. Appreciate all comments concerning "The Black Swan" on the Steam forum for AWAW (
https://steamcommunity.com/sharedfiles/filedetails/comments/2422701461). But, again, due to the irritating character limit there, I've decided to answer them here. Just too hard to express anything deep with such a limit. Here are some thoughts about recent comments:
Am really liking the feedback so far. Here's what I think about them:
General Comment: most of the events you've all described seem pretty good for the causes and responses. After a discussion of your suggestions, I'm adding a selection at the bottom. It's my attempt to "synthesize" the responses into a coherent yet streamlined design I can quickly code in the least amount of time/testing.
"In-Game Events" (
man, we need a better name for these - "Acts of God"? "Deus ex Machina"? ???) - are structured in a similar fashion to the Black Swan Events, although the latter are designed with very specific, heavy-hitting impacts. The IGE (forgive me) are more modest in outcomes (in most cases, but not necessarily a requirement).
Here is the 5-step process the mod uses to complete an In-Game Event - each will follow these steps until one step fails or the event is fully processed with an impact.
1. Instigator: this is the in-game event that causes the entire process to start
2. Assessment: this is the "qualifying" process. For example, if we have an event that impacts ships at sea and the experiencing civ has no ships, it is not "qualified" to experience this event.
3. Assignment: this is the decision process used to decide which specific bonus or damage to be imposed - based on various conditions (many Events have several possible bonuses/penalties)
4. Impact: these are the "specific" impacts assessed to the civ experiencing the event - i.e. exactly how much the bonus is or exactly how bad is the penalty. It is possible, even after this step is fully completed, that no "actual" impact is experienced.
5. Response: this is what the mod prints out, pops up, etc. If no "impact" is experienced from step #4, then this step probably won't happen, as "technically" no event took place (no impact = no event)
So, as we seek to expand In-Game Events, we need to be mindful of these steps, particularly #1 and 4.
Another small thing to keep in mind: currently, there are 32+ Black Swan events. In a Marathon speed game, you can expect an event roughly every 30 turns (~10 turns for Quick) - possibly even fewer. So, if the game runs 1000 turns, you can expect to experience about 16 good and 16 bad events (the game's poor random number generator notwithstanding). So, you won't necessarily see even half of these events in a game, as many of them can repeat. As more events are added, this dynamic increases.
Response to Black Swan Event Comments:
From KiwiSteve:
1. Black Death: I believe this is a solid "Black Swan" event. I like the idea of separating this from your everyday plague. It stands out in history in a way that other plagues do not. I like the idea of spreading to nearby cities (and cities attached via trade routes). I'm not 100% on a "multi-turn" event. For example, the original Black Death traveled from the Urals to the Outer Hebrides in about 5 years. Both the Spanish Flu and Covid 19 (both not quite Black Death league, though) traveled the globe in months. Perhaps this event's "reach" should depend on game/player Current Era? So, while I'm not keen on multi-turn events, I can easily see something like this: In Ancient Era, the BD is twice as damaging as the worst plague, but does not attempt to spread to another city. In CLASS, it goes to the nearby cities (any civ owner) with 6 tiles. In MED is goes out to 10 tiles + land trade routes. In REN it goes out 14 tiles, + all trade routes. In Industrial - Modern, 20 tiles + routes. And in Atomic and later, 30 tiles + routes. And by "reach" I mean that each city within this range from the originating city, I mean there is a change the BD strikes there. As the range increase, the chance to infect and damage decreases.
---> Not sure if I want to go the way that if a city at a range from the originator gets infected, it starts the entire process again, although there's an historical argument to be made for that.
---> Am wanting to avoid multi-turn events of any kind but it's not impossible. This is one of the reasons I'm considering the "declining damage" approach described in the main paragraph
2. Positive Omen - "100% combat strength in that turn only." I didn't catch what was the instigator? A DoW? Some kind of "Holy War"? Omens are a unique type of Black Swan event called "Mirrored" event. This is because there are both positive and negative outcomes associated with Omens. Currently there are 9 types of Omens: Comets, Solar Eclipses, Lunar Eclipses, Blood Moons, Ravens, Vultures, Herons, Blood Rain, and Sun Dogs. As Black Swan events, they each have their own icon. Generally speaking, they generally all provide an equal bonus or penalty - which is an adjustment to Food, Production, Culture, and Golden Age points. In Medieval and earlier Eras, Omens are almost always bad (penalties). In Renaissance and later Eras, they are good (bonuses) 75% of the time.
So, if one of the bonuses of an Omen would be a combat bonus, how would this fit into this framework? I can indeed see a similar bonus before the Battle of Mortimer's Cross, where Edward IV used the event to inspire his troops (and to give him a cool personal emblem). Is this what you had in mind?
3. The impacts of the Maunder Minimum are indeed global, but I haven't fully decided if some civs should be hit harder or not. And if so, under what criteria? I.e. do I take advantage of this event and "punish" the top three on the score table, especially if one of those is a human player? Etc.... I had originally decided to never use "multi-turn" events. But, it's quite easy to decide a persistent, residual penalty for a few turns (especially if the event hits in early game). Perhaps a few food per city per turn lost, albeit at a smaller amount than the initial turn - and again mitigating for AI and even more for poorly-performing AI. I'm leaning to fewer turn length in earlier Eras, and longer turn lengths in latter Eras - say 3 turns Ancient, 10 turns Industrial, and 20 turns Atomic and later. Keeping in mind, the penalties - if kept consistent - will be quite painful in earlier Eras, but not necessarily so in later Eras.
I'm also undecided about overall impact: should all cities on the map be hit? Equator hardest? or the Poles hardest? Coastal cities harder than interior or the opposite? The current version of the penalty makes it random across the map as to which city is hit - and with the "mitigators" (buildings that help against drought mostly) much more effective than usual (i.e. the mitigations for having these buildings is much more effective).
As you can see, this particular event needs a little more thought...
4. When the "Great Flood" event is selected, it looks at all the cities in the civ, and if it finds a city either on the coast or if it has more than 0 river plots. If the city fails a "chance of impact" test (usually near 30%), the mod moves on to the next city. Doing this test in this order means that older cities (the list is processed in the order the cities joined the empire - either through settlement of conquest) tend to get hit more often. It's quite possible that no cities fail the "chance of impact" test, meaning this event has no impact, so it doesn't reset any "minimum turns between event" trackers. If the city selects is coastal (bordering a body of water at least 100 tiles in size), then a "Great Tsunami" hits the city. Otherwise, a "Great Flood" does. The damage is the same, even if the icons and verbiage is different.
Now as to tracing a path "downriver" from a flooded city, I'd have to think about that. I can imagine a "brute force" way of doing it, but I'd have to look around for more elegant examples out there. I can imagine the flood downstream would have a chance to damage improvements, and cities downriver also have an impact similar (possibly worse) than the originally-flooded city. I like the idea, but now I need to see if I can actually code it...
5. The version of the mod I'm working on now does indeed have a feature of producing a Notification of an event impacting other civs. Currently, you need a Diplomat/Spy in the capital city of that other civ to get this information.
I've thought about a situation where you civ has a spy in a non-capital city of an impacted civ, and letting that spy send up a Notification that only informs you an event occurred in that other empire, but with no results data other than "mild - bad - catastrophic". I've also thought about making this data "less than 100% accurate" based on vague concepts of how well a civ knows another civ, but haven't taken it any further.
6. The Volcano is set at 4 tiles, with degraded damage to the city/improvements the closer it gets to 4. In other words, being adjacent is catastrophic - where up to 80% of the buildings/people/improvements could be destroyed (the damage is randomly calculated on an "up to 80%" basis - it is often much less). Two tiles away degrades the upper limit to 60%, 3 tiles is 40% and 4 tiles is 20%. Based on how Vesuvius treated Pompeii vs. Neapolis, it only seemed logical to me.
7. Exhausting Resources? I'm not a fan of this for strategic resources, as it seems counter to the game design (strat resources don't exhaust, not matter how many miles the tanks and battleships run). And since sooooo much happiness is tied to luxury resources, this also seems counter to design. I'm fine with some of the thing happening in the "Resource discovered and/or exploited" IGE described below), but I think exhausting resources is damaging to the game balance/design as the game progresses.
8. I like the idea of exposing Trade Units to all kinds of abuse. But, I haven't explored the exact methods to do so. So, yes, Cargo Ships will have a chance to be destroyed by Storms at Sea (if I can figure out how). I suppose I'll need to look at other events and see if the Caravans can also be removed (again, if I can figure out how).
9. Really a continuation of #8. I can see some kind of IGE called "Highway Robbery" or something like that, but again, it depends on how to code it. I have a few ideas, but just haven't tested them yet.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
New In-Game Events: These are the events possibly added as IGE's to the Black Swan mod:
1. Great Fest (similar to a small Jubilee): This common Event has a standard slate of bonuses: Golden Age Award: (2-5 Turns); a WLTKD Launch (5-10 turns). This is my "minor" catch-all impact for minor game happenings that don't merit a more-detailed response like the ones below. Some other random impacts are possible.
From KiwiSteve:
2. Resource discovered and/or exploited: This event can produce many potential impacts/bonuses: If City State within 5 tiles of resource, then City-State Diplomacy Improvement is possible; otherwise a Yield Bomb (+x Gold, depending on game speed and difficulty); If Luxury Resource the Civ did not have before, then Golden Age Boost; If Strat Resource the civ did not have before, then XP Boost To Units (+5 XP to all Land units);
NOTE: This is quite similar to #8 below. Am wondering if we can use it for Gems and Ivory, or other/all map-based luxuries that aren't Gold or Silver? I'm not 100% sure how to code this, but will take a look around for examples.
From mikepalmer71:
3. Wonder Completion Success: It's easier (and about as frequent) of letting this event occur randomly (say 25% chance of happening each time a wonder is completed), which should happen as often as completing every 4 wonders, but sometimes more/less often. I like the idea of launching a "Great Fest" (similar to Jubilee) in the city the wonder was completed in. But if a Great Fest is used, specific additional impacts need to be defined.
4. Victory in War: After winning a war, a Civ would receive a Yield Bomb (Gold - reparations); free Great General; Golden Age Award; Free Building Every City(Monument)
4b. Defeat in War: After losing a war, a Civ would receive a Yield Theft (Gold - reparations, possibly science progress); Golden Age Decrement: (-100%); Golden Age Cessation; Desecrate Building Every City(Monument)
5. City State Relations:
---> Complete Road/Railroad Improvement: City-State Diplomacy Improvement(+3)
---> Complete Road Connection: City-State Diplomacy Improvement(+10); Golden Age Boost(large)
---> Complete Normal Improvement: City-State Diplomacy Improvement(+5)
---> Complete Luxury Improvement: City-State Diplomacy Improvement(+15)
---> City-State Diplomacy Penalty: Steal Worker Unit (-10) - may not work
From james.triggs: Honestly, some quite good suggestions for IGE:
6. War Refugees: I think I can develop a fairly-good implementation of this concept. I'm seeing a chance (50%) when a city takes damage, it can generate a "refugee" (only if population is ~4 or greater; limit once per turn, 1 population removed from city); the refugee is "displaced" to the nearest friendly city (this needs thought, though. Island cities? Nearest city is on different continent? etc.). Friendly city might be limited to the same civ, or perhaps to a closer "allied" city (from only major civs, no city states). City States could send to nearest "allied" city, but again, the problem of island city states or on different continents needs to be decided). If a city is "conquered" then perhaps up to a quarter of the population could relocate using the same criteria. Needs more thought, but I believe the concept is sound.
7. Reconquista: Recapturing a city that you were the original owner of. Happiness boost is possible, but I'm leaning towards an automatic WLTKD Launch, and a Golden Age Award (3 Turns) is more apt. Am also leaning to something like Free Building This City(random choice of 1-3 of these, based on population: Monument, Barracks, Constabulary, Aqueduct, Market, Workshop, not sure if Courthouse is possible). Cities pop 5 or less = 1, 6-10 = 2, 11 or larger = 3
8. Gold Rush: any time a Gold resource is improved, a "Gold Rush" occurs. This causes City Population Boost(100%) - which can be a curse; also causes City Population Loss(1) for each city in the empire (in order) until the boosted population is offset; Free Building This City (One of these - attempted in this order: Market = 50%, Workshop = 40%, Circus = 25%, if possible, Colosseum = 20%); A civs in the bottom half of the score table offset half the population and have +10% chance added to base percent for free buildings); I'll probably have to track each individual gold tile, and only let this event happen once a game, no matter which civ owns the tile later.
8b. Silver Rush: similar to the Gold Rush event, but for silver tiles (remember the Comstock Lode? Tombstone?) - but with half the population gain, and each of the percentages of free buildings dropped by 10%
9. Crisis of Faith: when a civ that founded a religion is eliminated. If any cities in the conquering civ (the one that eliminated the religious city) have the religion as it's dominant religion, then 1-3 Era-appropriate Barb units spawn; spawn max related to population: 1 barb = population 1-4, 2 barbs = 5-9, 3 barbs = 10+ population. These numbers are max (randomized between 1 and the max). Additionally, cities that have this religion as its dominant religion goes through "2-5" turns of resistance (up to 2 turns = [1-4 population], 3 turns = [5-9 pop], 4 turns = [10-14 pop], 5 turns = [15+ pop] -- Keep in mind the actual turns of resistance listed here is the "max" turns, actual turns randomized between 1 and this max number); Cities in resistance will have a random +1-3 turns added to the total if they belong to the conquering civ
9b. The Dark Night of the Soul: When a Holy City is conquered (from its original owner) - Similar to the "Crisis of Faith" event, but no barbs spawn, and the +1-3 turns added in that event are not added to this event - only the basic "resistance" turns
10. Eureka! When a new type of resource is discovered, a Yield Bomb(Science) happens. Amount is random 10-40% of the amount of beakers needed to discover the currently-researched tech. If the new research is strategic, then add +25 to the random amount of beaker bonus.
11. Brain Drain: when a civ advances to a new level, any civs that are at an earlier Era (and in contact with the first civ) has a chance of losing population (33% from capital city, rand 10% pop lost [3 max]; 20% chance from all other cities with a pop of at least 2 - max 1 pop lost; their current tech being researched hit with Yield Theft (Science, 10-50% of existing beakers). Any population lost goes to the capital city of the first/advancing civ; Additionally, there is a similar Yield Theft (Culture - up to 25% of current culture) - this total amount removed from inferior civs is given to the first/advanced civ at 25-75% of the total.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
RESPONSE DEFINITIONS/IMPACTS: These are the types of bonuses/Penalties that can be added on to the "standard" response for each given event. They can be specified within the Event or added on separately. These impacts are structured for ease of reuse, to speed up coding/testing, and to improve the overall quality of the events they support.
The Bonuses/Penalties are separated between those that impact the entire civilization, and those that impact a specific city within that civ. These are Event-specific bonuses/penalties attached to the Responses above, depending on the Event circumstances. They can also be called individually or in various combinations, as needed by the Events
Civ Bonuses: these positive events impact the entire civ; any variables are defined within the Event that awards the bonus
- City-State Diplomacy Improvement: Adds "x" diplomacy points, improving the relationship
- Free Building Every City: adds a specific building in all cities that don't possess it
- Golden Age Boost: Adds points towards the next Golden Age
- Golden Age Award: Instantly launches/adds to an existing Golden Age
- Luxury Resource Boost: provides a "free" known luxury resource
- Strategic Resource Boost: provides a "free" known strategic resource
- WLTKD Launch: Provides this bonus - length determined by Event
- Worker Production Boost: Workers are 10% faster
- XP Boost To Units: can be by UnitCombatInfos (Melee, Mounted, Recon, Armor, etc), or all Land/Sea/Air units
- Yield Bomb (Culture, Faith, Gold, Science): a large gift of all or a specific yield - increases per Era of the receiving civ; Bonus amounts tied to Eras - example: 2/5/5 (Ancient), 5/20/10 (Medieval), 10/50/20 (Info)
Civ Penalties: these negative events impact the entire civ; any variables are defined within the Event that awards the penalty
- City-State Diplomacy Penalty: Deducts "x" diplomacy points, damaging the relationship, but will not lead to automatic war
- Desecrate Building Every City: removes a specific building in all cities that possess it
- Golden Age Cessation: Instantly stops a Golden Age (if civ is in one)
- Golden Age Decrement: Reduces points towards the next Golden Age
- Yield Theft (Culture, Faith, Gold, Science): a large loss of all or a specific yield - increases per Era of the receiving civ; Penalty amounts tied to Eras - examples: 2/5/5 (Ancient), 5/20/10 (Medieval), 10/50/20 (Info)
------------------------------------------------------------------
City Bonuses: these positive events impact only the city where the event took place; any variables are defined within the Event that awards the bonus
- City Population Boost: a gain of Population, up to given percentage (determined by the Event), but with a minimum of 1 growth
- Free Building This City: adds a free building (type determined by the Event)
- Free Great Person: A Great Person, either random or specific type, spawns near the city
- Great Person Spawn Boost: adds boost towards the spawning of the next great person; can be a specific type of GP or boost all GPs
- Repair City Damage: heals city damage/HP, and any pillaged improvements nearby
- Production Boost: adds hammers to whatever is being produced by the city (up to a percentage remaining, determined by the Event)
City Penalties: these negative events impact only the city where the event took place; any variables are defined within the Event that awards the penalty
- City Population Loss: a loss of Population, up to given percentage (determined by the Event), but with a minimum of 1 lost
- Create City Damage: causes damage and HP loss in the city (up to a random percent determined by the Event)
- Destroy Specific Building: removes a specific building from the city, if it has one (specific building determined by the event)
- Great Person Assassinated: kills a random Great Person near the city (if there is one)
- Gross Inefficiencies: reduces production on whatever is being produced (up to a random percent determined by the Event)
- Production Theft: removes hammers to whatever is being produced by the city (up to a random percent determined by the Event)
- Reputational Destruction: clears towards the spawning of the next great person; can be a specific type of GP or boost all GPs
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Please note: this is all "spit balling" here - many changes possible. Once it stabilizes a bit, I'll post it on Post # 6, and maintain that post as the definitive version of all Events, both Black Swan and In-Game.
Also, sorry - I realize this is more like a book you study before an exam, but at least you'll get a nice overview of what it takes to properly put together an event of any kind, and the kinds of things that are going onto the mod. Can't thank y'all enough for these great ideas. I'll try to use as many as I can.
And forgive the typos. Lots of meds... :/