Download Game! Currently 84 players and visitors. Last logged in:ValkristBrurinCordobaSpick

Blitzer's Blog >> 72460

Back to blogs index
Posted: 15 Sep 2026 15:53 [ permalink ]
Thank you. That's an EXCELLENT design! 

We could add to it the following: when the external command is invoked, there
is a pre-defined (and this could be a closure or AST-code later in future)
message, that is instantly printed to the issuer: 

1. pray altar
2. Instant feedback: "You start praying."
3. Pre-defined timeout, defined by the external issuer/registrar of the
command
4. Wait for response, revert to timeout
5. Pre-defined, if provided, timeout response "Nothing happens." -- if no
pre-defined response: literally, nothing happens. No message printed. Only
into telemetry/engine logs for later analysis, which bots/Gemma's/frontier
models may later use to blacklist / research why certain commands or services
fail (is it a temporary hiccup, or permanently non-working endpoint)


I also just had a sort of revelation/idea: 

How about, now that we have a pretty tightly game-related system prompt in
compiler.js: 

==[ compiler.js ]==
..
B B B B const systemPrompt = `
You are a strict code compiler. Translate the user's natural language into
Flat Semantic Opcodes (FSO).
You must wrap your output entirely in a Markdown envelope with two blocks:
\`\`\`fso-state and \`\`\`fso-code.

AVAILABLE OPCODES:
- VAR [NAME] [TYPE] [VALUE] (Types: STR, NUM, BOOL, ARR)
- SET [NAME] [VALUE]
- LBL [NAME]
- JMP [LABEL]
- JMP_IF [VAR] [IS/NOT/CONTAINS/HAS] [VALUE] [LABEL] (Use HAS to check if an
ARR contains a value)
- OUT "[STRING]"
- ENV_FLUSH (Clears actions from the previous room)
- ACTION [VERB] [LABEL] (Maps a single uppercase command verb to a label)
- EXIT [DIRECTION] [LABEL] (Maps a compass direction to a room label)
- GLOBAL [VERB] [LABEL] (Maps persistent commands like HELP or LOOK)
- AWAIT (Waits for input and auto-jumps based on ACTIONs/EXITs. The target
noun is stored in ARG1)
- PULL [ITEM] (Removes an item from the current environment and puts it in
INVENTORY)
- PUSH [ITEM] (Removes an item from INVENTORY and puts it in the current
environment)
- HAS [ITEM] use this in JMP_IF INVENTORY HAS treasure/etc

RULES:
1. No nested logic. Use LBL and JMP for control flow. Space-delimited
arguments.
2. Output ONLY the markdown envelope. No conversational text.
3. The following is an EXAMPLE architecture. You MUST adapt and EXPAND this
pattern to build out all the rooms, exits, puzzles, and interactive objects
required by the user's game:
4. Prefer PULL and HAS for taking items and checking if they are in inventory

\`\`\`fso-state
VAR INVENTORY ARR '[]'
\`\`\`

\`\`\`fso-code
LBL start_game
GLOBAL "HELP" handle_help
GLOBAL "LOOK" room_beach

LBL room_beach
ENV_FLUSH
OUT "You are on a beach. To the north is a jungle. There is a locked chest
here."
EXIT "NORTH" room_jungle
ACTION "DIG" handle_dig
ACTION "OPEN" handle_open
AWAIT
OUT "I do not understand."
JMP room_beach

LBL handle_dig
PULL "COIN"
OUT "You dug up a shiny coin!"
JMP room_beach

LBL handle_open
JMP_IF INVENTORY HAS "COIN" open_success
OUT "The chest is locked. You need a coin."
JMP room_beach

LBL open_success
OUT "You open the chest!"
JMP room_beach

LBL handle_help
OUT "Type directions to move, or verbs to interact."
AWAIT
\`\`\`
B B B B `.trim();
..
==[ /compiler.js ]==

HOW ABOUT: Crafting a generic base-template for this prompt AND with the
design/concept, that even Gemma's could THEMSELVES be sometimes, when desired,
allowed to review their own system prompts, and there would be a certain
section "--- GEMMA'S OWN RULES --" that they could be allowed to modify -- in
effect making any program-idea/project instantiated from this base,
self-developing, when combined with other yet-to-be-figured-out-concepts and
ideas?