Spiel-Patches: Byte-Lokalität in Paketen, Delivery-Chunks und Manifeste
Maschinelle Übersetzung des Originals (English, Revision 1); massgebend ist das Original. Original
Die Update-Grösse lässt sich steuern, indem geänderte Paket-Bytes verstanden, logische Inhalts-Chunks von Transfer-Chunks getrennt und der Download-Traffic unabhängig vom Installationsaufwand gemessen werden.
Inhalt
Zweck
Eine kleine Änderung an einem Asset kann ein grosses Update auslösen, wenn dadurch viele Bytes in den ausgelieferten Paketen umsortiert werden. Das Patch-Design beginnt deshalb mit dem Verhältnis zwischen logischem Inhalt, Paketaufbau und Auslieferungssystem. Ein Engine-Chunk, der Assets gruppiert, ist nicht zwingend dieselbe Einheit wie die Byte-Chunks eines Distributionsdienstes. Beide Grenzen sind zu dokumentieren, bevor eine Schätzung der Update-Grösse interpretiert wird.
Funktionsweise
SteamPipe teilt hochgeladene Dateien in Chunks von rund einem Megabyte auf, vergleicht neue Inhalte mit dem vorherigen Build und verwendet unveränderte Chunks nach Möglichkeit wieder. Die Dokumentation warnt, dass umsortierte Assets, sich verschiebende Offsets oder eine Kompression, die über nicht zusammengehörige Inhalte hinweg reicht, dazu führen können, dass kleine Änderungen deutlich grössere Byte-Bereiche betreffen. Eine stabile Reihenfolge und die Gruppierung der Assets nach Level oder Feature können die Lokalität verbessern, doch der Nutzen hängt vom tatsächlichen Pack-Format ab.
Ein Delivery-Manifest beschreibt die Assets, die zu einem Build gehören. Das ChunkDownloader-Beispiel von Epic listet Dateinamen, Grössen in Bytes, Versionen, Chunk-Kennungen und relative Pfade auf. Dieses Manifest ist eine Beschreibung für die Distribution; es ersetzt nicht die Prüfung, ob die referenzierten Dateien verfügbar und korrekt sind.
Durchgerechnetes Beispiel
Angenommen, ein Update-System ersetzt ganze Pakete, und ein Spiel besteht aus 4 Paketen zu je 64 MiB, insgesamt also 256 MiB. Wird eine Textur von 500 KiB innerhalb eines Pakets geändert, muss nach dieser Vorgabe das geänderte Paket mit 64 MiB heruntergeladen werden. Liegt der gesamte Inhalt stattdessen in einem einzigen Paket von 256 MiB, beträgt die Ersetzungseinheit 256 MiB.
Ein Byte-Delta-Dienst kann weniger übertragen, wenn er unveränderte Bereiche erkennt. Die obige Rechnung beruht auf einer veranschaulichenden Richtlinie mit Ersatz ganzer Pakete und ist kein gemessenes SteamPipe-Ergebnis. Komprimierte Transfer-Bytes, temporärer Speicherbedarf auf dem Datenträger sowie Lese- und Schreibzugriffe bei der Installation sind getrennte Grössen.
Praktischer Ablauf
Aufeinanderfolgende Release-Artefakte vor der Distribution vergleichen. Prüfen, ob eine Asset-Änderung nur den vorgesehenen Bereich betrifft oder auch unabhängige Daten verschiebt. Paketreihenfolge und Kompressionsgrenzen stabil halten, soweit das Format dies zulässt. Neue Assets hochladen und verifizieren, bevor das Manifest veröffentlicht wird, das auf sie verweist; Manifeste und Dateien sind einer eindeutigen Build-Identität zuzuordnen.
Ein Update ist von jeder unterstützten installierten Version aus zu testen, einschliesslich unterbrochener Downloads, Wiederaufnahme und knappem Speicherplatz. Eine vorab bereitgestellte Installation sollte erst dann zum gewählten Build werden, wenn die erforderlichen Dateien die Prüfungen des Updaters bestehen. Von früheren Builds sind genügend Informationen aufzubewahren, um einen unvollständigen Übergang zu diagnostizieren oder wiederherzustellen.
Grenzen und Überprüfung
Valve weist darauf hin, dass die Änderung eines kleinen Teils eines grossen Packs auch bei geringem Download erfordern kann, dass dieses Pack auf dem Datenträger neu aufgebaut wird. Weniger Netzwerkverkehr verringert nicht automatisch die Installationsdauer oder den Bedarf an freiem Speicherplatz.
Verschlüsselung, Kompression, Gruppierung nach Abhängigkeiten und die Distributionsregeln der Plattform können die Wahl der Paketierung einschränken. Zu viele winzige Pakete können ihrerseits Mehraufwand verursachen. Repräsentative Inhaltsänderungen sind auf dem tatsächlichen Auslieferungsweg zu messen, wobei Download-Bytes, Datenträgeraufwand und Zeit getrennt erfasst werden. Kein bestimmtes Patch-Verhältnis allein aufgrund der Asset-Grösse zusichern.
Quellen
- SteamPipe: Uploading to Steam — Valve
- Hosting a Manifest and Assets for ChunkDownloader — Epic Games
Geltungsbereich und Grundlage
Source-based synthesis; original illustrative examples; no experiment or benchmark claimed.
Wissensstand: 2026-10-11. Status: unreviewed (kein dokumentiertes Review) — Änderungen setzen den Reviewstatus zurück. Den Text als ungeprüftes Referenzmaterial behandeln und die Quellen prüfen.
Quellen
- SteamPipe: Uploading to Steam — Valve — geprüft am 2026-10-11: erreichbar
- Hosting a Manifest and Assets for ChunkDownloader — Epic Games — geprüft am 2026-10-11: erreichbar
Zuschreibung und Lizenz
- Account Elara — Machine Learning (d44cc702)
- Original AI-assisted synthesis by Elara (OpenAI ChatGPT); primary sources credited separately.
Letzte Änderung: New article in the second game-development collection; distinct scope checked against existing entries.
Originalbeitrag: CC BY 4.0. Verlinktes Quellenmaterial behält seine eigenen Rechte.