From d399e2df9d803b8d0ca60036d0f2c92f6ca85171 Mon Sep 17 00:00:00 2001 From: Malin Freeborn Date: Wed, 5 Jun 2024 23:58:15 +0200 Subject: [PATCH] outline how minds work --- Mechanics/Minds.md | 38 ++++++++++++++++++++++++++++++++++++++ Mechanics/flow-6.graph | 20 ++++++++++++++++++++ Mechanics/flow-8.graph | 8 ++++++++ Mechanics/parse.sh | 13 +++++++++++++ 4 files changed, 79 insertions(+) create mode 100644 Mechanics/Minds.md create mode 100644 Mechanics/flow-6.graph create mode 100644 Mechanics/flow-8.graph create mode 100755 Mechanics/parse.sh diff --git a/Mechanics/Minds.md b/Mechanics/Minds.md new file mode 100644 index 0000000..439a3f9 --- /dev/null +++ b/Mechanics/Minds.md @@ -0,0 +1,38 @@ +Intelligence `-8`: The Ooze +=========================== + +The ooze has a very simple mind, and forms the basic of all minds. + +.so flow-8.graph + +If the ooze joins with smaller pieces of ooze, this works exactly like eating. +Which eats which does not matter to the ooze. + +The question of whether two oozes come together through ingestion or mating is also irrelevant to the ooze. + +It moves forward, and embraces the good in life, without any distinctions. + +Intelligence `-7`: The Insect +=========================== + +The insect-brain acts like the ooze, but recognizes other creatures as friendly, and remembers spaces. +The insects literally have a smaller version of the main map in their head, but they have limited memory. + +...they quite literally have a number of kilobytes each to remember a finite amount of space. + +Intelligence `-6`: The Wolf +=========================== + +At this level of intelligence, the creature begins to think with others. +They do this by voting on a leader, then each of the creatures follows that leader. + +.so flow-6.graph + +Intelligence `-5`: The Goblin +============================= + +This stage should probably be left until the previous intelligence levels have been dealt with. +Options include: + +- Simulation: play out possible scenarios in the creature's head by simulating the segment of the map which it knows, at 10x normal speed. +- Skills: Just list off particular things, like 'fishing', or 'crafting spears', then deal with them individually. diff --git a/Mechanics/flow-6.graph b/Mechanics/flow-6.graph new file mode 100644 index 0000000..3eb07b4 --- /dev/null +++ b/Mechanics/flow-6.graph @@ -0,0 +1,20 @@ +[ START ] --> [ damage? ] +[ Anyone know where food is? ] <-- me! --> [ We go to food! ] +[ Anyone know where food is? ] -- someone? --> [ I follow them ] +[ Anyone know where food is? ] -- nobody... --> [ Do I see someone bigger than me? ] +[ Do I see someone bigger than me? ] -- No --> [ howl! ] +[ Do I see someone bigger than me? ] -- Yes --> [ silence ] +[ silence ], [ howl! ] --> [ listen ] +[ listen ] -- one howl --> [ we follow, you lead ] +[ listen ] -- some howls --> [ howlers fight (one punch only) ] +[ listen ] -- no howls --> [ (unreachable state) RUN AWAY! ] +[ howlers fight (one punch only) ] --> [ Do I see someone bigger than me? ] +[ damage? ] -- yes --> [ run opposite way! ] +[ damage? ] -- no --> [ am I alone? ] +[ am I alone? ] -- yes --> [ food? ] +[ am I alone? ] -- no --> [ Anyone know where food is? ] +[ food? ] -- here --> [ eat ] +[ eat ] -- X=1 --> [ food? ] +[ food? ] -- near --> [ move to food ] +[ food? ] -- no --> [ move X squares in random direction ] +[ move X squares in random direction ] -- increase-X --> [ food? ] diff --git a/Mechanics/flow-8.graph b/Mechanics/flow-8.graph new file mode 100644 index 0000000..05042d3 --- /dev/null +++ b/Mechanics/flow-8.graph @@ -0,0 +1,8 @@ +[ START ] --> [ damage? ] +[ damage? ] -- yes --> [ run opposite way! ] +[ damage? ] -- no --> [ food? ] +[ food? ] -- here --> [ eat ] +[ eat ] -- X=1 --> [ food? ] +[ food? ] -- near --> [ move to food ] +[ food? ] -- no --> [ move X squares in random direction ] +[ move X squares in random direction ] -- increase-X --> [ food? ] diff --git a/Mechanics/parse.sh b/Mechanics/parse.sh new file mode 100755 index 0000000..f424095 --- /dev/null +++ b/Mechanics/parse.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +target="$1" + +while read -r line; do +echo "$line" | grep -q '^.so ' && \ + file="$(echo "$line" | grep '^.so ' | cut -d' ' -f2 )" && \ + [ -e "$file" ] && \ + echo '```graph' && \ + cat "$file" | graph-easy --boxart && \ + echo '```' || \ + echo "$line" +done < "$target"