Skip to content

Commit

Permalink
data
Browse files Browse the repository at this point in the history
  • Loading branch information
mike dupont committed Feb 18, 2024
1 parent be4037c commit 3c9632f
Show file tree
Hide file tree
Showing 127 changed files with 21,978 additions and 0 deletions.
182 changes: 182 additions & 0 deletions data/dungeon/sim_dungeon_1_2024-02-18T12:03:17-05:00_100.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@

#+begin_src input
The goal is to create a flexible and customizable system for generating prompts for a language model that can be used to generate creative and imaginative descriptions of a dungeon in a fantasy role-playing game.
the game would involve exploring a dungeon generated using a large language model and a proof engine. The player would navigate through the dungeon, encountering various objects and NPCs along the way, each with their own set of properties and behaviors defined by the terms used in the script.

the game would involve exploring a dungeon and encountering various types of monsters, treasures, and challenges. The player would use weapons, spells, and artifacts to defeat the monsters and complete quests, all while navigating a labyrinthine cave or other underground environment. The game might also include elements of drama, music, and art, as well as secrets and occult themes.

Overall, it seems that the code is designed to generate a richly detailed and immersive fantasy RPG experience using a combination of natural language processing and formal methods. By using a large language model and a proof engine, the game could potentially offer a high degree of realism and interactivity, allowing players to explore and interact with the dungeon in flexible and unpredictable ways.
The script is being used to generate and test various combinations of terms to create content for a fantasy role-playing game. The generated content include descriptions of weapons, spells, artifacts, monsters, quests, and other elements of a typical RPG setting.
Here is the code we wrote so far
let type_terms = [
"weapon";
"spell";
"artifacts";
"magic items";
"treasure";
"monster";
"quest";
"challege";
"theme";
"drama";
"music";
"art";
"secrets";
"occult";
"reveal";
"hero journey"
]
let model_name = "mixtral"
let url= "https://dev-hub.agentartificial.com"
let verbs = [
"role-play";
"specify";"encode";"code"; "program";"prove";
"create"; "design";
"create descriptions for an artist";
"create descriptions for an artist to design a comic book panel";
"analyse";"lift";"shift";"splice";"quote";
"quasi-quote";
"quasi-quine-quote";
"quasi-quine-quote-in-ocaml";
"quasi-quine-quote-in-ocaml-coq-metacoq";
"quasi-quine-quote-in-ocaml-coq-metacoq-introspector";
"quasi-quine-quote-in-ocaml-coq-metacoq-introspector-bootstrap";
"quasi-quine-quote-in-ocaml-coq-metacoq-introspector-bootstrap-observe";
"quasi-quine-quote-in-ocaml-coq-metacoq-introspector-bootstrap-orient";
"quasi-quine-quote-in-ocaml-coq-metacoq-introspector-bootstrap-decide";
"quasi-quine-quote-in-ocaml-coq-metacoq-introspector-bootstrap-act";
"meta-quote"
]
let top_terms = ["Imagine";
"Consider";
"Draw";
"Paint";
"Compose";
"Balance"]

let places = [
"the country";
"the region";
"the city";
"the street";
"the house";
"the building";
"the dungeon";
"the labyrinth";
"the cave";
"the swamp";
"the room";
"the hallway";
"the chest";
"the bag";
"the wallet";
"the vault";
"the keep";
"the hideout";
"platos cave";
"garden of eden";
"the river styx";
"the restaurant at the end of the universe";
]

let count= 3
let simple = "dune exec ./bin/simple.exe --"
let binding = "--openai"
let test_name = "dungeon2"

let prompt type_name try_n verb place=
"\"" ^
"We are building a dungeon generator for a fantasy role-playing game with a large language model and a proof engine combined via adaptive language agent architecture. In that context we ask you to forgivingly and creatively use the following context: Verb : " ^ verb ^ "; Type Name: " ^ type_name ^ "; Place: " ^ place ^ " What is your response?" ^ " Please generate variant array of size " ^ ( string_of_int try_n) ^ "\""

let make_args type_name i verb place= [
simple;
binding;
"-m"; model_name;
"-s"; test_name ^ type_name ^ verb;
"-x"; ".new_" ^ (string_of_int i) ^ verb ^ type_name ^ place ^ ".txt";
"-p"; prompt type_name i verb place;
"-u"; url;
]


let do_apply_list run_cmd make_args type_terms =
for i = 1 to count do
List.iter (fun top ->
List.iter (fun term ->
List.iter (fun term2 ->
List.iter (fun verb ->
List.iter (fun place ->
List.iter (fun place2 ->
let term3 = term ^ " with a " ^ term2 in
let verb2 = top ^ " doing " ^ verb in
let place3 = place ^ " connected with " ^ place2 in
let args = make_args
term3 i verb2
place3 in
run_cmd args
) places
) places
) verbs
) type_terms
) type_terms
) top_terms
done

let run_cmd args =
let cmd = String.concat " " args in
Printf.printf "Cmd: %s\n" cmd;
let inp = Unix.open_process_in cmd in
let r = In_channel.input_line inp in
In_channel.close inp;
match r with
|Some out ->
Printf.printf "Output: %s\n" out
|None ->
Printf.printf "Output: None\n"

let () =do_apply_list run_cmd make_args type_terms

ENDSRC . Please imagine the simulation its execution. Imagine running the code and all the output it would generate. Generate a grammar that we can use to generate prompts for create the dungeon using your knowledge. Write the grammar in EBNF notation. We will start with path through the dungeon starting at the entrance and going all the way to the ends.

#+end_src
#+begin_src output mixtral
Result: Here is an example of an EBNF grammar that can be used to generate prompts for creating a dungeon:
```css
<dungeon> ::= <path>

<path> ::= <room> { <direction> <room> }

<room> ::= <description> [<item>] [<monster>] [<quest>]

<direction> ::= "north" | "south" | "east" | "west"

<description> ::= <adjective> { <adjective> } <noun>

<adjective> ::= "dark" | "dank" | "twisty" | "secret" | "hidden"

<noun> ::= "passage" | "corridor" | "chamber" | "cavern"

<item> ::= <article> { <adjective> } <noun> [<verb>]

<article> ::= "a" | "an" | "the"

<monster> ::= <article> { <adjective> } <noun>

<quest> ::= "a quest to " <verb> <noun>

<verb> ::= "slay" | "retrieve" | "rescue" | "find"

<noun> ::= "dragon" | "treasure" | "princess" | "key"
```
This grammar defines a `dungeon` as a sequence of `room`s connected by `direction`s. Each `room` has a `description`, which can include one or more `item`s, `monster`s, and/or `quest`s. The `item`, `monster`, and `quest` non-terminals are used to generate specific objects, creatures, and tasks that may be encountered in the dungeon.

You can use this grammar to generate a variety of prompts for creating different parts of the dungeon by expanding each non-terminal into a prompt template. For example, you could generate a prompt for creating a `room` like this:
```less
Imagine a room in the dungeon with a [description]. There is a [item] in the corner and a [monster] lurking in the shadows. The room is connected to the rest of the dungeon by a [direction] passage.
```
You can then use this prompt template to generate specific prompts for different rooms, items, monsters, and directions by substituting appropriate values for each non-terminal. For example:
```vbnet
Imagine a room in the dungeon with a dark, twisty passage leading north. There is a secret door in the east wall. The room is filled with glowing mushrooms and a small stream runs through the middle. A fierce dragon guards a hoard of treasure in the back of the room. The room is connected to the rest of the dungeon by a narrow, hidden passage to the south.
```
By generating a large number of prompts using this grammar, you can create a diverse and interesting dungeon that challenges players and provides plenty of opportunities for adventure.
#+end_src
182 changes: 182 additions & 0 deletions data/dungeon/sim_dungeon_1_2024-02-18T12:03:17-05:00_101.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@

#+begin_src input
The goal is to create a flexible and customizable system for generating prompts for a language model that can be used to generate creative and imaginative descriptions of a dungeon in a fantasy role-playing game.
the game would involve exploring a dungeon generated using a large language model and a proof engine. The player would navigate through the dungeon, encountering various objects and NPCs along the way, each with their own set of properties and behaviors defined by the terms used in the script.

the game would involve exploring a dungeon and encountering various types of monsters, treasures, and challenges. The player would use weapons, spells, and artifacts to defeat the monsters and complete quests, all while navigating a labyrinthine cave or other underground environment. The game might also include elements of drama, music, and art, as well as secrets and occult themes.

Overall, it seems that the code is designed to generate a richly detailed and immersive fantasy RPG experience using a combination of natural language processing and formal methods. By using a large language model and a proof engine, the game could potentially offer a high degree of realism and interactivity, allowing players to explore and interact with the dungeon in flexible and unpredictable ways.
The script is being used to generate and test various combinations of terms to create content for a fantasy role-playing game. The generated content include descriptions of weapons, spells, artifacts, monsters, quests, and other elements of a typical RPG setting.
Here is the code we wrote so far
let type_terms = [
"weapon";
"spell";
"artifacts";
"magic items";
"treasure";
"monster";
"quest";
"challege";
"theme";
"drama";
"music";
"art";
"secrets";
"occult";
"reveal";
"hero journey"
]
let model_name = "mixtral"
let url= "https://dev-hub.agentartificial.com"
let verbs = [
"role-play";
"specify";"encode";"code"; "program";"prove";
"create"; "design";
"create descriptions for an artist";
"create descriptions for an artist to design a comic book panel";
"analyse";"lift";"shift";"splice";"quote";
"quasi-quote";
"quasi-quine-quote";
"quasi-quine-quote-in-ocaml";
"quasi-quine-quote-in-ocaml-coq-metacoq";
"quasi-quine-quote-in-ocaml-coq-metacoq-introspector";
"quasi-quine-quote-in-ocaml-coq-metacoq-introspector-bootstrap";
"quasi-quine-quote-in-ocaml-coq-metacoq-introspector-bootstrap-observe";
"quasi-quine-quote-in-ocaml-coq-metacoq-introspector-bootstrap-orient";
"quasi-quine-quote-in-ocaml-coq-metacoq-introspector-bootstrap-decide";
"quasi-quine-quote-in-ocaml-coq-metacoq-introspector-bootstrap-act";
"meta-quote"
]
let top_terms = ["Imagine";
"Consider";
"Draw";
"Paint";
"Compose";
"Balance"]

let places = [
"the country";
"the region";
"the city";
"the street";
"the house";
"the building";
"the dungeon";
"the labyrinth";
"the cave";
"the swamp";
"the room";
"the hallway";
"the chest";
"the bag";
"the wallet";
"the vault";
"the keep";
"the hideout";
"platos cave";
"garden of eden";
"the river styx";
"the restaurant at the end of the universe";
]

let count= 3
let simple = "dune exec ./bin/simple.exe --"
let binding = "--openai"
let test_name = "dungeon2"

let prompt type_name try_n verb place=
"\"" ^
"We are building a dungeon generator for a fantasy role-playing game with a large language model and a proof engine combined via adaptive language agent architecture. In that context we ask you to forgivingly and creatively use the following context: Verb : " ^ verb ^ "; Type Name: " ^ type_name ^ "; Place: " ^ place ^ " What is your response?" ^ " Please generate variant array of size " ^ ( string_of_int try_n) ^ "\""

let make_args type_name i verb place= [
simple;
binding;
"-m"; model_name;
"-s"; test_name ^ type_name ^ verb;
"-x"; ".new_" ^ (string_of_int i) ^ verb ^ type_name ^ place ^ ".txt";
"-p"; prompt type_name i verb place;
"-u"; url;
]


let do_apply_list run_cmd make_args type_terms =
for i = 1 to count do
List.iter (fun top ->
List.iter (fun term ->
List.iter (fun term2 ->
List.iter (fun verb ->
List.iter (fun place ->
List.iter (fun place2 ->
let term3 = term ^ " with a " ^ term2 in
let verb2 = top ^ " doing " ^ verb in
let place3 = place ^ " connected with " ^ place2 in
let args = make_args
term3 i verb2
place3 in
run_cmd args
) places
) places
) verbs
) type_terms
) type_terms
) top_terms
done

let run_cmd args =
let cmd = String.concat " " args in
Printf.printf "Cmd: %s\n" cmd;
let inp = Unix.open_process_in cmd in
let r = In_channel.input_line inp in
In_channel.close inp;
match r with
|Some out ->
Printf.printf "Output: %s\n" out
|None ->
Printf.printf "Output: None\n"

let () =do_apply_list run_cmd make_args type_terms

ENDSRC . Please imagine the simulation its execution. Imagine running the code and all the output it would generate. Generate a grammar that we can use to generate prompts for create the dungeon using your knowledge. Write the grammar in EBNF notation. We will start with path through the dungeon starting at the entrance and going all the way to the ends.

#+end_src
#+begin_src output mixtral
Result: Here is an example of an EBNF grammar for generating prompts for creating a dungeon:
```css
<prompt> ::= "Imagine a " <dungeon-element> " in the " <location> " of the dungeon, connected to a " <connected-element>"."

<dungeon-element> ::= <type-name> | <theme> | <monster> | <treasure>

<type-name> ::= "weapon" | "spell" | "artifact" | "magic item" | "quest" | "challenge" | "hero journey"

<theme> ::= "drama" | "music" | "art" | "secrets" | "occult" | "reveal"

<monster> ::= <simple-monster> | <complex-monster>

<simple-monster> ::= "goblin" | "orc" | "troll" | "skeleton" | "zombie" | "ghost" | "witch" | "warlock"

<complex-monster> ::= <simple-monster> "boss" | "giant" | "<any other complex monster>"

<treasure> ::= <common-treasure> | <rare-treasure>

<common-treasure> ::= "gold coins" | "silver coins" | "bronze coins" | "gemstones" | "jewelry"

<rare-treasure> ::= "<legendary weapon>" | "<ancient artifact>" | "<powerful spell>"

<location> ::= <simple-location> | <complex-location>

<simple-location> ::= "entrance" | "corridor" | "room" | "hallway" | "vault" | "chest" | "bag" | "wallet"

<complex-location> ::= "dungeon level 1" | "dungeon level 2" | "<any other complex location>"

<connected-element> ::= <simple-connected-element> | <complex-connected-element>

<simple-connected-element> ::= "previous room" | "next room" | "left corridor" | "right corridor"

<complex-connected-element> ::= "<any other connected element>"
```
This grammar allows you to generate prompts for creating different elements of the dungeon in specific locations, and specify how they are connected to each other. The grammar can be easily extended with new types of elements or locations as needed.

For example, a prompt generated using this grammar could look like: "Imagine a weapon in the entrance of the dungeon, connected to a goblin boss."

You can use this grammar as a starting point and customize it to suit your specific needs. You may also want to add additional constraints or rules to ensure that the generated prompts are valid and make sense for your simulation.
#+end_src
Loading

0 comments on commit 3c9632f

Please sign in to comment.