Nacharbeiten aus M1c für die nächsten Pläne #8
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Die Abschlussprüfung von M1c (#7) hat den Gleichschritt im Netz mit Korrekturen für zusammenführbar erklärt. Die Korrekturen sind im Branch erledigt. Diese Punkte wurden bewusst verschoben, weil sie erst mit den nächsten Plänen wichtig werden oder nur Kleinigkeiten sind. Jeder Plan übernimmt seine Punkte in seine Tasks. Die offenen Punkte aus #2 und #5 gelten weiter.
Entscheidungen
CLAUDE.mdsagt: „Für ein Koop-Spiel unter Freunden nehmen wir beides hin.“ Indocs/KONZEPT.mdsteht das nicht.docs/playtests/m1c.md). Ein exportierter Build, der ohne diese Werkzeuge läuft, wäre der nächste Schritt.Netz und Kern
Die Regel-Kennung deckt die Beitrittsgrenzen nicht ab (vier Spieler online, 16 bekannt). Abhilfe ist ein drittes eingefrorenes Skript, sobald sich die festgeschriebenen Werte das nächste Mal ändern. Bis dahin fängt die Prüfsumme eine Abweichung.
Das Dekodieren gegen feindliche Eingaben testen:
Abweichungsmeldungen pro Gast begrenzen. Heute schickt der Host auf jede Meldung die ganze Welt; auslösen kann das nur ein veränderter Client.
Schlüssel und Name werden an drei Stellen gleich dekodiert. Ein gemeinsamer Helfer vor M2.
join_refused(aus #5): Das Ereignis nennt jetzt den Schlüssel, aber die Hülle wertet es nicht aus. Ein Host, dessen geladene Welt schon 16 andere Spieler kennt, wäre ein stummer Zuschauer.Die LAN-Adresse des Hosts in der Statuszeile zeigen (Konzept Abschnitt 5: Der Host nennt seine Adresse).
Zwei Schläge eines Gastes, die außerhalb der Abklingzeit zwischen denselben zwei Takten ankommen, laufen beide im selben Takt; der zweite verfällt. Das passiert nur bei Bursts, also Nachrichten, die 250 bis 500 ms verzögert ankommen, und trifft 1,7 bis 5,9 % der Schläge, wie vor M1c. Abhilfe ist eine Markierung „in diesem Takt schon eingereiht“ im Host.
CLAUDE.mdsagte, eine stille Verbindung gelte „nach höchstensNetLink.TIMEOUT_MSEC“ als verloren. ENet prüft die Grenze aber nur, wenn eine Wiederholung fällig ist. Gemessen: 6,4 bis 15,6 s. Seit M1d (#12) steht dort „nach etwa“.Einen Test ergänzen, der Drosselung und Zeitüberschreitung über
get_statisticzurückliest. Dabei klären, obCLAUDE.mddie Untergrenze von 5 Sekunden nennen soll: Laut der Prüfung von M1d kann ENet eine stille Verbindung wegen der Untergrenze vonset_timeoutschon ab 5 Sekunden trennen.Hülle
main.gdaufteilen (Lebenszyklus, Meldungen, Eingabe, Dateien) und die doppelte Startfolge inplayund_reloadzusammenführen, bevor M2 dazukommt.--profilenicht still auf das Standardprofil zurückfallen lassen, sondern im Menü melden.online_players()abgleichen.Tests und Werkzeuge
Ein Test, dass die Platzhalter in
texts.csvauf Deutsch und Englisch übereinstimmen. Heute stimmen sie; eine Abweichung gäbe nur in einer Sprache einen Engine-Fehler.Testlücken der Hauptszene:
failedundprotocol_errorauf Szenenebene;Außerdem verwirft
await _wait_until(...)an vier Stellen sein Ergebnis.Der Zwei-Instanzen-Test zeigt bei einem Fehler weder das Ende von
guest.lognoch den Exit-Code des Bots. Seine Meldung „the host did not answer“ kommt auch, wenn der Host antwortete.Für den Startzeit-Wettlauf im Zwei-Instanzen-Test gibt es keinen eingecheckten Regressionstest, nur einen Versuch mit verzögertem Bot.
a_waiting_hit_is_dropped_when_its_guest_leavesbestünde auch, wenn der gehaltene Schlag das Verlassen überlebte, weilWorld::digabwesende Spieler übergeht. Der Test sollte den Wiedereintritt innerhalb der Abklingzeit prüfen.test_figures_travel_to_the_other_machinesscheitert, wenntest_session_link.gdallein in einem frischen Prozess läuft, weil ENet in der ersten Sekunde drosselt. In der vollen Suite ist der Test stabil. Das bestand schon vor der Korrekturwelle.Fragebogen
docs/playtests/m1c.mdmeint „Stand“ einmal das Archiv und einmal den Spielstand.rust-versioninCargo.toml) und woher Mitspieler das Archiv bekommen.Spieltest M1c, Antworten von Steven auf den Fragebogen
docs/playtests/m1c.md:Folgen für M1d (Stilproben):