Files
dreamer-game/scripts/technique_db.gd
2026-09-15 23:17:07 +02:00

314 lines
13 KiB
GDScript

class_name TechDB
## Techniken sind echte, in der Praxis erprobte Lösungsansätze.
## Jede trägt drei Hinweise: was sie tut, wann man sie anwendet, warum sie hilft.
static var LIST: Array = [
{
"id": "pomodoro",
"name": "Pomodoro-Technik",
"was": "25 Minuten am Stück an einer Sache arbeiten, dann 5 Minuten Pause. Nach vier Runden eine lange Pause.",
"wann": "Wenn eine Aufgabe zu groß wirkt und der Anfang immer wieder verschoben wird.",
"warum": "Ein klar begrenzter Zeitraum senkt die Einstiegshürde. Der Kopf muss nur 25 Minuten durchhalten, nicht den ganzen Tag.",
"woran": "jemandem, der aufräumt oder recherchiert, statt endlich anzufangen.",
"ursache": "anfang",
"belohnung": "erfolg",
"ersatz": "arbeitet in Blöcken",
"tags": ["prokrastination", "fokus"],
"farbe": Color(0.95, 0.45, 0.30),
},
{
"id": "zwei_minuten",
"name": "Zwei-Minuten-Regel",
"was": "Was unter zwei Minuten dauert, sofort erledigen. Große Vorhaben auf einen Zwei-Minuten-Anfang schrumpfen.",
"wann": "Bei einem Berg von Kleinkram oder wenn schon der erste Schritt blockiert.",
"warum": "Der Start kostet die meiste Energie. Zwei Minuten sind zu klein zum Ablehnen und ziehen meist die ganze Aufgabe nach sich.",
"woran": "jemandem, der aufräumt statt anzufangen oder eine Später-Liste schreibt.",
"ursache": "anfang",
"belohnung": "erfolg",
"ersatz": "fängt zwei Minuten an",
"tags": ["prokrastination", "ueberforderung", "perfektionismus"],
"farbe": Color(0.98, 0.72, 0.25),
},
{
"id": "wenn_dann",
"name": "Wenn-Dann-Plan",
"was": "Den Vorsatz an einen konkreten Auslöser binden: \"Wenn ich X tue, dann mache ich Y.\"",
"wann": "Wenn ein Vorhaben im Alltag jedes Mal untergeht.",
"warum": "Der Plan hängt an einer Situation statt an Willenskraft. Der Auslöser erinnert von allein.",
"woran": "jemandem, der eine Später-Liste schreibt und dann doch nichts tut.",
"ursache": "anfang",
"belohnung": "ordnung",
"ersatz": "folgt dem Wenn-Dann-Plan",
"tags": ["gewohnheit", "prokrastination"],
"farbe": Color(0.45, 0.80, 0.55),
},
{
"id": "habit_stack",
"name": "Gewohnheiten stapeln",
"was": "Eine neue, kleine Gewohnheit direkt an eine bestehende anhängen.",
"wann": "Wenn eine neue Routine nie einen Platz im Tag findet.",
"warum": "Die alte Gewohnheit ist der Anker. Es muss kein neuer Zeitpunkt erfunden werden.",
"woran": "jemandem, der auf etwas anderes umschaltet, sobald es zäh wird.",
"ursache": "halt",
"belohnung": "ordnung",
"ersatz": "hängt es an die Routine",
"tags": ["gewohnheit"],
"farbe": Color(0.40, 0.70, 0.85),
},
{
"id": "zerlegen",
"name": "Aufgabe zerlegen",
"was": "Ein großes Ziel in benennbare Einzelschritte teilen, bis der nächste Schritt trivial ist.",
"wann": "Wenn jemand vor einem Vorhaben erstarrt und nicht weiß, wo er anfangen soll.",
"warum": "Unklarheit lähmt stärker als Aufwand. Ein sichtbarer nächster Schritt macht Handeln wieder möglich.",
"woran": "jemandem, der recherchiert statt anzufangen oder eine Später-Liste schreibt.",
"ursache": "anfang",
"belohnung": "ordnung",
"ersatz": "zerlegt die Aufgabe",
"tags": ["ueberforderung", "prokrastination", "ziel"],
"farbe": Color(0.75, 0.55, 0.95),
},
{
"id": "umgebung",
"name": "Umgebung gestalten",
"was": "Das gewünschte Verhalten leichter machen, das störende schwerer. Handy in einen anderen Raum, Instrument sichtbar aufstellen.",
"wann": "Wenn gute Vorsätze regelmäßig an Ablenkung scheitern.",
"warum": "Verhalten folgt dem geringsten Widerstand. Die Umgebung wirkt zuverlässiger als Disziplin.",
"woran": "jemandem, der noch eine Runde spielt oder ständig umschaltet.",
"ursache": "halt",
"belohnung": "",
"ersatz": "hat es sich leicht gemacht",
"tags": ["ablenkung", "gewohnheit"],
"farbe": Color(0.55, 0.85, 0.40),
},
{
"id": "reframing",
"name": "Gedanken umdeuten",
"was": "Einen belastenden Gedanken prüfen und durch eine ebenso wahre, aber tragfähigere Sicht ersetzen.",
"wann": "Wenn jemand in einem Gedanken feststeckt, der ihn klein hält.",
"warum": "Nicht das Ereignis belastet, sondern seine Deutung. Eine andere Deutung verändert Gefühl und Handlung.",
"woran": "jemandem, der sich mit anderen vergleicht und dabei klein wird.",
"ursache": "grund",
"belohnung": "einordnung",
"ersatz": "deutet den Gedanken um",
"tags": ["selbstzweifel", "angst"],
"farbe": Color(0.95, 0.55, 0.75),
},
{
"id": "box_atmung",
"name": "Box-Atmung",
"was": "Vier Sekunden einatmen, vier halten, vier ausatmen, vier halten. Mehrere Runden lang.",
"wann": "Bei akuter Anspannung, kurz vor einem gefürchteten Gespräch oder Auftritt.",
"warum": "Langes Ausatmen bremst den Alarmzustand des Körpers. Der Puls sinkt, der Kopf wird wieder klar.",
"woran": "jemandem, der abends eine Serie schaut, um überhaupt runterzukommen.",
"ursache": "kraft",
"belohnung": "abschalten",
"ersatz": "atmet sich ruhig",
"tags": ["angst", "stress", "unruhe"],
"farbe": Color(0.40, 0.85, 0.95),
},
{
"id": "selbstmitgefuehl",
"name": "Selbstmitgefühl",
"was": "Mit sich selbst so sprechen wie mit einem guten Freund in derselben Lage.",
"wann": "Nach einem Fehler oder Rückschlag, wenn die innere Kritik lauter wird als der Vorsatz.",
"warum": "Harte Selbstkritik erhöht die Vermeidung. Freundlichkeit hält handlungsfähig und senkt die Abbruchquote.",
"woran": "jemandem, der am Telefon klagt, statt weiterzumachen.",
"ursache": "grund",
"belohnung": "verbundenheit",
"ersatz": "ist freundlich mit sich",
"tags": ["selbstzweifel", "rueckschlag", "perfektionismus"],
"farbe": Color(1.0, 0.80, 0.60),
},
{
"id": "schlaffenster",
"name": "Schlaffenster festlegen",
"was": "Feste Aufsteh- und Schlafenszeit, die letzte Stunde ohne Bildschirm, Zimmer dunkel und kühl.",
"wann": "Bei Dauermüdigkeit, Reizbarkeit und wegbrechender Konzentration.",
"warum": "Der innere Rhythmus braucht feste Anker. Erholter Schlaf ist die Grundlage für jede andere Veränderung.",
"woran": "jemandem, der wach bleibt oder abends am Kühlschrank steht.",
"ursache": "kraft",
"belohnung": "zeit_fuer_sich",
"ersatz": "hält das Schlaffenster",
"tags": ["erschoepfung", "gesundheit"],
"farbe": Color(0.45, 0.50, 0.90),
},
{
"id": "hilfe_bitten",
"name": "Konkret um Hilfe bitten",
"was": "Eine klare, kleine Bitte an eine konkrete Person richten, statt allgemein zu hoffen.",
"wann": "Wenn jemand allein an etwas hängen bleibt, das andere leicht lösen könnten.",
"warum": "Vage Bitten werden überhört. Menschen helfen gern, wenn sie genau wissen, was zu tun ist.",
"woran": "jemandem, der zu allem ja sagt und alles allein stemmt.",
"ursache": "zeit",
"belohnung": "anschluss",
"ersatz": "bittet um Hilfe",
"tags": ["einsamkeit", "ueberforderung"],
"farbe": Color(0.90, 0.90, 0.45),
},
{
"id": "nein_sagen",
"name": "Nein sagen mit Alternative",
"was": "Absagen und zugleich benennen, was ginge: \"Heute nicht, am Donnerstag gern.\"",
"wann": "Wenn der eigene Kalender von fremden Anliegen aufgebraucht wird.",
"warum": "Ein nacktes Nein fühlt sich riskant an. Mit Alternative bleibt die Beziehung heil und die Zeit geschützt.",
"woran": "jemandem, der zu allem ja sagt, bis für ihn nichts übrig bleibt.",
"ursache": "zeit",
"belohnung": "anerkennung",
"ersatz": "sagt Nein mit Alternative",
"tags": ["stress", "grenzen"],
"farbe": Color(0.85, 0.35, 0.45),
},
{
"id": "frosch",
"name": "Das Schwerste zuerst",
"was": "Die unangenehmste Aufgabe des Tages als Erstes erledigen, bevor irgendetwas anderes dran ist.",
"wann": "Wenn eine Aufgabe den ganzen Tag über im Nacken sitzt und alles andere zum Ausweichen wird.",
"warum": "Solange das Schwerste wartet, ist keine andere Arbeit befreit. Danach ist der Rest leicht.",
"woran": "jemandem, der morgens erst das Postfach aufräumt und Kaffee holt.",
"ursache": "anfang",
"belohnung": "erfolg",
"ersatz": "packt das Schwerste zuerst an",
"tags": ["ueberforderung"],
"farbe": Color(0.60, 0.80, 0.45),
},
{
"id": "zeitblock",
"name": "Zeitblöcke",
"was": "Den Tag in feste Blöcke teilen und jeder Aufgabe einen Block geben — auch dem Eigenen.",
"wann": "Wenn der Tag von Bitten anderer aufgebraucht wird und das Eigene nie dran ist.",
"warum": "Was keinen Platz im Kalender hat, verliert gegen alles, was einen hat.",
"woran": "jemandem, der zu allem ja sagt oder abends länger bleibt.",
"ursache": "zeit",
"belohnung": "ordnung",
"ersatz": "hält seinen Block frei",
"tags": ["stress", "ueberforderung"],
"farbe": Color(0.45, 0.65, 0.90),
},
{
"id": "bildschirmfrei",
"name": "Bildschirmfreier Abend",
"was": "Ab einer festen Uhrzeit bleiben Handy und Fernseher aus. Stattdessen etwas, das die Hände beschäftigt.",
"wann": "Wenn der Abend im Scrollen oder in Serien versickert und morgens nichts übrig ist.",
"warum": "Bildschirme versprechen Abschalten und liefern Reizung. Der Kopf braucht das Gegenteil.",
"woran": "jemandem, der abends eine Serie schaut oder endlos scrollt.",
"ursache": "kraft",
"belohnung": "abschalten",
"ersatz": "lässt den Bildschirm aus",
"tags": ["erschoepfung"],
"farbe": Color(0.35, 0.45, 0.70),
},
{
"id": "powernap",
"name": "Kurzer Mittagsschlaf",
"was": "Zwanzig Minuten schlafen, nicht länger, mit Wecker — am besten früh am Nachmittag.",
"wann": "Wenn nach dem Mittag nichts mehr geht und der Rest des Tages verloren ist.",
"warum": "Zwanzig Minuten reichen, um den Kopf zu klären, ohne in den Tiefschlaf zu fallen.",
"woran": "jemandem, der nachmittags wegdöst oder am Kühlschrank steht.",
"ursache": "kraft",
"belohnung": "unterbrechung",
"ersatz": "schläft zwanzig Minuten",
"tags": ["erschoepfung"],
"farbe": Color(0.55, 0.50, 0.85),
},
{
"id": "kette",
"name": "Die Kette nicht reißen lassen",
"was": "Jeden Tag, an dem man dran war, im Kalender abhaken. Die Reihe nicht unterbrechen.",
"wann": "Wenn oft angefangen und selten drangeblieben wird.",
"warum": "Eine sichtbare Reihe ist ein Einsatz. Sie zu brechen tut mehr weh als weiterzumachen.",
"woran": "jemandem, der auf etwas anderes umschaltet oder den Plan neu schreibt.",
"ursache": "halt",
"belohnung": "erfolg",
"ersatz": "hakt den Tag ab",
"tags": ["selbstzweifel", "perfektionismus"],
"farbe": Color(0.90, 0.60, 0.35),
},
{
"id": "verabredung",
"name": "Verabredung zum Dranbleiben",
"was": "Sich mit jemandem zu einer festen Zeit verabreden, um gemeinsam oder nebeneinander zu arbeiten.",
"wann": "Wenn man allein immer wieder aussteigt.",
"warum": "Vor einem anderen fällt Aufhören schwerer als vor sich selbst.",
"woran": "jemandem, der allein festhängt oder Verabredungen absagt.",
"ursache": "halt",
"belohnung": "verbundenheit",
"ersatz": "meldet sich zum Dranbleiben",
"tags": ["einsamkeit"],
"farbe": Color(0.95, 0.70, 0.50),
},
{
"id": "warum_notiz",
"name": "Das Warum aufschreiben",
"was": "In zwei Sätzen festhalten, wofür das Vorhaben steht — und die Notiz dort lassen, wo man sie sieht.",
"wann": "Wenn das Vorhaben klein geredet wird und niemand mehr weiß, warum es einmal wichtig war.",
"warum": "Ein Grund, den man lesen kann, hält länger als einer, den man sich merken muss.",
"woran": "jemandem, der am Telefon klagt oder die Sache abends wälzt.",
"ursache": "grund",
"belohnung": "einordnung",
"ersatz": "liest sein Warum",
"tags": ["selbstzweifel"],
"farbe": Color(0.80, 0.75, 0.50),
},
{
"id": "angstleiter",
"name": "Angstleiter",
"was": "Die gefürchtete Sache in Stufen teilen, von harmlos bis schwer, und jede Woche eine Sprosse höher.",
"wann": "Wenn etwas so viel Angst macht, dass es immer wieder abgesagt wird.",
"warum": "Angst schrumpft durch Gewöhnung, nicht durch Mut. Kleine Schritte gewöhnen.",
"woran": "jemandem, der Termine absagt oder vor dem Berg erstarrt.",
"ursache": "anfang",
"belohnung": "erfolg",
"ersatz": "nimmt die nächste Sprosse",
"tags": ["angst"],
"farbe": Color(0.50, 0.85, 0.80),
},
{
"id": "sorgenzeit",
"name": "Sorgenzeit",
"was": "Sorgen auf eine feste Viertelstunde am Tag vertagen. Was vorher kommt, wird notiert und wartet.",
"wann": "Wenn Sorgen den ganzen Tag dazwischenfunken.",
"warum": "Sorgen lassen sich nicht abstellen, aber verschieben. Verschoben verlieren sie an Gewicht.",
"woran": "jemandem, der drei Dinge gleichzeitig anfängt oder nachts wach liegt.",
"ursache": "grund",
"belohnung": "einordnung",
"ersatz": "parkt die Sorge bis fünf",
"tags": ["angst", "stress", "unruhe"],
"farbe": Color(0.70, 0.60, 0.90),
},
]
## Techniken, die gegen diese Ursache helfen.
static func fuer_ursache(ursache: String) -> Array:
var out: Array = []
for t in LIST:
if t["ursache"] == ursache:
out.append(t["id"])
return out
## Techniken, die über andere Menschen gehen -- bei Geselligen greifen sie besser.
static func ist_sozial(id: String) -> bool:
return str(by_id(id).get("belohnung", "")) in ["verbundenheit", "anerkennung"]
## Manche Techniken ersetzen die Handlung nicht, sie nehmen ihr den Auslöser.
## Die passen überall, wo ihre Ursache stimmt.
static func entfernt_ausloeser(id: String) -> bool:
return str(by_id(id).get("belohnung", "")) == ""
static func by_id(id: String) -> Dictionary:
for t in LIST:
if t["id"] == id:
return t
return {}
static func ids() -> Array:
var out: Array = []
for t in LIST:
out.append(t["id"])
return out