# AI Storyteller

**URL:** <https://discourse.cataclysmdda.org/t/ai-storyteller/8686>\
**Category:** The Drawing Board\
**Created:** [January 20, 2015, 4:36pm UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686 "2015-01-20T16:36:53Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![Catfoodbob](https://avatars.discourse-cdn.com/v4/letter/c/ee59a6/32.png) [@Catfoodbob](https://discourse.cataclysmdda.org/u/Catfoodbob)\
**Post date:** [January 20, 2015, 4:36pm UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/1 "2015-01-20T16:36:53Z")

</div>

Just thinking perhaphs have an Ai that just sends things your way to make things more interesting as a “story” and such, like sending supply drops or even a hoard of zombies if it thinks you could survive, perhaphs rabbid squirrels. or roving bands of hostile npcs with specificly coded to ruinyour day.

---

<div class="post-metadata">

**Author:** ![KA101](https://avatars.discourse-cdn.com/v4/letter/k/278dde/32.png) [@KA101](https://discourse.cataclysmdda.org/u/KA101)\
**Post date:** [January 21, 2015, 12:30am UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/2 "2015-01-21T00:30:47Z")

</div>

Nope, that was dynamic spawn and is deprecated.

---

<div class="post-metadata">

**Author:** ![John\_Candlebury](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/john_candlebury/32/6437_2.png) [@John\_Candlebury](https://discourse.cataclysmdda.org/u/John_Candlebury)\
**Post date:** [January 21, 2015, 12:54am UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/3 "2015-01-21T00:54:09Z")

</div>

Although the idea of an AI director has its appeals, it would be an insanely difficult feature to build and maintain if you actually want it to react accordingly to your current location health inventory skills past encounters etc and more importantly have it react in a sorta logical manner.

Just as KA101 pointed out we had something similar in the form of dinamic spawn. Which more or less consisted of spawning more monsters around you if you were making high noise near or inside a town. It never worked so well, first off it had the side effect of forcing you into fights that would last until you managed to kill every single zombie in the spawn pool or ran away (you know, fighting makes a lot of noise), with little to no options of breaking engangement without running away as fast as you could. It also resulted in you having to clear the same few houses of zombies over and over and over again; with no incentive to move towards the city center until the spawn pool was depleted.

I guess some limited form of it could be brought back under certain circumstances. For example some buildings could have a single use spawn point that would trigger if the player makes high noises (proven that the player has never had direct LOS or been closer than x tiles form that spawn point, preventing the part in which zombies are generated of thin nothing to become apparent). To make explosions and the like more immediately dangerous.

---

<div class="post-metadata">

**Author:** ![KA101](https://avatars.discourse-cdn.com/v4/letter/k/278dde/32.png) [@KA101](https://discourse.cataclysmdda.org/u/KA101)\
**Post date:** [January 21, 2015, 12:58am UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/4 "2015-01-21T00:58:57Z")

</div>

Yeah, it’d be a PitA for maintenance + blatantly unrealistic (spawns from thin nothing) = not gonna happen.

Thanks for the writeup, though, John Candlebury.

---

<div class="post-metadata">

**Author:** ![kevin.granade](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/kevin.granade/32/1316_2.png) [@kevin.granade](https://discourse.cataclysmdda.org/u/kevin.granade)\
**Post date:** [January 21, 2015, 2:35am UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/5 "2015-01-21T02:35:36Z")

</div>

One place I could see fitting in something like this is if there is an actual manevolent presence trying to kill you.  
SHO-nuf.

---

<div class="post-metadata">

**Author:** ![AllisonW](https://avatars.discourse-cdn.com/v4/letter/a/919ad9/32.png) [@AllisonW](https://discourse.cataclysmdda.org/u/AllisonW)\
**Post date:** [January 21, 2015, 2:40am UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/6 "2015-01-21T02:40:23Z")

</div>

[quote=“Kevin Granade, post:5, topic:8686”]One place I could see fitting in something like this is if there is an actual manevolent presence trying to kill you.  
SHO-nuf.[/quote]

New special ability for flaming eyes, or some kind of mastermind monster?

---

<div class="post-metadata">

**Author:** ![KA101](https://avatars.discourse-cdn.com/v4/letter/k/278dde/32.png) [@KA101](https://discourse.cataclysmdda.org/u/KA101)\
**Post date:** [January 21, 2015, 2:51am UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/7 "2015-01-21T02:51:11Z")

</div>

Used Granades one too many times?

CURSES!!!

Turns off your tileset if you have one, and kicks in dynamic spawn. Not likely to end well.

---

<div class="post-metadata">

**Author:** ![Synthetic](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/synthetic/32/406_2.png) [@Synthetic](https://discourse.cataclysmdda.org/u/Synthetic)\
**Post date:** [January 21, 2015, 10:01am UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/8 "2015-01-21T10:01:48Z")

</div>

_AI director mode activated_  
Suddenly landmines are appearing in places you’ve been before, any place you hang out in for more than a couple days spawns large amounts of bears, tank-drones roam the countryside like zombie hordes, and starting a fire causes near-immediate thunderstorms.

I like the idea of the game itself actively trying to find a way to kill my character by flipping an option on.

---

<div class="post-metadata">

**Author:** ![deadmerits](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/deadmerits/32/19_2.png) [@deadmerits](https://discourse.cataclysmdda.org/u/deadmerits)\
**Post date:** [January 21, 2015, 10:43am UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/9 "2015-01-21T10:43:36Z")

</div>

Dynamic Danger = On, lightening storm causes fire. Everything is burned to a crisp. I rage quit. I don’t know, sounds like fun, pretty pretty truck truck?

---

<div class="post-metadata">

**Author:** ![jcd](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/jcd/32/338_2.png) [@jcd](https://discourse.cataclysmdda.org/u/jcd)\
**Post date:** [January 21, 2015, 11:20am UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/10 "2015-01-21T11:20:22Z")

</div>

well, to have something that may cause some random events _can_ be good.  
i’m not talking about monster spawning, but things like what deadmerits mentions: random fires during thunderstorms, also faction events like a faction spreading to another place, wars beginning and ending between factions.

I’d see it as a way to make the game feel more ‘alive’ meaning that the world won’t feel as the only things happening are those the player does. Basically as a way to alter the world after mapgen, not as ‘hard mode’.

---

<div class="post-metadata">

**Author:** ![ragamer](https://avatars.discourse-cdn.com/v4/letter/r/a88e4f/32.png) [@ragamer](https://discourse.cataclysmdda.org/u/ragamer)\
**Post date:** [January 21, 2015, 1:11pm UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/11 "2015-01-21T13:11:21Z")

</div>

A “campaign AI” able to modify the worldmap would rock… Something that offers new ways to break the reality bubble paradigm would increase the challenge and functionality of some of the currently existing features. There is already a desire to increase “realism” outside teh RB if you pay attention to certain features: Timestamps to make things evolve rapidly when the player gets close, wandering NPCs & Hordes.

OFC this would be a long-term goal as it will have to deal at some point with the awful scenario of having to load portions of the map the player isn’t close to, so it has to be controlled in scope (On top of been a feature Content Creators have to populate themselves by adding new tiles templates and/or modification processes). So instead of an “AI Director”… How about a “Map Evolver”? (As usual, inspired by actual code in action):

Mainly Crater creation and specially Missile Silo launch action

- Its main role would be to transform one worldmap tile into another (WMT from now on). If the idea catches, later, a way to modify a WMT layout could be added (Similarly as how Craters happen now), which would allow for some nice features/micro events.

- It could be made into a list of events created and triggered by different conditions. The list can be capped denying new events to be created so performance impact can be under control. An “Event” definition is basically a “trigger” associated to player’s actions into the RB, a tranformation link (Or if the WMT layout change module is there, a process also) from a certain WMT tile into another and a “solver” condition that will trigger the transformation.

- In principle, to ease implementation and to keep this mechanism as an independent layer separated from the RB mechanics, events CAN’T be solved if the associated Tile is into the RB.

Here follow certain examples of triggers, solvers, transformation links (That try to use current tiles when possible) and, optionally, transformation processes (For the potential module “WMT layout modification”) (Notice that, potentially, multiple “triggers” and “solvers” can be affecting the same transformation link/process. Also, potentially, transformation links could be made complex in the sense of allowing multiple tiles to transform to one or to prevent certain ones from been transformed).

Triggers:

- Player 1st Visit.
- Alarm is triggered.
- Fungal bed created successfully by a spore.
- Triffid Heart destroyed.
- Player calls faction help.
- Uncontrolled fire Initiated. Necesary to not trigger pointless “solvers” unless a “fire activity” happens.
- Player sound over X threshold.

Solvers:

- Zone out of RB.
- Active Uncontrolled Fire.
- X ammount of time pass.
- Time period X. An event that repeats itself each X time units.
- Zone extension. An event that on solve triggers the same event on an adjacent tile.
- Chance X/Y. An event that completes randomly x times out of y.

Links:

- Forest -\> Faction-Based Provisional Camp.
- City Block -\> Faction-Based Permanent Camp.
- Forest -\> Fungal Blossom.
- Triffid Grove -\> Forest.
- Fungal Bloom -\> Burnt Forest.
- Forest -\> Burnt Forest.
- Triffid Grove -\> Burnt Forest.

Processes:

- Creature/NPC Spawn.
- Creature/NPC relocation. Usefull to create “mobile base” transformation links.
- Atmospheric Filter. Ideal to create Acid Rain zones that transform regular rain into Acid rain.
- Door/Walls repair.
- Trap/Static Defenses spawn.

Well… I guess that you may get the point now on which kind of basic “expansive” phenomena that lacks impact ATM I’m after modeling with this suggestion. But the goal is to allow Content Creators to provide ways for their WMTs to evolve over time based on what happens when a RB gets their zones loaded.

---

<div class="post-metadata">

**Author:** ![vache](https://avatars.discourse-cdn.com/v4/letter/v/ea666f/32.png) [@vache](https://discourse.cataclysmdda.org/u/vache)\
**Post date:** [January 21, 2015, 3:27pm UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/12 "2015-01-21T15:27:17Z")

</div>

This could be a way to introduce some dynamism after the player has progressed a bit, and used to guide the game a bit away from fighting zombies towards portals opening spewing nether creatures and others from various dimensions. It could be triggered from the “otherworldly attention” artifacts (or just accelerated by them), things like activating a resonance cascade from labs, encountering a certain set of nether creatures wandering the world, encountering your first unstable portal, or just time passing.

---

<div class="post-metadata">

**Author:** ![Hardluck](https://avatars.discourse-cdn.com/v4/letter/h/f05b48/32.png) [@Hardluck](https://discourse.cataclysmdda.org/u/Hardluck)\
**Post date:** [January 22, 2015, 12:36am UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/13 "2015-01-22T00:36:19Z")

</div>

One of the bigger reasons why I like Cataclysm DDA is the fact that the game DOESN’T have an AI constantly trying to push the game in some direction. My character is just a lucky survivor in a world, not some chosen one tasked by the powers that be to be either their instrument or plaything.

Any sort of “storyteller” would conflict with my enjoyment. The narrative of the game is emergent for me and not made with triggers.

---

<div class="post-metadata">

**Author:** ![Arkenstone](https://avatars.discourse-cdn.com/v4/letter/a/90db22/32.png) [@Arkenstone](https://discourse.cataclysmdda.org/u/Arkenstone)\
**Post date:** [January 31, 2015, 7:03pm UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/14 "2015-01-31T19:03:57Z")

</div>

One idea potentially for a “storytelling” device is to actually work from the perspective of a genuinely interested and conflicting party represented as a NPC rather than a magical director. The AI “director” just turns on the behavior for these NPCs. As a writer, that’s the fundamental way and the most honest way to allow drama to occur.

Illustration works better than just exposition:

- The player has settled into a new town and has managed to make it reasonably safe for him as he massacres the zombie population. Good for him!

- The Director checks around after the player has remained in a region for over 7 days. After that, it checks if there is a potential intelligent antagonist. Ah! It finds a Zombie Master.

- The Zombie Master is activated and rolled with a few personality traits. In this case, the Zombie Master gets “Expansionist” and “Cowardly.”

- As his Expansionist trait keeps being pressed, he eventually responds to “attack” lost territories with his forces. If enough habitation is discovered, such as a largely boarded up house with plenty of noise, then he will send a “mass attack.” If the “mass attack” fails and he loses the majority of his forces, his “Cowardly” makes him continue to hide and cease to become a threat but instead focus on survival measures such as to either look for graves to repopulate his zombies, or even just to leave the region and despawn.

- Had he been “Brave”, he might choose to go out in a blaze of glory and attack like a classic boss with his elite in the final wave.

---

<div class="post-metadata">

**Author:** ![StopSignal](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/stopsignal/32/1923_2.png) [@StopSignal](https://discourse.cataclysmdda.org/u/StopSignal)\
**Post date:** [January 31, 2015, 7:19pm UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/15 "2015-01-31T19:19:38Z")

</div>

[quote=“Arkenstone, post:14, topic:8686”]One idea potentially for a “storytelling” device is to actually work from the perspective of a genuinely interested and conflicting party represented as a NPC rather than a magical director. The AI “director” just turns on the behavior for these NPCs. As a writer, that’s the fundamental way and the most honest way to allow drama to occur.

Illustration works better than just exposition:

- The player has settled into a new town and has managed to make it reasonably safe for him as he massacres the zombie population. Good for him!

- The Director checks around after the player has remained in a region for over 7 days. After that, it checks if there is a potential intelligent antagonist. Ah! It finds a Zombie Master.

- The Zombie Master is activated and rolled with a few personality traits. In this case, the Zombie Master gets “Expansionist” and “Cowardly.”

- As his Expansionist trait keeps being pressed, he eventually responds to “attack” lost territories with his forces. If enough habitation is discovered, such as a largely boarded up house with plenty of noise, then he will send a “mass attack.” If the “mass attack” fails and he loses the majority of his forces, his “Cowardly” makes him continue to hide and cease to become a threat but instead focus on survival measures such as to either look for graves to repopulate his zombies, or even just to leave the region and despawn.

- Had he been “Brave”, he might choose to go out in a blaze of glory and attack like a classic boss with his elite in the final wave.[/quote]

Some kind of shadow of mordory enemy creation? I know it’s not the first game it was used in, but a good way to say it.

---

<div class="post-metadata">

**Author:** ![Arkenstone](https://avatars.discourse-cdn.com/v4/letter/a/90db22/32.png) [@Arkenstone](https://discourse.cataclysmdda.org/u/Arkenstone)\
**Post date:** [January 31, 2015, 7:34pm UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/16 "2015-01-31T19:34:40Z")

</div>

I’m not familar with that, is it this?

> **[Nemesis](http://shadowofwar.wikia.com/wiki/Nemeses)**
>
> The Nemeses (singular: Nemesis ), also known as Sauron's Army, are the Uruk and Olog-Hai that have gained recognition within the Orc hierarchy. Each Nemesis has his own personality and will rise or fall within the respective social structures of the...

Does it work well?

After reading that, it does seem like it is seeking a lot more invention from the player than my idea. My concept is basically that a hostile AI just becomes intelligent, essentially he/she/it doesn’t know or care about the “player” but now has a personality, a goal, and some means to accomplish it. The Zombie Master here, for example, is as likely to utterly crush a few NPC survivors because the player pissed him off as he is to actually target the real culprit of his losses.

The only thing the AI is identifyng are:

1. threat level is high because expansionistic goals are being frustrated
2. seek cause, which are assumed to be people
3. destroy anything that appears to have habitation identified as: regular noise, clutter, and boarded up windows.

---

<div class="post-metadata">

**Author:** ![StopSignal](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/stopsignal/32/1923_2.png) [@StopSignal](https://discourse.cataclysmdda.org/u/StopSignal)\
**Post date:** [January 31, 2015, 7:46pm UTC](https://discourse.cataclysmdda.org/t/ai-storyteller/8686/17 "2015-01-31T19:46:32Z")

</div>

Ohh, sure, i was just sayin about the traits you give to the mosnters. That would be really cool.

Make all Zombie Masters have randomized traits yess
