Leftgridtop
News

Rekord27.02.2010
BUG13.02.2010
Suchen Verstärkung26.12.2009
Frohe Weihnachten24.12.2009
Archiv
grid

MAP23.08.2009
Ports20.04.2009
BUG entfernt!04.01.2009
Painsound07.12.2008
Archiv
shooter
copy-paste-Fehler

Das war wieder mal einer dieser Tage zum Verzweifeln! Aber dazu später mehr… Ich bin früh aus Hildesheim aufgebrochen, um mich mit Lukas in Braunschweig zu treffen. So gegen 12 Uhr angekommen, haben wir uns als erstes Ideen für unseren neuen Karten-Editor überlegt, der von Christian in BlitzPlus programmiert wird. Da Bilder meist mehr aussagen als tausend Worte, haben wir unsere Vorschläge, Ideen und Wünsche in der Delphi GUI schnell zusammengeklickt und Christian präsentiert. Nach einer kleinen Mittagspause haben wir dann gegen 16 Uhr angefangen an strike2Death zu programmieren.

Erstmal hatten wir mit einem kleineren Problem zu kämpfen, welches wir zwar mit einem Workflow beseitigen konnten, es für uns aber immer noch ein Rätsel bleibt. Unser ORB wird aus 3 Grafiken in einem ImageBuffer zusammengesetzt. Beim Zeichnen der fertigen Figur auf den Bildschirm, wird jedoch die mask Farbe mitgezeichnet. Vor jedem Neuzeichnen ins Image wurde mittels CLS (mit der mask Farbe) gesäubert was scheinbar nicht auf jeder Rechnerkombination einwandfrei funktionert hat. Möglicherweise ein Bug vom Compiler. Jetzt wird mit einer Grafik, die nur die mask Farbe enhält das Image gelöscht, anstatt mit cls oder rect. Nur so haben wir es hinbekommen, dass es auf beiden Rechnern ohne Rahmen lief.

So gegen 18 Uhr haben wir dann begonnen uns weiter um den Netzwerkcode zu kümmern. Nach einigen Tests haben wir festegestellt, dass unser Spiel bei 3 Spielern ständig abstürzt. Leider war der Blitz Debugger beim Debugen keine große Hilfe, weil er sich beim Inkludieren von Quelltexten \"verschluckt\" und beim Durchsteppen nicht die richtige Zeile anzeigt. Der Fehler konnte also überall aufgetreten sein.
Wir konnten recht früh noch feststellen, dass beim Empfänger ein Byte zuwenig ankommt und es dadurch zu Folgefehler kommt. Wir haben dann die unterschiedlichsten Hypothesen aufgestellt, warum ein Byte fehlt: Senden wir falsch oder lesen wir falsch aus oder war es doch was anderes??? Dann haben wir begonnen den Code Stück für Stück auseinander zu nehmen und soviel wie möglich loggen zu lassen. Nachdem wir die ganze Nacht durchgemacht haben und langsam am verzweifeln waren, da wir den Fehler einfach nicht lokalisieren konnten, ist uns gegen 9 Uhr morgens, also gute 15 Std. später, ein Daten-Paket aufgefallen, welches den Absturz wohl verursachte. Nämlich, als wir damals den Netcode komplett überarbeitet haben, wurden Teile auch kopiert und angepasst; jedoch nicht vollständig...grr!
Zwischendurch sind wir noch auf einen anderen Fehler, der beim Pingen zwischen den Spielern aufgetreten ist, gestossen. Dieser Fehler kommt erst zum Vorschein, sobald erst mehr als ZWEI Spieler im Spiel sind. Gerade diese Fehler, die erst ab 3 Spielern auftauchen sind schwer zu finden und oft der Hauptgrund für ewige verzweifelte Bug-Such-Aktionen.
Aber in Endeffekt saßen wir 16 Stunden (SECHSZEHN!) an einem copy-paste-Fehler, den wir vor Wochen gemacht haben und der nur zeitweise auftritt.

Kommentare(0) | Mark (20.07.2008 )

Righttop