Slipstream für C16,C116,Plus/4 und C64

  • Slipstream für C16,C116,Plus/4 und C64

    Auch wenn ich es letzte Nacht schon auf unserer Facebook-Seite geschrieben habe, hier nochmal der Hinweis für alle Forennutzer: Seit heute gibt es ein neues 8Bit-Spiel welches zeitgleich auf der BCC #11 in Berlin für C16 (64K),C116 (64K),Plus/4 und einer Version für den C64 veröffentlicht wurde. Es handelt sich dabei um einen Weltraum-Shooter mit gefüllter Vektorgrafik ähnlich wie "Star Fox" auf dem SNES und ist trotz dieser Features noch gut spielbar. Dabei bietet die C64-Fassung sogar noch automatischen Support für die sog. "SuperCPU" von CMD, eine teure Zusatzhardware welche den C64 bis auf 20 Mhz. beschleunigte.

    Beide Versionen können hier kostenlos herunter geladen werden: pouet.net/prod.php?which=69108


    Video (C64 Version):




    Video (C16/116/Plus/4 Version mit 64K):

    Ich bin der Musikant mit Taschenrechner in der Hand.
  • Da Manuel mich jetzt extra gefragt hatte hier mal meine Gedanken zu unserem Spiel:

    Eigentlich wollte ich ein Wipeout auf dem C16 bauen und hatte auch schon eine komplette 3D Engine dafür fertig. Das Problem, was sich dort leider zeigte, war, dass der C16 leider zu langsam war um ein halbwegs angenehmes Spielerlebnis zu garantieren. Die Frameraten waren eher bei 2 FPS oder ähnlichem.

    Der Wipeout Hintergrund wird z.B. auch beim ersten Slipstream Loadingscreen (von Nero sichtbar).

    Danach begann eine Zeit in der ich nicht wußte wie weiter. Bis ich die zündende Idee hatte einfach kleine Objecte darzustellen anstatt einer kompletten 3D Welt.. Ich schaute ein wenig im Netz nach allen möglichen 3D Spielen. Vor allem The Sentinel viel mir auf, dort ist die Kamerabewegung jedoch über einfaches Scrolling realisiert. Bei 3D Spielen mit kleineren Objekten viel mir persönlich besonders "Silpheed" auf dem Apple 2 GS auf.. Ich weiß nicht genau, was die da machen eventuell ist da auch viel vorberechnet, aber die zeigen eine Menge sehr detaillierter kleiner Vektorobjekte an. Das sollte dann meine Inspiration für dieses Spiel sein. Vielleicht sieht man das auch am Wireframe Intro. Nachdem ich ein paar Tests gemacht hatte schien es, als ob ein ziemlich flüssiges 3D Spiel möglich sein könnte.

    Da ich so Spiele wie XeO3 vorher sah, hatte ich mir auch Gedanken darüber gemacht, wie ich schnell kleine Objekte auf den Screen blitten kann und habe einfach eine Technik aus Majesty of Sprites I wiederverwendet. Den EOR Filler.. Damit kann man relativ schnell Flächen füllen, was natürlich bei Polygonen ein schönes Feature ist. Im Gegensatz zu MoS I verwende ich aber bei Slipstream den CharsetMode, da damit ein schnelleres Löschen des Bildschirms und auch ein schnelleres Zeichnen der Outlines möglich ist.

    Die ersten 6 Level entstanden danach relativ schnell. Dann zeigte ich das Spiel Nero (unserem Grafiker). Ich glaub er war am Anfang nicht so begeistert wie ich, hatte aber gute Ideen, wie man die pure Engine grafiktechnisch hochstylen könnte (Ich bin immer sehr dankbar für Neros Hilfe bei den Projekten). Die Idee mit den kleinen Loadingscreens kam von ihm, was am Ende auch ein klasse Vorschlag war.

    Darauf folgte viel Gebastel und Nero hatte sich in seiner knappen Freizeit auch um viele für das Spiel wichtige Screens gekümmert. Am Ende war eigentlich bloß der Sound das Problem.
    Degauss (der beste Musiker für diese Art von Tunes auf dem Plus/4), stand auch bis zum Hals in Arbeit, weswegen ich ihm 2 oder 3 Monate Auszeit geben "musste". Da das am Ende alles so brenzlich war, hab ich mir noch Verstärkung von 5tarbuck geholt, der auch wiedermal top Tunes gezaubert hat. 5tarbuck hat auch in beiden Majesty of Sprites Teilen einen Großteil der Musiken fabriziert. Die C16 Version wurde am Ende sehr knapp, aber es hat zum Glück alles geklappt. Degauss hat eine Menge sehr guter Tunes abgeliefert und ihm verdanken wir überhaupt erst das Musikprogramm ("Knaecketraecker") für den Plus/4. Vielen Dank an Nero,5tarbuck und Degauss für die wundervolle Zusammenarbeit an dem Spiel.

    Für die C64 Version hatte ich Dalezy nach Tunes gefragt, und er hatte sofort eingewilligt. Als er das Spiel gesehen hatte, stieg seine Motivation merklich. Innerhalb von kürzester Zeit erschuf Dalezy 11 Tunes für das Spiel.. Er hatte strenge Limitierungen, was Speicher und Stimmenanzahl anging (2 Stimmen, 2400 Byte).. Selbst die Soundeffekte waren für ihn kein Problem. Als Programm haben wir Goattracker verwendet. Die Tunes klangen die ganze Zeit etwas out of synch, was daran lag, dass der Bildschirmspeicher auf dem C64 die Tunes überschrieben hatte, als ich das festgestellt hatte, kam eine kurze Zeit des Bangens, am Ende konnte ich nochmal so 1024 Byte für die Tunes frei machen.

    Das Spiel ist speichertechnisch sehr dicht gepackt, es sind nur noch sehr wenige Bytes frei beim C64 und beim C16. Dankbar bin ich auch für die Hilfe von Krill, der seinen Plus/4 Loader schnell noch NTSC tauglich gemacht hatte.

    Übrigens das Spiel sollte auch in NTSC und mit jeder beliebigen Floppy laufen können, da wir den Kernel Fallback von Krill auf dem C64 und auf dem C16 eine eigene Routine dafür verwenden. Was mir besonders Spass gemacht hatte, war um die Fehler des C16 Vice (xplus4) herumzubauen. Es hatte zwar einige Mühe gekosten, es auch für diesen Emulator zum laufen zu bringen, aber ich denke das war es wert. Als ich im Wartemodus auf Grafiken und Musiken war, ist mir noch eingefallen, dass ich ja mit dem Spiel auch die SuperCPU unterstützen könnte. Hab einen sehr erstaunlich guten Artikel im Netz für Portierungen dorthin gefunden. Malte Mundt hatte den geschrieben und es lief dadurch alles relativ reibungslos. Ich musste natürlich ein paar Illegal Opcodes aus dem Code dafür entfernen, was auch ein bisschen Tränen verursacht hatte, da das Programm dadurch etwas langsamer läuft, aber das war es ebenfalls wert. An einer Stelle habe ich einfach die gesamte Routine auf eine andere umgebogen um es nicht doll zu verlangsamen.

    Ich hoffe der Artikel war ein wenig erhellend.. Gibt natürlich noch viel mehr zu dem Thema. Vielleicht kann ja jemand mit diesem Text etwas anfangen..

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von mad ()

  • Ich habe das Spiel jetzt mal ausführlich getestet und zwar sowohl auf den Emulatoren (C64 Version auf VICE und C16,116,Plus/4 Version auf YAPE) als auch auf meinem Original C116 mit 64K-Mod. Während es auf den Emulatoren keinerlei Probleme gab und sogar die SuperCPU mit der entsprechenden "xscpu64"-Version erkannt und genutzt wurde, wodurch das Spiel durchgehend ruckelfrei und flüssig lief, kam es auf dem Originalrechner im Zusammenspiel mit dem SD2IEC zu mehreren Abstürzen während des Ladevorgangs an unterschiedlichen Stellen, meist aber nach Spielstart während des Ladens vom ersten Level. Ich brauchte ganze 4 Versuche bis das Spiel dann endlich lief. Es scheint demnach so als ob die Laderoutine bei abgeschalteten Fastloader sich nicht zu 100% mit dem SD2IEC verträgt. Da ich das Spiel wie zuvor "Majesty of Sprites" und "The Lands of Zador" auch gerne auf Veranstaltungen wie der Gamescom vorführen würde und ungerne das 1541 II-Laufwerk mitschleppe wäre ein entsprechendes Update ganz nett. Wie gut es auch mit dem SD2IEC funktionieren kann haben ja schon die beiden Vorgänger gezeigt nachdem sie ebenfalls ein entsprechendes Update erhalten haben. Ich denke mal das in diesem Fall ein kleiner Bugfix ausreichen sollte bei dem man ggf. wie bei den Vorgängern während des Ladens den Bildschirm und die Musik pausiert wenn der Fastloader nicht benutzt wird. ;)

    Aber davon abgesehen kann ich nur sagen: Absolut saubere Arbeit und geniales Spiel, das ganz schön fesselnd ist und immer wieder zu einem neuen Versuch einlädt. :thumbup:
    Ich bin der Musikant mit Taschenrechner in der Hand.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von PARALAX ()

  • Danke für die Info!
    Das Spiel habe ich auch geladen und werde es Testen. <X

    Viele Grüße

    Ulf

    PS: So langsam sammeln sich einige neue Spiele für den alten Brotkasten an :thumbsup:
    Commodore C64, C128, C128D, VC1541, VC1541 II, VC1571, Amiga 500 / 600 / 1200, MPS 801, MPS 1200, MPS 1230