The document discusses procedural content generation techniques for artificial intelligence. It covers neural networks, symbolic AI, grammar-based generation using tools like Tracery and Ephemerald, and challenges around infinite content. Procedural generation can create variations on content but risks becoming boring if not carefully designed. The document advocates for writing examples, extracting rules, and applying rules to generate new content in a controlled way.
4. T U N G U S K A . A I
N E U R A L N E T W O R K S
• This is the currently most hyped area of arti
fi
cial
intelligence. Machine learning falls into this category.
• These arti
fi
cial intelligence systems are black boxes –
it’s hard to explain why they do what they do.
• Extremely computationally expensive because in
they end this area is just statistics over a huge amount of
data.
12. T U N G U S K A . A I
S Y M B O L I C A I
Symbolic AI is:
• Human-readable (hence the name)
• Based on rules explicitly written by a human
• Often uses probability (randomness) to achieve its goal
• Usually custom-made for every purpose – hence it’s quite expensive
19. T U N G U S K A . A I
E X A M P L E S
Curious Expedition
Procedural Events
Procedural Text
Dwarf Fortress
Caves of Qud
Procedural History
Crusader Kings III
Procedural Events
Procedural Characters
24. T U N G U S K A . A I
–Kate Compoton
“I can easily generate 10,000 bowls of plain oatmeal, with each oat
being in a different position and different orientation, and
mathematically speaking they will all be completely unique, but the
user will likely just see a lot of oatmeal.”
25. T U N G U S K A . A I
D A N G E R Z O N E
• Less control over the experience of the player than with manually created content.
• 10,000 bowls of oatmeal: if the content is in
fi
nite, it easily gets in
fi
nitely boring.
• It’s easier to think up 10 good lines than to think up the framework for 1000 good lines. It’s harder to think up 1000
good lines than to think up the framework for 10,000 lines, though.
27. T U N G U S K A . A I
T R A C E R Y
Write Extract Generate
First we write some examples
of the output we want.
Then we generalise and
extract rules.
Then we apply those rules to
create variations.
29. T U N G U S K A . A I
L O V E L E T T E R
Write
Extract
[name] [name].
You are my [adjective] [noun]. My [noun] [adverb] [verb] your [adjective]
[noun]. My [noun] [adverb] is [verb] to your [adjective] [noun]. My
[adjective] [noun] [adverb] [verb] for your [adjective] [noun]. You are my
[adjective] [noun].
Yours [adverb] M.U.C.
30. T U N G U S K A . A I
L O V E L E T T E R
[name] [name].
You are my [adjective] [noun]. My [adjective] [noun] [adverb] [verb.s] your
[adjective] [noun]. My [noun] [adverb] is [verb.ed] to your [adjective] [verb].
My [adjective] [noun] [adverb] [verb] for your [adjective] [noun]. You are my
[adjective] [noun].
Yours [adverb] M.U.C.
[name] duck.
[noun] enchantment, charm, devotion, ardour, ambition, sympathy.
[verb] wed, long, hunger.
[adverb] curiously, avidly, passionately.
[adjective] wistful, sympathetic, eager, precious, covetous.
33. T U N G U S K A . A I
Write
Extract
Generate
[name] [name].
You are my [adjective] [noun]. My [noun] [adverb] [verb] your [adjective]
[noun]. My [noun] [adverb] is [verb] to your [adjective] [noun]. My
[adjective] [noun] [adverb] [verb] for your [adjective] [noun]. You are my
[adjective] [noun].
Yours [adverb] M.U.C.
38. T U N G U S K A . A I
R U L E E X P A N S I O N
• A rule is a list of options and its name goes in square
brackets.You can have as many rules as you want in your
fi
le.
• An expansion applies a rule and is surrounded by
hashtags.Writing #heister# expands the above rule
called [heister].You can expand rules as often as you
want.They will always give you another random snippet.
[heister]
Alice O'Rourke
Frank Diob
Jimmy Tartu
fi
Winnie He
[origin]
At dawn, #heister# and #heister# got ready
for the biggest heist in their lives.
39. T U N G U S K A . A I
At dawn, Alice O'Rourke and Jimmy
Tartu
fi
got ready for the biggest
heist in their lives.
40. T U N G U S K A . A I
T A G S
• Tags are labels for speci
fi
c expansions that are used
instead of expansions in later parts of your grammar.
They end with a column.
• Modi
fi
ers change the text after it was expanded.They
can be used to e.g. change the case of a word or to
pluralise it.They start with a period.
[origin]
[crew1:#heister#] [crew2:#heister#] At
dawn, #crew1# and #crew2# got ready for
the biggest heist in their lives. #crew2#
was a bit nervous.The radio crackled and
then barked #crew1.uppercase.quote#!
41. T U N G U S K A . A I
At dawn, Alice O'Rourke and Jimmy
Tartu
fi
got ready for the biggest
heist in their lives. Jimmy Tartu
fi
was a bit nervous. The radio
crackled and then barked “JIMMY
TARTUFI”!
42. T U N G U S K A . A I
The original by Kate Compton.
PRO:
- Lots of documentation.
- Runs in the browser
- Unity Plugin available
CONS:
- Uses JSON as the only format.
- Fewer modi
fi
ers.
http://tracery.io
T R A C E R Y
The extension by Martin Pichlmair.
PRO:
- Easy to read format.
- Nice editor. Extra features.
- Unity Plugin available
CONS:
- IDE only for Mac.
- Written by me.
https://martinpi.itch.io/ephemerald
+
E P H E M E R A L D
+
https://assetstore.unity.com/
packages/tools/input-
management/
tracery-100911
44. T U N G U S K A . A I
Procedural Storytelling in Game Design
Edited By Tanya X. Short,Tarn Adams
ISBN 9781138595309
Published April 18, 2019 by A K Peters/CRC Press