Themabewertung:
  • 1 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Schicksalsklinge: Umfassender Bugfix-Patch
#36
Das Konzept der "Ingame-Inaktivitäts-Stunden", auf dem die Einhorn- und Sphärenriss-Zeitmessung basieren, kam mir schon immer Spanisch vor. Es ist zwar die effektive Beschreibung dessen, was tatsächlich abläuft. Nach Durchsicht des entsprechenden Programmcodes scheint mir dies aber nicht das zu sein, was vom Programmierer gewollt wurde. Der Code zählt in der Tat tatsächlich einfach die Stunden der vergangen Ingame-Tageszeit; jede Stunde werden Einhorn- und Sphährenriss-Zeitmesser um eins erniedrigt.

Warum braucht es dann "Inaktivität"? Warum reicht die Erhöhung der Tageszeit durch Schlafen oder Hin- und Herlaufen nicht? Hierzu braucht es Hintergrundinformationen: Die Ingame-Zeit wird von einer zentralen Prozedur namens do_timers() erhöht. Diese erhöht alle Ingame-Zeit-abhängigen Zähler, wobei eine Reihe von Zählern nicht erhöht wird, wenn eine bestimmte Variable (BCDA) den Wert 1 hat. Dazu zählen:
  • den Schaden durch die verfluchte Kettenrüstung (aus dem Drachen-Dungeon auf Runin)
  • das Einhorn
  • der Sphärenriss
  • zwei Fässer mit Orkfraß in der Orkhöhle zwischen Phexcaer und Skelellen
  • die Zeitmessung für das Verbrauchen von Lichtquellen
do_timers wird auf zwei Weisen aufgerufen: (1) wenn die Ingame-Zeit durch Spielereignisse wie Laufen (zwei Minuten pro Schritt), Schlafen usw. vorgespult wird, (2) durch den 120-Hz-Timerinterrupt des PCs, welcher u.a. für die MIDI-Musikausgabe verantwortlich ist und somit einen Echtzeittimer darstellt. Der Aufruf durch (1) setzt die BCDA auf den Wert 1, so dass die ganzen Zähler unangetastet bleiben! Nur beim Aufruf von do_timers() durch den PC-Echtzeitinterrupt, also Variante (2), verbleibt BCDA auf 0 und erhöht somit die genannten Zähler.

Das ist meiner Meinung nach genau das Gegenteil dessen, was ich erwarten würde --- ich würde erwarten, dass das gefährliche Ereignis des Sphärenrisses dann schneller kommt, wenn der Spieler sinnlos hin- und herläuft oder schläft, nicht aber, wenn er seinen Rechner eine Stunde stehen lässt etwa um was zu essen oder zu telefonieren. Mit anderen Worten: ich glaube, die Abfrage der genannten Variable BCDA ist einfach falschrum, wie es ja schon etwa bei den Krankheiten der Fall war.

Das wäre einfach zu patchen, hätte aber große Auswirkungen, eben auf all die genannten Dinge: die magische Kettenrüstung würde einmal pro Ingame-Stunde Schaden anrichten, das Einhorn nach 36 bis 60 Ingame-Stunden wiederkommen, der Sphärenriss nach 7 Ingame-Stunden, Lichtquellen würden nach 15-Ingame-Minuten um einen Wert herabgesetzt werden (d.h. eine Fackel hält 150 Ingame-Minuten, eine Laterne hält 1000 Minuten. All dies wird bislang nicht nach Ingame-Zeit, sondern nach "Inaktivitäts-Zeit", wie TeraBlight es genannt hatte, also Spieler-Echtzeit abgerechnet, meiner Meinung nach zu Unrecht. Andere Meinungen dazu?
Zitieren


Nachrichten in diesem Thema
RE: Schicksalsklinge: Umfassender Bugfix-Patch - von NRS - 31.03.2016, 22:38



Benutzer, die gerade dieses Thema anschauen: 51 Gast/Gäste