!WIP! Leisure Suit Larry in the Land of the Lounge Lizards für den C64

There are 404 replies in this Thread which has previously been viewed 32,688 times. The latest Post (April 9, 2026 at 8:52 AM) was by WebFritzi.

  • Moin!

    TheRealWanderer (TRW) hat unser gemeinsames Projekt gestern auf der DoReCo vorgestellt. Es ist für mich das erste Mal, dass ich so frühzeitig mit einem Projekt an die Öffentlichkeit gehe...schauen wir mal, wie das so läuft. Ich denke wir werden hier von Zeit zu Zeit dann mal Fortschritte posten.

    Hier schon mal ein erster Einblick:

    Please login to see this media element.

    Was grundsätzlich da ist/funktioniert:

    - Intro (Ich hörte, wenn die Intro steht, kann bei solch einem Projekt eigentlich gar nichts mehr schief gehen... :D )

    - Parser mit Eingabe und Auswertung von Wörtern und ganzen Sätzen

    - Erfassung von Bereichen in denen Larry sich bewegen kann inklusive der Auswertung, ob Larry in der Nähe von etwas ist.

    - Konvertierung aller Location-Grafiken

    - Steuerung von Larry und Einbindung erster Locations/Sprites und Funktionalitäten/Animationen

    - Laden weiterer Locations via WiC64

    Was nicht da ist und da sein wird (im Vergleich zum Original):

    Wir versuchen so dicht wie möglich am Original zu bleiben. Technisch bedingt gibt es jedoch Dinge, wo wir vom Original abweichen werden. Beispielsweise werden im Original die Texte mitten in der Grafik angezeigt. Das haben wir dahingehend geändert, dass die Texte nun oben angezeigt werden. Auch wird es kein Pull-Down-Menü mit zum Teil unnötigen Menüeinträgen geben. Laden/Speichern erfolgt voraussichtlich über die F-Tasten. Das Inventar kann mittels drücken des Feuerknopfes eingesehen werden. Einen "Boss-Modus" beispielsweise wird es voraussichtlich nicht geben.

    Allerdings würden wir gerne die eine oder andere Aufgabe oder Antwort ändern und anpassen. Einerseits, um das Spiel etwas an die heutigeen Gegebenheiten und den heutigen Sprachgebrauch anzupassen und andererseits, um auch für Larry-Enthusiasten das eine oder andere neue Rätsel zu schaffen...aber da sind wir noch in der Brainstorming-Phase.

    Was noch an Hürden auf uns zukommt:

    Speziell ist hier wohl die Routine für die Vordergrund/Hintergrund-Abdeckung zu nennen. Im ersten Bild (vor Leftys Lokal) funktioniert das beispielsweise mit dem Laternenpfahl (Larry kann vor und hinter dem Pfahl langgehen). Das ist aber auch nur ein Sprite. Es gibt jedoch Bereiche, wo Larry ständig zwischen Vordergrund und Hintergund wechselt oder viele Bereiche existieren, hinter denen sich Larry entlangbewegt. Da wäre es nicht möglich alles auf einmal mit Sprites abzudecken. Hier müssen dann abhängig von Larrys Position entsprechend Sprites gesetzt werden. Kein ganz triviales Unterfangen, was uns noch einige Zeit kosten wird, gehe ich von aus.

    Wo wir Hilfe benötigen:

    Die Grafiken sehen, so wie sie konvertiert sind, im Großen und Ganzen bereits schon sehr gut aus. Wenn sich da ein Grafiker jedoch weiter austoben will, schauen wir mal...grundsätzlich sind wir da für alles offen. Sowohl TRW als auch ich sind jedoch keine Grafiker. Die Sprites und Grafiken an denen wir bisher an Larry gearbeitet haben, haben wir zwar bereits etwas überarbeitet, aber es folgen nun Locations, wo wir echt am verzweifeln sind und an unsere Grenzen stoßen. Was wir benötigen:

    - Überarbeitung der vorhandenen und vorkonvertierten Grafiken unter Beachtung der C64-Eigenheiten (color clashes) und geschicktes Setzen von Farbwerten, weil wir viele Animationen über Ändern des Farbrams, Colorrams und der Bitmap erledigen (müssen). Beispiel: Vor der Bar sind die blinkende Neonschrift und das HOTEL-Schild fast ausschließlich über das ändern von Colorram und Farbram erledigt. Lediglich für das Blubbern der Bläschen im Cocktailglas wird in einem 2x2 großen Charbereich die Bitmap umkopiert. Auch das Öffnen der Tür ist eine Bitmap-Animation usw...

    - Überarbeiten und Erstellen von Sprites und Spriteanimationen

    Hier würden wir dann Stück für Stück, sprich: Location für Location, vorgehen und in ständiger Kommunikation miteinander sein. Ein WiC64 zum Testen wäre vom Vorteil...alternativ via VICE.

    Wer Interesse hat, kann sich gerne bei uns melden. Wir würden uns wahnsinnig über fachkundige Hilfe eines Grafikers freuen!

    Wir freuen uns über eine rege Diskussion und natürlich auch über Anregungen und Wünsche. Wir bitten jedoch um Verständins, sollte nicht jeder eurer Ideen es auch ins Spiel schaffen.


    BTW: Die Rechte liegen unseres Wissen nach aktuell bei "Electronic Arts". Diese haben wir angeschrieben, gehen aber davon aus, dass EA sich nicht mal die Mühe macht, uns zu antworten. Wir hätten schon den Wunsch das Spiel zusätzlich als Boxed-Version mit Anleitung und Gimmick rauszubringen. Mangels Rechten wird es womöglich bei einem reinen Hobbyprojekt mit kostenloser Veröffentlichung bleiben.

    Edited 3 times, last by Courage: Typos (September 8, 2024 at 12:45 PM).

  • :ilikeit: KEN SENT ME

    Das könntet ihr ja mal Al Lowe zeigen ;)

    Ich drücke die Daumen für ein fertiges Release :thumbsup:

  • KEN SENT ME

    Hihi, das wäre tatsächlich so eines der Dinge, wo wir schon mal drüber diskutiert haben, das zu ändern...kennt ja nun wirklich jeder, der schon mal was mit Larry am Hut hatte.

  • KEN SENT ME

    Hihi, das wäre tatsächlich so eines der Dinge, wo wir schon mal drüber diskutiert haben, das zu ändern...kennt ja nun wirklich jeder, der schon mal was mit Larry am Hut hatte.

    Also solche Änderungen fänd ich gut. Das hätte dann etwas Neues für die Kenner.

    Sind vielleicht auch eigene Easter Eggs geplant? Da könnte ja etwas von den Pixel-Künstlern kommen.

  • Beispielsweise werden im Original die Texte mitten in der Grafik angezeigt. Das haben wir dahingehend geändert, dass die Texten nun oben angezeigt werden.

    Die Locations sind offenbar im Bitmap-Modus gemalt. Das ist wohl der Grund, oder? Warum habt ihr euch dazu entschieden? Sind die Bildschirme zu voll als dass man den Zeichensatzmodus nutzen könnte? Animationen könnte man ja gut mit Sprites realisieren.

    - Laden weiterer Locations via WiC64

    Ich hoffe, das Spiel wird auch ohne WiC64 spielbar sein - und wenn es 10 Disketten sind.

    Das Inventar kann mittels drücken den Feuerknopfes eingesehen werden.

    Daraus schließe ich, dass Larry mit dem Joystick bewegt wird. Ist das denn sinnvoll, wenn man doch immer wieder Texte eingeben muss? Oder kann man Larry auch über die Tastatur steuern (wäre mMn am sinnvollsten)?

    Einerseits, um das Spiel etwas an die heutigeen Gegebenheiten und den heutigen Sprachgebrauch anzupassen und andererseits, um auch für Larry-Enthusiasten das eine oder andere neue Rätsel zu schaffen...

    Coole Idee!

    Ändern des Farbrams, Colorrams

    ??? Kommt weiter unten noch einmal vor.

    Wir hätten schon den Wunsch das Spiel zusätzlich als Boxed-Version mit Anleitung und Gimmick rauszubringen.

    Oh Mann - ich wäre einer der ersten Käufer! Geile Idee, und bitte, bitte bleibt dran.

  • Sind vielleicht auch eigene Easter Eggs geplant? Da könnte ja etwas von den Pixel-Künstlern kommen.

    Ja, dazu hatten wir bereits schon einige Ideen. Wichtig ist jedoch erstmal, dass das Spiel selbst voranschreitet.

    Die Locations sind offenbar im Bitmap-Modus gemalt. Das ist wohl der Grund, oder? Warum habt ihr euch dazu entschieden? Sind die Bildschirme zu voll als dass man den Zeichensatzmodus nutzen könnte? Animationen könnte man ja gut mit Sprites realisieren.

    Der Bitmap-Modus war Voraussetzung, um die Grafiken in dieser Qualität übernehmen zu können. MC-Charset hätte leider zu deutlichen Einschänkungen geführt.

    Ich hoffe, das Spiel wird auch ohne WiC64 spielbar sein - und wenn es 10 Disketten sind.

    So der Plan/die Hoffnung. Allerdings wollten wir uns nun nicht im Entlicklungsstadium stundenlang mit Loaderkram herumschlagen. Das Laden via WiC64 war binnen Minuten eingerichtet und ist zum testen Ideal. Eine D64-Version würde vermutlich mit 1 1/2 bis 2 Diskseiten auskommen, denke ich.

    Daraus schließe ich, dass Larry mit dem Joystick bewegt wird. Ist das denn sinnvoll, wenn man doch immer wieder Texte eingeben muss? Oder kann man Larry auch über die Tastatur steuern (wäre mMn am sinnvollsten)?

    Ja, Larry wird aktuell mit dem Joystick bewegt. Über eine Tastatursteuerung können wir gerne nochmal nachdenken.

  • Die Locations sind offenbar im Bitmap-Modus gemalt. Das ist wohl der Grund, oder? Warum habt ihr euch dazu entschieden? Sind die Bildschirme zu voll als dass man den Zeichensatzmodus nutzen könnte? Animationen könnte man ja gut mit Sprites realisieren.

    Der Bitmap-Modus war Voraussetzung, um die Grafiken in dieser Qualität übernehmen zu können. MC-Charset hätte leider zu deutlichen Einschänkungen geführt.

    Alles klar, schade. Aber schon wenn man sich die erste Location näher betrachtet, wird das klar. Die roten Steine z.B. Auch die schwarzen Umrisse von Objekten würde man längst nicht so genau hinbekommen.

    Und was, wenn man sich zur Text-Ausgabe in der Mitte des Bildschirms die Bitmap darunter merkt und die Buchstaben per Bitmap auf den Bildschirm zaubert?

    Daraus schließe ich, dass Larry mit dem Joystick bewegt wird. Ist das denn sinnvoll, wenn man doch immer wieder Texte eingeben muss? Oder kann man Larry auch über die Tastatur steuern (wäre mMn am sinnvollsten)?

    Ja, Larry wird aktuell mit dem Joystick bewegt. Über eine Tastatursteuerung können wir gerne nochmal nachdenken.

    Das wäre schön. Wir haben das früher ausschließlich über Tastatur gespielt, weil wir keinen Joystick hatten. Das war bei meinem Vater im Büro auf nem Monochrom-Monitor. Egal - uns hat es auch so sehr viel Spaß gemacht.

  • Sind vielleicht auch eigene Easter Eggs geplant? Da könnte ja etwas von den Pixel-Künstlern kommen.

    Ja, dazu hatten wir bereits schon einige Ideen. Wirchtig ist jedoch erstmal, dass das Spiel selbst voranschreitet.

    Klar. Das Spiel an sich hat natürlich Priorität ;)

    Aber schön zu wissen, dass ihr euch auch in dieser Richtung bereits Gedanken gemacht habt.

  • Und was, wenn man sich zur Text-Ausgabe in der Mitte des Bildschirms die Bitmap darunter merkt und die Buchstaben per Bitmap auf den Bildschirm zaubert?

    War auch mein erster Gedanke. Die Routine muss dann jedoch recht flexibel gehalten werden, weil die Textboxen unterschiedlich groß sind. Im Speicher muss dann ein entsprechender Bereich freigehalten werden. Und dann muss noch der Text in die Bitmap geplottet werden. Technisch wäre das grundsätzlich möglich.

    Der Speicher ist allerdings recht knapp, alleine weil beispielsweise über 1000 Wörter für die Texterkennung permanent vorgehalten werden müssen. Dann wäre der Text aufgrund der halbierten Auflösung schwerer zu lesen. Und der Aufwand im Verhältnis zum Ertrag wäre recht hoch. Einfluss auf das Spiel selbst hätte das nicht. Ah...und das KO-Kriterium waren dann die Sprites. Was ist, wenn sich ein Sprite in dem Bereich befindet, in dem Text eingeblendet werden soll? Die müssten dann komplett ausgeblendet werden...abschneiden geht nicht. Oder man müsste betroffene Spritebereich ausplotten...da fängts dann aber an echt abartig zu werden. Nein, am Ende haben wir gemerkt, dass die Verschiebung des Textes von der Bildmitte an den Rand leider unausweichlich war.

    Aber schön zu wissen, dass ihr euch auch in dieser Richtung bereits Gedanken gemacht habt.

    Ich wollte das nicht rüde abbügeln. Im Gegenteil: Der Wunsch nach kleineren Änderungen/Easter Eggs ist für uns sehr interessant. Es gibt ja meist so 2 Fraktionen: Die einen, die etwas möglichst im Original haben wollen und die anderen, die finden, dass Änderungen/Verbesserungen durchaus ok sind. Da sind wir uns selbst unsicher, wie es die Community bei solch einem Projekt sieht.

  • Ach, Schande über mich!!! Ich muss natürlich noch erwähnen, dass wir mit Nordischsound einen tollen Musiker mit an Bord haben.

    Nun ist LSL1 nicht sehr musiklastig, aber die vorhandenen Musiken und SFX tragen natürlich dennoch im besonderen Maße zur Stimmung mit bei. Dafür ist Nordischsound genau der Richtige!

  • Ah...und das KO-Kriterium waren dann die Sprites. Was ist, wenn sich ein Sprite in dem Bereich befindet, in dem Text eingeblendet werden soll? Die müssten dann komplett ausgeblendet werden...abschneiden geht nicht. Oder man müsste betroffene Spritebereich ausplotten...da fängts dann aber an echt abartig zu werden.

    Im Char-Mode: Sprite-Text-Priority. Aber eine Sprite-Bitmap-Priority gibt es wohl nicht. Schade.

    Es gibt ja meist so 2 Fraktionen: Die einen, die etwas möglichst im Original haben wollen und die anderen, die finden, dass Änderungen/Verbesserungen durchaus ok sind. Da sind wir uns selbst unsicher, wie es die Community bei solch einem Projekt sieht.

    Ich fände kleine Änderungen und Abweichungen auch sehr gut. Sonst kann ich das Original-Spiel auch in der ScummVM spielen. Wäre toll, wenn ihr dem Spiel euren Stempel aufdrückt.

  • Aber eine Sprite-Bitmap-Priority gibt es wohl nicht. Schade.

    Doch, die gibts auch (siehe Laterne).

  • Aber eine Sprite-Bitmap-Priority gibt es wohl nicht. Schade.

    Doch, die gibts auch (siehe Laterne).

    Ich dachte, da legt ihr ein Mask-Sprite drüber.

    Offtopic: Ist wohl eher ein Strommast als ne Laterne.

  • Interesting post! I guess you are not converting the AGI interpreter itself? Years ago I worked on an interpreter for the C64, which was able to partially run some of the sierra AGI games (including LSL1). I might pick it up again somewhere in the future...

    See my old Lemon64 post to see how far I got: https://www.lemon64.com/forum/viewtopic.php?p=517673#p517673

  • Ich dachte, da legt ihr ein Mask-Sprite drüber.

    Ja, machen wir auch.

    Es gibt ja $D01B zum Umschalten der Sprite-Hintergrund-Priorität. Das hat aber beim Multicolormodus folgende Eigenheit (Zitat aus dem C64-Wiki):

    Quote

    Das Prioritätsverhältnis zwischen Sprites und Bildschirmhintergrund wird durch das entsprechende Register in Adresse 53275 ($D01B) gesteuert. In diesem Register hat jedes Sprite ein Bit.

    Ist das Bit 0, so hat das entsprechende Sprite eine höhere Priorität als der Bildschirmhintergrund. Das Sprite erscheint vor den Hintergrunddaten.

    Ist das Bit 1, so hat der Hintergrund Priorität gegenüber dem Sprite. Das Sprite erscheint hinter den Hintergrunddaten. Genauer gesagt: Das Sprite erscheint hinter den Pixeln der Bits "1" für HiRes bzw. "10" und "11" für Multicolor, aber vor denen der Bits "0" bzw. "00" und "01".

    Das macht es so problematisch, im Multicolor-Modus einfach nur mit Sprite-Hintergrundprioritäten zu arbeiten.

    I guess you are not converting the AGI interpreter itself?

    No, we are programming it from scratch and tailored solely to the C64. Since neither of us has a professional background in programming, we don't have and don't want/can't deal with such an engine, even though it would of course be very helpful for numerous other SIERRA adventures.

    However, we have realized that with our previous work on the parser, the basic framework is in place, so that an adaptation of further titles is still a lot of work, but you don't have to start from scratch. Let's see if we still feel like doing it afterwards. :)

    Thanks for the tip and the link! We'll be taking a look at it.

  • Das macht es so problematisch, im Multicolor-Modus einfach nur mit Sprite-Hintergrundprioritäten zu arbeiten.

    Ah so. Das heißt "Hintergrund" bezieht sich auch auf Bitmaps. Interessant, wusste ich noch nicht. Von der Schwierigkeit mit Multicolor auch nicht. Ist ja blöde gemacht. Das heißt, "01" ist dann auch quasi eine Hintergrundfarbe.

  • Ja, genau. Wobei ich nicht weiss, ob das so gehört bzw. seitens Commodore gewollt war oder ob das als ungewollter Bug zu bezeichnen ist. Aber diese Diskussion wäre dann wohl eher in einem gesonderten Thread zu führen. ;)

  • Das Rechteproblem ließe sich ja umgehen, wenn man "nur" einen Interpreter für die Originaldaten baut, wie das auch ScummVM macht.

    Ich hatte tatsächlich mal eine C64-Routine geschrieben, welche die originalen Vektorgrafiken am C64 zeichnet. Das war aber wirklich nur ein grober Test und auch nur für die Hintergründe. Color-Clashes waren natürlich vorhanden. Vor allem benötigt das ordentlich Speicher, da es intern ohne Color-Clash gerendert werden muß, damit die Füllroutine fehlerfrei arbeiten kann, und neben der sichtbaren Grafik wird auch noch eine weitere gezeichnet, welche die Engine für Trigger, Begrenzungen und Maskierungen verwendet. Ich hatte dazu ein PC-Programm geschrieben, welches die Originalspieldateien ins EasyFlash-ROM packt.

    Diese Techdemo spielt auch die Musik, ist aber ziemlich buggy.

    Da ich nicht vor hatte, damit noch was zu machen, stelle ich es gerne zur Verfügung, in der Hoffnung, daß es noch jemanden weiterhelfen kann.

    Wenn es für einige Sekunden zu hängen scheint, werden gerade Zeichenanweisungen ausgeführt, die sich nur auf die unsichtbare Grafikseite auswirken. Daß er fertig ist, sieht man am Wechsel der Rahmenfarbe. kq1.crt hängt aber tatsächlich in einem späten Raum. Da war noch eine buggy Zeichenroutine drin, soweit ich weiß. Mit Chameleonturbo benötigen die Räume gerade mal etwa 2 Sekunden. Weiter geht es immer mit Space. Nach dem Hauptbild wird auch die Seite angezeigt, die normalerweise für den Spieler unsichtbar ist.

    Hier zwei Demos und der Quelltext, ausdrücklich ohne Support:

    Please login to see this attachment.

    Please login to see this attachment.

    Please login to see this attachment.

  • Ich hatte tatsächlich mal eine C64-Routine geschrieben, welche die originalen Vektorgrafiken am C64 zeichnet

    Das Spiel Larry benutzt im Original Vektorgrafik? Sieht überhaupt nicht so aus, jetzt bin ich etwas verwirrt. :)

  • Ich hatte tatsächlich mal eine C64-Routine geschrieben, welche die originalen Vektorgrafiken am C64 zeichnet

    Das Spiel Larry benutzt im Original Vektorgrafik? Sieht überhaupt nicht so aus, jetzt bin ich etwas verwirrt. :)

    Jupp. http://agiwiki.sierrahelp.com/index.php/Picture_Resource_(AGI)