Ein von Windows 2000 verursachter Half-Life-Fehler wurde gerade endlich behoben


Half-Life erhielt kürzlich anlässlich seines 25. Geburtstags ein großes Update, ein erheblicher Fehler blieb jedoch bestehen. In einer berühmten Drehbuchsequenz, in der ein langer, grüner Tentakel durch ein Fenster bricht und einen Wissenschaftler wegzieht, waren der Wissenschaftler und der Tentakel falsch ausgerichtet, sodass es so aussah, als wäre der Wissenschaftler aus eigenem Antrieb aus dem Fenster geschwebt.

Nicht länger. Nach über zwanzig Jahren hat Valve-Programmierer Ben Burbank den Fehler behoben – und erklärt, wie er es geschafft hat.

Als ich 1998 und 1999 zum ersten Mal Half-Life spielte, gab es diesen Fehler nicht. Die führende Theorie besagt, dass es durch die Win32-API mit Windows 2000 eingeführt wurde. Wie Burbank erklärt drüben auf Mastodonauf „Computern, auf denen mindestens Windows 2000 oder neuer läuft“, würde man die Fehlausrichtung sehen.

„Wir wollten das für das 25-jährige Jubiläums-Update beheben, aber vor der Auslieferung hatten andere Dinge Vorrang“, schreibt Burbank.

Als wir das Problem nachträglich beheben wollten, gab es offenbar drei Möglichkeiten, wie man das bewerkstelligen könnte. Tun Sie dies, indem Sie den Code reparieren, was laut Burbank „plausibel wäre, aber auf jeden Fall ein gründliches erneutes Testen jeder anderen Skriptsequenz erfordern würde und es möglicherweise nicht einmal reparieren würde“; „Ändern Sie die abgespielten Animationen (machbar)“; oder: „Ändern Sie die Karte, damit das Timing funktioniert.“

„Wir haben uns aus mehreren Gründen entschieden, die Karte zu ändern. Wenn wir die Sequenz so anpassen würden, dass das Timing des Wissenschaftlers funktioniert, könnte ein Spieler immer noch in der Tür stehen und auf den Wissenschaftler schießen und so die Sequenz unterbrechen, und dann würde er seine Animation abspielen.“ „Auf verrückte Weise. Deshalb wollten wir die Art und Weise ändern, wie die Sequenz ausgelöst wurde, damit sie unterbrechungsfrei ist“, schreibt Burbank.

„Dennoch führte die Neukompilierung der Karte zu einer Reihe von Änderungen im resultierenden BSP (denken Sie daran, diese Karten wurden zuletzt auf einem Windows 95/98-Computer kompiliert!).

„Jeder .bsp-Unterschied könnte zu geringfügigen, aber ärgerlichen Pfad- und Kollisionsfehlern führen. Das wollte ich nicht.“

„Deshalb habe ich die Karte nur verhext. Das Auslösen der Animation beim Öffnen der Tür (einige Community-Mods haben dies mit dekompilierten/neukompilierten Versionen der Karten gemacht) statt dann, wenn der Spieler durch die Tür geht, stellt sicher, dass der Spieler den Wissenschaftler nicht erschießen kann.“ bevor die Synchronisierung beginnt. Die Sequenz unterscheidet sich LEICHT, ähnelt aber eher der Reihenfolge, die auf den Alpha-Karten zum Zeitpunkt der Erstellung dieses Dokuments lief.“

Hex-Editing ist eine Methode zum Ändern der zugrunde liegenden Binärdaten einer Computerdatei und sieht aus wie die Zeichenfolge aus Buchstaben und Zahlen, die im Bild oben im Mastodon-Thread von Burbank zu sehen ist. Wie er jedoch in einer Antwort erklärt, „zum Glück die Teile.“ [he] Benötigt wurde der Klartext auf der rechten Seite.“

Ich liebe es, wenn Spieleentwickler erklären können, wie sie bei der Erstellung oder Verbesserung eines Spiels etwas gemacht haben – vor allem, weil es normalerweise viel schwieriger ist, als irgendjemand vermutet hätte, und das ist eine nützliche Perspektive auf die Entwicklung im Allgemeinen. Verdammt, über das Leben im Allgemeinen. Wenn nur jedes Studio seine Entwickler tatsächlich zu Wort kommen lassen würde.



source-86

Leave a Reply