Hello, Guest the thread was called5k times and contains 76 replays

last post from matthes at the

Neue SCUMM-Engine für C64

  • Wer kennt sie nicht: Maniac Mansion und Zak McKracken, Spiele, die die Adventure-Welt revolutionierten. Leider ist der C64 von LucasFilm Games ziemlich schnell links liegen gelassen worden. Deshalb frage ich einfach mal:


    Wie wäre es, eine neue Engine für Scumm-ähnliche Spiele zu programmieren?


    Heute gibt es für jedes System ScummVM, nur wir stecken auf dem C64 immer noch mit Maniac Mansion und Zak McKracken fest, daß man noch nicht einmal von modernen Speichermedien spielen kann. Für andere Systeme gibt es ja sogar AGS, das Adventure Game Studio. Es muß ja nicht gleich so etwas sein, doch mal ein neues Scumm-System, daß die modernen Programmiertechniken nutzt wäre doch mal was Feines. Auch die neue Hardware für den C64 kann sich ja sehen lassen, das wichtigste Feature wäre natürlich die Unterstützung der 1351 bzw. der Smartmouse.


    Ich habe in einem anderen Thread die Problematik gelesen, daß Spiele wie MM und Zak kaum auf anderen Laufwerken wie z.B. der CMD HD laufen würden, weil sie Track/Sektorweise gelesen werden und nicht als Dateien. Ist es möglich, Spiele dieser Art zu schreiben die als normale Dateien vorliegen? Vielleicht über ein GEOS-ähnliches Format daß große Dateien anlegt, aber nur bestimmte Teile davon nutzt.


    Bei der Programmierung könnte man natürlich die heutigen Tricks benutzen, z.B. besseres Sprite-Multiplexing für Overlay-Sprites. Der Grafikbildschirm beträgt ja nicht die volle Höhe des Bildschirms, vielleicht bringt das noch Vorteile. Die Grafik besser zu bekommen als damals wird wohl kaum das Problem sein, auch wenn man wohl kaum die speziellen Grafikmodi anwenden kann. Oder? Musik während des Spiels dürfte auch machbar sein, für die wenigen Geräusche wie z.B. Türklappen benötigt man ja vielleicht nur eine Stimme des SID. Was mir im Moment nicht einfallen würde wie man die Perspektive realisieren kann, also wenn eine Spielfigur z.B. nach hinten geht. Nett wären natürlich auch so die Tricks aus den Demos wie z.B. die automatische Diskwechselerkennung.


    Dabei ist man auch schon bei der Hardware angelangt: Kommt man mit einer 1541 und dem normalen Hauptspeicher noch aus? Oder müßte eine 1581 und eine REU Standard sein? Sinn der Sache ist es sicherlich nicht, aber solche Erweiterungen sollten unterstützt werden, und wenn es als Cache ist, also daß Daten die einmal von Disk geladen wurden in der Speichererweiterung verbleiben. Vor allem bei größeren Erweiterungen wie der BBGRAM mit 2MB, der Flash8 mit 1MB und natürlich der SuperCPU mit bis zu 16 MB wäre das eine feine Sache.


    Sind natürlich eine Meeenge Ideen, ich habe weder eine Ahnung ob man sie realisieren kann oder ob das Projekt überhaupt interessant ist. Aber deshalb frage ich ja hier. Wenn die Leute Interesse haben und ein Programmierer würde sich an das Projekt ransetzen würde ich natürlich helfen so gut es eben geht. Die Vorstellung ist einfach zu schön: Alle Leute wollen Monkey Island 5 aber es kommt nix. Und dann kommt's auf dem C64 zuerst raus... ;-)

  • Welche Hardware ist notwendig? 32

    1. Standard C-64 reicht (19) 59%
    2. REU/GeoRAM/BBGRAM/NeoRAM (13) 41%
    3. 1581 (7) 22%
    4. C128-Version (6) 19%
    5. SuperCPU/Flash8 (2) 6%

    Und die Hardwareanforderungen. Joystick und 1351-kompatible Maus ist Standard, die Komaptibilität (!) zur Flash8 und SuperCPU auch.
    Eine C128-Version wäre wegen des größeren Hauptspeichers und/oder dem 80-Zeichen-Modus interessant. Der VIC kann im C128 ja auch 'übertaktet' werden und hat damit vielleicht mehr Möglichkeiten.

  • Ich habe in einem anderen Thread die Problematik gelesen, daß Spiele wie MM und Zak kaum auf anderen Laufwerken wie z.B. der CMD HD laufen würden, weil sie Track/Sektorweise gelesen werden und nicht als Dateien.

    Wenn man sich die Engine allerdings genauer ansieht, wird man feststellen, daß es pro Raum eine "Datei" gibt. Zu ScummVM gibt es schließlich Tools, die diese "Dateien" aus dem C64-Diskimage extrahieren können. Sogar für die NES-ROMs, wo von Dateien noch weniger die Rede sein kann, gibt es da so ein Tool.
    So gesehen, halte ich es durchaus für möglich, daß man die Laderoutinen umschreiben könnte, damit das Spiel diese Dateien verwendet, statt direkt Sektoren zu lesen. Dies könnte optional sogar ein IRQ-Loader sein, der 1541 und 1581 kompatibel ist. Ohne IRQ-Loader würde das Titellied auf langsamen Laufwerken wohl stocken.
    Ein Maustreiber sollte ebenfalls möglich sein.

    Quote

    Dabei ist man auch schon bei der Hardware angelangt: Kommt man mit einer 1541 und dem normalen Hauptspeicher noch aus? Oder müßte eine 1581 und eine REU Standard sein? Sinn der Sache ist es sicherlich nicht, aber solche Erweiterungen sollten unterstützt werden, und wenn es als Cache ist, also daß Daten die einmal von Disk geladen wurden in der Speichererweiterung verbleiben. Vor allem bei größeren Erweiterungen wie der BBGRAM mit 2MB, der Flash8 mit 1MB und natürlich der SuperCPU mit bis zu 16 MB wäre das eine feine Sache.

    Solange Erweiterungen optional sind, okay. Soll heißen, daß man auch ohne Erweiterungen erträglich spielen kann. Denn zu verlangen, einen C64 mit sündhaft teurer oder megararer Hardware aufzurüsten, würde den potentiellen Spielerkreis sehr einschränken.
    Das tolle am C64, und sicher auch maßgeblich für den Erfolg, war sicher, daß man nur wenig Zubehör brauchte, um fast alles Spielen zu können.

  • ich hab in der zeit in der ich als gamecoder gearbeitet hab mal so eine point&click engine gebastelt.... von der technischen seite würde ich das als relativ einfach bis mittelschwierig einordnen (so eine engine macht eigentlich garnix aufregendes). das mit abstand grösste problem (an dem letztendlich auch unser game damals gescheitert ist, weil es niemand bezahlen wollte) ist nicht die technik, sondern die zeit die das ausarbeiten einer schlüssigen story fordert (wir haben fast ein halbes jahr mit 5 mann vollzeit dran gearbeitet und waren zu ca 70% fertig). aus dem grund würde ich das als hobbyprojekt auch für schwer realisierbar halten, leider.

  • ich hab in der zeit in der ich als gamecoder gearbeitet hab mal so eine point&click engine gebastelt.... von der technischen seite würde ich das als relativ einfach bis mittelschwierig einordnen (so eine engine macht eigentlich garnix aufregendes)


    Hört sich gut an, sauhund. Auf welchem System hast du gecoded?


    Was die Story angeht, das wäre was für ein Kreativ-Team. Ideen für ein Spiel könnten im Großen und Ganzen vom gesamten Forum eingebracht werden, die endgültige Geschichte muß dann natürlich nur von wenigen Leuten programmiert werden, damit nicht jeder gleich die Lösung kennt. Ein paar gute Grafiker müßte man dann auch haben, aber vielleicht würden sich für so ein Projekt auch mal Leute aus der Demo-Szene beteiligen.


    Was mir gerade eben noch eingefallen ist, eine Sprachunterstützung müßte gegeben sein. Der C64 ist ja doch noch in vielen Ländern verbreitet, also sollte das nicht fehlen. Wie sähe es mit einer 128er-Version aus? Würde der größere Hauptspeicher nützlich sein, z.B. für Sprite- und Grafikdaten? Nur soll der C128 ja so schwierig zu Programmieren sein. Zur Programmierung könnte das Ding eh nützlich sein, z.B. könnte man auf dem 80-Zeichen-Schirm Infos ausgeben lassen. Das ginge ja auch vom 64er-Modus aus. Zum Scrollen großer Grafiken wäre natürlich auch die REU genial geeignet, denkt mal an das Demo mit der Weltkugel.


    gHost: Endlich noch ein Flash8-Besitzer ;-) Hast du das JiffyDOS für das Teil?

  • Wenn man sich die Engine allerdings genauer ansieht, wird man feststellen, daß es pro Raum eine "Datei" gibt.


    Das ist logisch.


    Zu ScummVM gibt es schließlich Tools, die diese "Dateien" aus dem C64-Diskimage extrahieren können.


    Da ich mich lange nicht mit ScummVM beschäftigt habe: Das ist mir neu. Ich wußte auch nicht, daß ScummVM C64-Versionen unterstützt. Das war doch früher nicht so?!


    Hast Du evtl. Links, wo im Zusammenhang mit ScummVM C64-spezifisches erläutert wird? Wo gibt es diese Tools?

  • Die C64-Versionen von Maniac Mansion und Zak MacKarcken sind nicht komplett unterstützt. Ich glaube bei Maniac Mansion gab es keine Animationen (z.B. beim Gehen) und die Spiele sollen laut der Webseite von ScummVM nicht vollständig durchspielbar sein.


    P.S.: Das Intro von Maniac Mansion mit der Motorsäge und dem lila Schleim ist auf dem C64 immer noch am besten.


    @trb: Eine TurboProcess hatte ich auch mal! Die habe ich dann auf ebay verkauft und ging dann für 70 Euro nach Australien.


    gHost: Ich habe das JiffyDOS-ROM, wenn Interesse besteht... Ich muß mal sehen wie ich das auslesen kann. Ein Freund von mir hat auch noch eine Flash 8 und der braucht auch noch eine Kopie.

  • Quote

    Hört sich gut an, sauhund. Auf welchem System hast du gecoded?


    GBA.... ist aber eigentlich latte, wie gesagt, so eine engine macht eigentlich nix aufregendes. auf dem c64 wirds warscheinlich etwas frickelig sich die passenden datenstrukturen auszudenken, und man wird (genau wie es auch lucasfilm getan hat) die story so auslegen müssen das ab und zu ein harter schnitt kommt (man zb nicht beliebig weit wieder zurück gehen kann) bzw halt damit leben müssen das die zustände irgendwelcher dinge mit der zeit verfallen (zb eine tür die man mal geöffnet hat dann auf einmal doch nicht mehr offen ist wenn man zurück geht)... aber das sind dann schon wieder details :)


    die andren hier angesprochenen "probleme" würde ich alle für lösbar halten.... ob man nun aus files oder von sektoren liesst ist vollkommen wurscht :) ich würde aber auch sagen das so ein game auf einem c64 ohne alles laufen sollte, und würde jegliche erweiterung zumindest in der ersten phase der entwicklung komplett ignorieren.

  • Die C64-Versionen von Maniac Mansion und Zak MacKarcken sind nicht komplett unterstützt. Ich glaube bei Maniac Mansion gab es keine Animationen (z.B. beim Gehen) und die Spiele sollen laut der Webseite von ScummVM nicht vollständig durchspielbar sein.


    Schade, daß es immer noch keine vollständige Unterstützung dafür gibt.



    Das Intro von Maniac Mansion mit der Motorsäge und dem lila Schleim ist auf dem C64 immer noch am besten.


    Finde ich auch. Überhaupt gefällt mir im gesamten Spiel die Grafik besser als bei anderen Versionen (PC, Amiga, FM Towns, ...). Das empfinde ich bei Zak McKracken auch so.



    Eine TurboProcess hatte ich auch mal! Die habe ich dann auf ebay verkauft und ging dann für 70 Euro nach Australien.


    TurboProcess! :baby: Da kannst Du mal sehen, wie lange das Teil bei mir schon im Schrank verstaubt, ohne daß ich es mal wieder rausgekramt hätte. Nicht mal mehr den richtigen Namen weiß ich... Asche auf mein Haupt! ;)


    Scheint ja echt "wertvoll" zu sein, so ein Teil. Andererseits auch wiederum günstig im Vergleich zu Flash8 und SCPU.

  • auf dem c64 wirds warscheinlich etwas frickelig sich die passenden datenstrukturen auszudenken, und man wird (genau wie es auch lucasfilm getan hat) die story so auslegen müssen das ab und zu ein harter schnitt kommt (man zb nicht beliebig weit wieder zurück gehen kann) bzw halt damit leben müssen das die zustände irgendwelcher dinge mit der zeit verfallen (zb eine tür die man mal geöffnet hat dann auf einmal doch nicht mehr offen ist wenn man zurück geht)... aber das sind dann schon wieder details :)


    die andren hier angesprochenen "probleme" würde ich alle für lösbar halten.... ob man nun aus files oder von sektoren liesst ist vollkommen wurscht :) ich würde aber auch sagen das so ein game auf einem c64 ohne alles laufen sollte, und würde jegliche erweiterung zumindest in der ersten phase der entwicklung komplett ignorieren.


    Genau aus diesen Gründen wäre ich ja gerade dafür, daß so ein Spiel mit einer Speichererweiterung entwickelt werden sollte. Wobei sicherlich dann 1 MB als Erweiterung dann schon nötig wären. Auch im Hinblick auf reduziertes Nachladen/Speichern. Wobei das dann, wenn man es genauer durchdenkt, wiederum eine 1581 (oder ein kompatibeles Laufwerk) sinnvoll erscheinen läßt.

  • DOTT aufm cevi... nit schlecht die idee :D


    jedoch scpu wäre schlecht weil die kaum jemand hat. was mit 1541u und der neuen hardware von IC kommt weiß niemand so recht, also wäre ich da vorsichtiger bei der unterstüztung.


    aber REU haben schon mehrere denke ich. wird die neue hardware ja auch haben und die 1541u hats bereits. somit ist da eine breitere masse vorhanden.


    könnte man nicht "einfach" die scumvm auf den cevi portieren und dann die daten der anderen plattformen nutzen? also zb die amiga files der DOTT version auf dem cevi mit der "neuen" scum nutzen?
    hab leider null plan in der richtung. deshalb die frage



    edit zu trb
    naja sd2iec oder mmc2iec wären möglich, oder halt die 1581
    wobei man ja doch theroretisch das gesammte game in eine 16mb reu kopieren könnte am anfang oder nicht?

  • wobei man ja doch theroretisch das gesammte game in eine 16mb reu kopieren könnte am anfang oder nicht?


    Wenn das von einer Standard-1541 geschehen soll, würde das wohl doch recht lange dauern. Wäre dann auch nicht so schön. Aber größere Teilabschnitte wären möglich. Außerdem könnte man über ein gesamtes Spiel den Zustand von Räumen/Gegenständen speichern. Das resultiert dann in einem flexibleren Spiel.

  • Ich habe doch ganz vergessen, noch etwas zu Naquaadas erstem Posting zu schreiben. Heute abend ist mein Abend der Doppelposts... :D


    Was mir im Moment nicht einfallen würde wie man die Perspektive realisieren kann, also wenn eine Spielfigur z.B. nach hinten geht.


    Dazu würde es auseichen, von jeder Spielfigur genügend animierte Sprites im Speicher zu haben - "normal" groß bis hin zu immer kleiner werdend. Die werden dann entsprechend bei Bedarf verwendet und erzeugen so einen gewissen räumlichen Eindruck. Möglich wäre so natürlich auch, daß eine Figur auf den Spieler zukommt und "größer" wird.



    Nett wären natürlich auch so die Tricks aus den Demos wie z.B. die automatische Diskwechselerkennung.


    Das ist im Grunde auch nicht weiter kompliziert zu programmieren. Ganz vereinfacht dargestellt wird nur ständig das Laufwerk abgefragt. Dieses registriert ja, wenn eine neue Disk eingelegt wurde. Die Disk muß dann nur "untersucht" werden, ob es die gerade verlangte ist.

  • Scheint ja echt "wertvoll" zu sein, so ein Teil. Andererseits auch wiederum günstig im Vergleich zu Flash8 und SCPU.


    Naja, mein Kumpel hatte seine Flash 8 glaube ich für 150 Euro (oder waren's sogar Mark?) bekommen. Aber die Dinger sind halt extrem selten geworden. Meine Falsh 8 habe ich noch NEU für satte 450 Märker beim GEOS User Club gekauft, über BTX. Ich habe laaaange überlegt ob ich's tun soll, aber als ich mir dann sicher war habe ich zur Bestätigung so fest auf RETURN gehauen daß die Taste fast unten durchkam... :P


    @trb: Also Maniac Mansion für den FM-Towns kenne ich nicht, aber Indy 3 und vor allem Zak McKracken schlagen alle anderen Versionen. Der FM-Towns konnte damals ja schon während des Spiels von CD Musik abspielen und auch die Grafik war genial. Einen FM-Towns würde ich gerne mein Eigen nennen...


    Also was das Diskettenlaufwerk angeht, soll es ja unabhängig sein. Das könnte man dann vielleicht im Extremfall so machen daß man Dateien verwendet die 156K an einem Stück sind. Die Verwaltung wird dann innerhalb dieser Dateien gemacht, ich glaube LucasArts macht das ähnlich. Mit dieser Methode könnte man dann eine auf einer 1541-Seite, 2 auf einer 1571 und 5 Stück auf einer 1581 unterbringen. Ein wenig Speicherplatz bleibt dann in jedem Fall noch übrig, also die Disk ist dann nicht randvoll. Mit einer RAM-Erweiterung als Mindestkonfiguration könnte ich leben, allerdings muß eine mit 512K reichen. Allerdings gibt es halt verschiedenen Typen von Speicherwerweiterungen, die müßten dann erkannt werden und z.B. ein Treiber dafür geladen werden. Wenn dann einmal gelesenen Daten in der RAM-Erweiterung gespeichert werden, wäre ein komplettes In-den-Speicher-Kopieren nicht nötig. Besitzer einer HD oder eines IDE64 hätten von wegen Speicherplatz und Geschwindigkeit eh weniger Probleme.


    Zum Perspektiven-Problem: Speicher ist ja immer knapp beim C64. Eine berechnete Verkleinerung der Sprites ist nicht so gut möglich?


    jackdaniels: An eine ScummVM-Portierung dachte ich auch zuerst, aber es bringt doch nix: Der C64 könnte doch noch nicht mal die Grafik korrekt darstellen. Und ein neus Spiel hätte man dann immer noch nicht.


    Freut mich aber, daß der Thread wohl doch ganz gut ankommt, ist ja viel Aktivität hier! :winke:

  • Meine Falsh 8 habe ich noch NEU für satte 450 Märker beim GEOS User Club gekauft, über BTX. Ich habe laaaange überlegt ob ich's tun soll, aber als ich mir dann sicher war habe ich zur Bestätigung so fest auf RETURN gehauen daß die Taste fast unten durchkam... :P


    Die Tastatur funktioniert doch hoffentlich noch? Wieviele Telefongebühreneinheiten hat es gebraucht, bis Du auf Return gedrückt hast und wie teuer waren die?! ;)



    Also Maniac Mansion für den FM-Towns kenne ich nicht, aber Indy 3 und vor allem Zak McKracken schlagen alle anderen Versionen. Der FM-Towns konnte damals ja schon während des Spiels von CD Musik abspielen und auch die Grafik war genial. Einen FM-Towns würde ich gerne mein Eigen nennen...


    Ne, MM gab's wohl auch nicht für FM Towns. Aber eben Zak. Nur bin ich eben Purist, daher gefällt mir die C64-Grafik wohl besser.



    Allerdings gibt es halt verschiedenen Typen von Speicherwerweiterungen, die müßten dann erkannt werden und z.B. ein Treiber dafür geladen werden.


    Das ist, denke ich, prinzipiell nicht so problematisch. Es müßte eben nur programmiert werden...



    Zum Perspektiven-Problem: Speicher ist ja immer knapp beim C64. Eine berechnete Verkleinerung der Sprites ist nicht so gut möglich?


    Die Berechnung wäre m.E. kompliziert, rechenintensiv und würde auch viel Speicher benötigen. Da kann man sich das wirklich einfacher machen, wenn sowas fertig animiert ist. Das sieht dann auch besser aus. Auch daher mein Gedanke, eine Speichererweiterung bei einem solchen Projekt vorauszusetzen.


    Wenn so ein Spiel tatsächlich fertig entwickelt wäre und auch ansprechend ist, könnte das dann evtl. sogar den Absatz neuer Hardware steigern.