World state and room content are communicated to the player primarily through generated text rather than graphics.
The room is conveyed through generated text typed into a panel rather than graphics.
The screen is mostly text: room state and interaction results are communicated as prose, with a label as the primary “view” of the world.
The main display. Set it from the active room's description and use BBCode for emphasis — this label is what the player actually “sees”.
$Desc.bbcode_enabled = true
$Desc.text = room.descriptionDescriptions live on the RoomData record, so the text the system renders is authored content, not hardcoded strings.
# RoomData.description holds the prose;
# the label is just a window onto it.Keep a log: append each interaction result and re-render, so the screen reads as an accumulating account of what the player did.
var log: Array[String] = []
func say(line):
log.append(line)
$Desc.text = "\n".join(log)In short: RichTextLabel updated from RoomData.description; interaction results appended as log entries
4 catalogued game(s) use this mechanic, spanning 1989–1991.
▶ Explore Text Description System interactively — see every game + the Godot system