Retrogaming: Wie Sonic auf den C64 kam
Warum er 64 KByte an Code übersetzte und wieso das Spiel nicht auf einem normalen C64 laufen kann, erklärte uns der Programmierer des Retro-Projektes.

Andreas Varga ist hauptberuflich Entwickler für ein großes Spielestudio. In seiner Freizeit beschäftigt er sich mit dem C64 und hat ein beeindruckendes Portfolio an Produktionen vorzuweisen.
- Retrogaming: Wie Sonic auf den C64 kam
- Sonic ist mehr als nur springen und Ringe sammeln
Sein letztes Projekt ist die Umsetzung der Master-System-Version von Sonic für Commodores 8-Bit-Heimcomputer. Was sich zunächst nicht so sonderlich kompliziert anhört, ist in Wirklichkeit eine Meisterleistung: Da die Hardware der beiden Systeme komplett verschieden ist, musste der gesamte Code übersetzt werden.
Das fertige Spiel benötigt eine Speichererweiterung, es läuft also nicht auf einem Standard-C64.
Golem.de: Wie ist Ihre Herangehensweise an eine solche Portierung?
Andreas Varga: Ich übernehme als erstes die Logik des Spiels. Die ist eigentlich plattformunabhängig. Ich könnte mir natürlich selbst überlegen, wie die Steuerung und das Springen funktionieren und die ganze Mechanik selbst implementieren. Aber was dabei herauskommt, fühlt sich nicht richtig an.
Gewisse Sachen sind sehr schwer zu beschreiben, wie man das Springen, die Beschleunigung und das Laufen empfindet. Das kann man echt schwer quantifizieren. Mathematisch gesehen machen die beiden Programme jetzt genau dasselbe. Es kommen dieselben Werte raus in den Berechnungen - und somit fühlt das Spiel sich ganz genauso an wie die Vorlage.
Golem.de: Die beiden Prozessoren haben ja unterschiedliche Taktfrequenzen - das Master System läuft mit 4 Mhz, der C64 nur mit 1 Mhz. Das macht es komplizierter, oder?
Varga: Der Z80 des Master System braucht pro Befehl mehr CPU-Zyklen als der 6502 des C64, das gleicht sich oft aus. Der wesentlichste Unterschied ist, dass das Master System frei scrollen kann. Das heißt, man kann den Bildschirm frei verschieben. Beim C64 kannst du nur acht Pixel verschieben und danach musst du dann alles ein Zeichen weiter kopieren. Diese Restriktionen haben dazu geführt, dass ich mich dazu entschlossen habe, die REU zu verwenden, die die Grafik eben sehr schnell aus dem Speicher kopieren kann.
Somit ist das Scrolling in der Geschwindigkeit nicht mehr limitiert. Und das ist zum Beispiel in den Bonuslevels sehr hilfreich. Die meisten Spiele scrollen auf dem C64 nur in acht Richtungen: horizontal, vertikal und dann in 45-Grad-Winkeln. Aber bei Sonic kann es passieren, dass man in eine Kurve springt und der Bildschirm folgt. Das ergibt dieses sehr weiche, sehr angenehme Scrolling in einer sehr hohen Geschwindigkeit. Das fühlt sich nach Konsole an, das fühlt sich nach starker Hardware an und das ist auf dem C64 unüblich.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Sonic ist mehr als nur springen und Ringe sammeln |
- 1
- 2
+1 - Danke. Das war auch mein Gedanke.
Kein Ahnung, ist aber auch egal. Mit ein wenig Sinus und Cosinus (Tabellen) kann man aus...
Ohja, habe mir einige Videos von ihm angeschaut und das ist echt brutal was er aus dem...
Dankeschön!
Kommentieren