Konzeptphase. Interne Planungsfassung, Stand 04.11.2026. Pocket Planet ist noch in Entwicklung – Inhalte, Zahlen und Abläufe können sich ändern.
13.1 Drei Arten im Vergleich
| Im Spiel | Lokal | Remote Push | |
|---|---|---|---|
| Was | Toasts, Rückkehr-Karte, Chronik-Zähler | vom Gerät selbst geplant | vom Server (FCM/APNs) |
| Infrastruktur | keine | Plugin, keine Server | Firebase Cloud Messaging, Server/Konsole, Token-Verwaltung |
| Datenschutz | unkritisch | unkritisch (keine Daten verlassen das Gerät) | Geräte-Token = personenbezogenes Datum → Datenschutzerklärung, Data-Safety |
| Wahrheitsgehalt | exakt | exakt, wenn aus der Vorausberechnung | Server kennt den Spielstand nicht → nur allgemeine Botschaften |
| MVP | ✅ | ✅ | ❌ (frühestens Phase 3, nur für Live-Events) |
[Vorschlag] MVP = im Spiel + lokal. Remote Push bringt für ein Offline-Spiel ohne Server keinen Inhalt, den lokale Benachrichtigungen nicht ehrlicher liefern könnten.
13.2 Technik
- Android: Plugin „Android Notification Scheduler“ (MIT, ursprünglich cengiz-pz, jetzt
godot-mobile-plugins) – [Fakt] letzte gefundene Listung für Godot 4.3 (README). [Annahme] Kompatibilität mit 4.7 ungeprüft → Ticket T-24 testet sie zuerst. Fallback: eigenes kleines Android-Plugin v2 (Kotlin,AlarmManager+NotificationCompat, ~150 Zeilen) nach dem Muster von Bellmoors Analytics-Plugin. - iOS (später): „iOS Notification Scheduler“ aus
godot-sdk-integrations(Listung für Godot 4.5/4.6) (Asset Library). - Berechtigung: Android 13+ verlangt
POST_NOTIFICATIONSzur Laufzeit. Wir fragen nicht beim Start, sondern am Ende der ersten Sitzung, mit Begründung im Spiel („Soll dein Planet dir Bescheid geben, wenn etwas Besonderes passiert? Höchstens einmal am Tag.“). Ablehnung wird respektiert. Ein erneutes Angebot kommt höchstens einmal, nach 7 Tagen, aus den Einstellungen heraus. - Kanäle (Android):
planet_events(Standard),energy(niedrige Wichtigkeit). Der Spieler kann sie im System einzeln abschalten.
13.3 Nur wahre Benachrichtigungen – das Verfahren
- Beim Pausieren rechnet
offline.forecast(state, 72)die nächsten 12 h in denselben Makroschritten voraus, die später beim Öffnen gerechnet werden (03 §3.7). Laufzeit ≤ 1,5 s im Worker-Thread. Android gibt beim Pausieren genug Zeit; bricht die Berechnung ab, wird nur „Energie voll“ geplant. - Ergebnis: Liste von
ForecastHit {step, kind, weight, text_key, params}. notify.schedule_from_forecast()wählt höchstens einen Treffer mit dem höchsten Gewicht ≥ Schwelle und plant ihn zum Zeitpunktpause_time + step × 10 min.- Beim Öffnen werden alle geplanten Benachrichtigungen gelöscht und beim nächsten Pausieren neu geplant.
- Weil das Nachrechnen deterministisch dieselben Schritte durchläuft, ist das gemeldete Ereignis wirklich passiert, wenn der Spieler öffnet. Test
tests/test_offline.gdsichert das ab.
Ausnahme: Ereignisse unter die Offline-Schutzregel (02 §2.8) werden als „steht bevor – deine Entscheidung“ formuliert, nie als „ist passiert“.
13.4 Ereignisse und Texte
| Auslöser | Gewicht | Beispieltext (de) | Kanal |
|---|---|---|---|
| Neue Art durch Evolutionssprung (Karte wartet) | 70 | „Die Glimmerflosser stehen an der Küste. Wie geht ihre Geschichte weiter?“ | planet_events |
| Erster Stamm / Dorf / Stadt | 90 | „Am Fluss von Ilva brennt das erste Dorffeuer.“ | planet_events |
| Epochenziel erfüllt | 85 | „Dein Planet hat ein neues Zeitalter erreicht.“ | planet_events |
| Ereignis steht bevor (Schutzregel) | 80 | „Am Nordpol wächst das Eis. Eine Eiszeit kündigt sich an.“ | planet_events |
| Legende entdeckt | 95 | „Etwas Seltenes ist in den Kristallbergen erwacht.“ | planet_events |
| Tagesziele neu | 30 | „Drei neue Aufgaben für deinen Planeten.“ | energy |
| Energie voll | 20 | „Deine Schöpfungsenergie ist wieder voll.“ | energy |
Texte stammen aus Vorlagen mit Namen aus dem Spielstand. Keine Ausrufezeichen-Ketten, keine Dringlichkeit („Jetzt!“), keine Verlustdrohung („Deine Art stirbt!“).
13.5 Spam-Schutz
- Höchstens 1 Benachrichtigung pro Tag, höchstens 4 pro Woche.
- Ruhezeiten 21:00–09:00 Ortszeit (einstellbar): Fällt ein Treffer hinein, wird er auf 09:00 verschoben, aber nur, wenn das Ereignis bis dahin noch gilt (sonst verworfen).
- Keine Benachrichtigung innerhalb von 2 h nach dem letzten Öffnen.
- Nach 3 ignorierten Benachrichtigungen in Folge: Frequenz halbiert. Nach 14 Tagen ohne Öffnen: gar keine mehr (kein Werben um Abgewanderte).
- „Energie voll“ nur, wenn die Energie beim letzten Pausieren unter 30 % lag.
13.6 Einstellungen
Einstellungen → Benachrichtigungen: Hauptschalter · „Besondere Ereignisse“ · „Energie & Aufgaben“ · Ruhezeiten von/bis. Standard nach Zustimmung: Ereignisse an, Energie aus.
13.7 Datenschutz
Lokale Benachrichtigungen verarbeiten keine Daten außerhalb des Geräts. In der Datenschutzerklärung kurz erwähnen; im Play-Formular „Datensicherheit“ entsteht dadurch kein neuer Datentyp. Remote Push (Phase 3) würde Geräte-Token erzeugen → dann Datenschutzerklärung und Data-Safety-Angaben anpassen.