|
|
|
Mittlerweile macht es ja fast keinen Spaß mehr, Spiele von Hyperion zu testen, ich möchte doch auch mal wieder was Negatives schreiben. ;-)
Nein, Spaß beiseite. Nach dem dritten Topspiel in Folge dachte ich mir, daß es mal Zeit wird, einen Blick hinter die Kulissen zu werfen und habe deshalb Steffen Häuser von Hyperion gefragt, ob er uns nicht ein paar Zeilen über die Schwierigkeit beim Konvertieren von PC-Spielen schreiben kann. Lest hier, weshalb es schon mal etwas dauern kann, bis das neue Spiel der Belgier erscheint und auch angekündigte Releasetermine manchmal nach hinten verschoben werden:
"Beim Umsetzen von Spielen auf den Amiga gibt es folgende Faktoren zu berücksichtigen:
Eine Menge Spiele enthalten massiv x86-Assembler-Code, oft schlecht dokumentiert (oder unter Verwendung des Intel-Floatingpoint-Stacks, was einerseits schwer verständlicher Code und zum anderen schwer umzusetzen ist). Spiele mit 200 KB Assembler-Sourcen sind keine Seltenheit. Da muss man mindestens 4 Wochen einplanen, allein für das. Oft arbeitet man allein an einer einzigen Assembler-Funktion eine ganze Woche. Und bis man dann alle Grafikfehler aus von ASM nach C portierten Texturemappern draußen hat - das dauert meist. Glücklicherweise wird die Verwendung von ASM immer weniger. Oder es wird zumindest nur optional verwendet.
Wenn man Daten byte- oder wordweise aus Dateien (oder einer TCP/IP- Übertragung) liest, so verhalten sich x86 und PPC entgegengesetzt (0x1234 auf PPC ist 0x4321 auf x86). Man muss daher alle entsprechenden Routinen korrigieren. Das kann so "versteckt" sein, dass mit einer int-Leseroutine ein int in ein "Short" gelesen wird. Auf x86 kriegt man zufällig die "interessante Hälfte", auf PPC leider die "uninteressante" - sprich 'ne 0. So was ist oft sehr schwer zu finden. Und der Bug tritt leider meist erst bei VERWENDUNG der Daten auf, also viel später und an anderer Stelle im Code. Bei Freespace musste ich vor allem eine Menge Arbeit in den Netzwerk- Code bzgl. Endian-Konvertierung stecken. Aber auch der Modellcode war nicht völlig "Endian-Clean". Die Endian-Probleme verursachen bei den meisten Spielen den größten Aufwand.
Die meisten PC-Spiele gehen von der Verfügbarkeit virtuellen Speichers aus, selbst wenn auf der Packung "min. 32 MB RAM" steht. Auf dem Amiga muss man dann alle möglichen Speicherbedarfreduzierungsmaßnahmen vornehmen (kann bis zu 4 Wochen Zeit brauchen).
Oft werden Windows-APIs verwendet, die oft schwer lesbarer Code sind. Aber in der Zwischenzeit kennen wir uns auch damit sehr gut aus, so dass das kein so großes Problem mehr ist. Eine Direct3D->OpenGL Portierung kann dennoch heftige Überraschungen und viel Arbeit mit sich bringen. Das kann im "worst case" in die MONATE gehen, nicht nur Wochen... OpenGL/MiniGL und Direct3D sind halt in manchen Punkten ziemlich anders. Immerhin hat MiniGL auf dem Amiga wenigstens - wie Direct3D - Direktzugriff auf den Videospeicher. OpenGL auf Linux oder Mac hat nicht mal das, da kann es dann noch kniffliger werden, unter Umständen.
Im Unterschied zu einem Freewareport, wo man ein paar Sachen "for future update" offen lässt, nimmt ein kommerzieller Port doch ganz andere Dimensionen an, was Bugfreiheit, Installationsskripte, GUI usw. angeht. Das ist eine Menge Arbeit. Und dann findet doch noch jemand einen kleinen Bug, und der muss gefixed werden. Und beim Erstellen der Master-CD muss alles stimmen. So ein Glasmaster kostet immerhin seine 300 Euro, da ist kein Spielraum für Fehler ("Oops, nun hab ich ein File vergessen" - das darf einfach nicht passieren, aber deshalb wird die Master-CD vor dem Verschicken an den Publisher von uns auch lieber noch zweimal, dreimal geprüft, dass auch wirklich alles stimmt)."
Habt ihr auch einmal mitgerechnet? Da kommen ja selbst ohne große Schwierigkeiten locker ein halbes Jahr zusammen. Wenn man dann noch die Lizenzverhandlungen und die Betatests mit den anschließenden Korrekturen dazurechnet, ist zumindest mir klar, weshalb zwischen den Spielen soviel Zeit liegt. Und ich hoffe, euch geht auf, daß man das nur auf Dauer so weitermachen kann, wenn es sich auch finanziell lohnt, sprich, die Absatzzahlen stimmen! Also noch einmal: Softwarepiraterie tötet den Amiga!!!
Aber nun Schluß mit der Schwarzmalerei: Was ist von Hyperion denn in Zukunft noch so zu erwarten?
"Was von uns noch alles zu erwarten ist? Nun, zunächst mal Quake 2. Wir haben aber auch noch einen anderen Titel im Auge, dessen Chancen aber von den Verkaufszahlen von Freespace abhängen. Sollte das klappen, wird es natürlich auch noch weitere Spiele geben. Aber Quake 2 und dieser andere Titel - puh, Steffen, machst du es spannend - wären - vorausgesetzt es haut mit den Verkaufszahlen hin - in nicht allzu ferner Zukunft (sprich auf jeden Fall noch in der ersten Jahreshälfte - Quake 2 natürlich schon weit früher) machbar.
Und natürlich gibt es OS 4 (dazu später mehr)."
So, nun sind wir doch alle etwas schlauer und sehen hoffentlich ein, daß es auch einmal eine Verzögerung beim Release geben kann, wenn man die von Hyperion gewohnte Qualität haben möchte. Natürlich fällt das schwer, aber "Geduld ist eine Tugend".
Jürgen Theiner <Juergen.Theiner@t-online.de>