Document authorsNote

This commit is contained in:
Andrew Cantino 2020-09-09 16:03:05 -07:00
parent b7304aff05
commit 4a4ccdb603
2 changed files with 46 additions and 1 deletions

View file

@ -16,7 +16,12 @@ You have access to (but can't modify) the `history` object which is a list of th
### Memory
You have access to (but can't modify) the `memory` object which is the current user defined memory.
You can modify the memory the game uses by settings the `state.memory.context` value. This will replace the user defined memory.
You can also set `state.memory.frontMemory` which will include whatever is there in front of even the last action when it's fed into the model, but still not display it to the user.
You can also set `state.memory.frontMemory`, which will include whatever is there in front of even the last action when it's fed into the model, but still not display it to the user.
### Author's Note
You can set `state.memory.authorsNote` to provide a piece of text that will always be injected three lines back in the game history. This will not be shown to the user, but the AI will see it.
As an example, if you set `state.memory.authorsNote` to `the following paragraphs are scary.`, the AI will see `[Author's note: the following paragraphs are scary.]` three lines back, causing it to be more likely to generate scary text. Another example could be `a dragon will show up soon` or `the player will soon receive a quest`.
### Quests
You can modify the quests property to change the quests of the adventure mid game.

40
examples/authorsNote.js Normal file
View file

@ -0,0 +1,40 @@
const themes = [
{
text: 'ghost story',
matcher: /ghost|halloween|spooky/i,
},
{
text: 'trick-or-treat',
matcher: /trick.or.treat|halloween|spooky/i,
},
{
text: 'spooky',
matcher: /halloween|spooky/i,
},
]
const modifier = (text) => {
if (!state.setup) {
state.theme = Math.floor(Math.random() * themes.length)
state.setup = true
state.matched = false
}
const theme = themes[state.theme]
if (!state.matched && text.match(theme.matcher)) {
state.matched = true
}
if (state.matched) {
state.memory = {}
} else {
const halloween = ` It involves Halloween and has a ${theme.text} theme.`
state.memory = { authorsNote: `the rest of this story is silly & playful.${halloween}` }
}
return {text}
}
// Don't modify this part
modifier(text)