Collab: Entwicklung eines TSB-Puzznic-Klons

Es gibt 1.089 Antworten in diesem Thema, welches 110.088 mal aufgerufen wurde. Der letzte Beitrag (1. November 2024 um 23:56) ist von Omega.

  • Diese muss das Spielfeld von unten links nach oben rechts abscannen.

    Geht auch von unten rechts nach oben links? :whistling:

    Arndt :smile:

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Frage in die Runde.

    Programmiert jetzt Arndt dein Spiel Omega. :gruebel

    Und du bist der Projektleider, der dann sage wann es fertig sein muß.

    Denn du willst ja schließlich noch das Ostergeschäft mitnehmen für die Spielehre.:dance

  • Programmiert jetzt Arndt dein Spiel Omega. :gruebel

    Nein.

    Ich helfe bei einem Programmierproblem. Wie alle anderen hier auch.

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Drachen: Ich habe ja im Threadtitel schon darauf hingewiesen, dass es sich hier um eine "Collaboration" handelt. D.h. wenn jemand etwas Sinnvolles beisteuern kann, dann benutze ich das.

    Außerdem möchte ich auch anderen eine Chance geben, an einem großen und namhaften Spieleprojekt mitzuwirken. Und zwar einem, das die Massen begeistert und den Hau-den-Lukas durch die Decke schießen lässt.

    Wann genau "Demon Block" (Arbeitstitel) offiziell erhältlich sein wird, ist noch unklar. Ein Release vor Ostern ist aber unwahrscheinlich. Allein die Prüfung durch die USK braucht ja Zeit.

  • Programmiert jetzt Arndt dein Spiel Omega. :gruebel

    Und du bist der Projektleider, der dann sage wann es fertig sein muß.

    Das hat Omega hier schon geklärt, wie er sich das vorstellt: :prof:

    Bitte melde dich an, um diesen Link zu sehen.

  • Das hat Omega hier schon geklärt, wie er sich das vorstellt: :prof:

    Als erfahrener und vielfach ausgezeichneter Maschinencode-Programmierer könnte ich das natürlich auch alleine machen. Aber wir bei Omega-Productions halten uns an den Leitspruch "Kollaboration kodiert Erfolg - gemeinsam schaffen wir Unmögliches!"

  • Ich habe ja im Threadtitel schon darauf hingewiesen, dass es sich hier um eine "Collaboration" handelt.

    Ach so! Ich dachte, das stünde für "Collabieren"! :bgdev

    Aber was hältst du denn hiervon: Neue Version im Anhang (hoffentlich diesmal ohne Abspeicherprobleme...) :wink:

    Arndt

    Dateien

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Aber was hältst du denn hiervon...

    Das sieht auf den ersten Blick sehr gut aus. :thumbsup:

    Ich werde das heute Abend aber noch genauer testen und darüber nachdenken.

    Kannst du mal genau beschreiben, was die neuen Befehle machen? Warum zum Beispiel hast du diese i-Schleife drin?

    Je mehr Informationen du gibst desto besser.

    Bitte melde dich an, um diesen Anhang zu sehen.

  • Hier mal ein kleiner Demo-Testlevel.

    Laden und Starten mit:

    Code
    load"*",8,8
    sys32777
    load"demonblock001"
    run

    Gesteuert wird mit Joystick in PortBitte melde dich an, um diesen Link zu sehen.. Mit Feuer selektiert man einen Spielstein. Dieser kann nach links und rechts gezogen werden. Wenn unter einem Stein kein Boden ist, fällt er runter. Man kann einen selektierten Stein durch erneutes Drücken von Feuer wieder ablegen. Wenn sich mehrere gleiche Steine horizontal oder vertikal berühren, lösen sie sich auf. (Außer bei Glasblöcken = schraffierte blaue Blöcke).

    Wer von euch ist klug genug, diesen Level zu lösen? Ich wette keiner!

    EDIT: Um den Level neu zu starten, muss man RUN/STOP+RESTORE drücken und nochmal RUN eingeben.

    EDIT2: Ha! Sieh nur, wie du dich abmühst, armseliger Sterblicher! Dein Verstand ist so stumpf wie ein rostiges Messer.

  • Ich liebe solche Art von Puzzles! Woher wusstest du das? 8o

    Um den Level neu zu starten, muss man RUN/STOP+RESTORE drücken und nochmal RUN eingeben.

    Bau eine Restart-Taste ein, nicht so eine Gewaltmethode...

    Arndt

    :achtung Wann kommt das Spiel endlich raus? :achtung

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Bau eine Restart-Taste ein, nicht so eine Gewaltmethode...

    Ach, ich bitte dich. Das ist doch nur ein total unfertiger Prototyp. Da ist noch viel dran zu machen. Ehrlich gesagt, weiß ich noch nicht einmal, was in dem Spiel vorkommen soll. Ich wollte nur mal zeigen, wo die Reise ungefähr hingeht. Ins Puzzle-Land.

    Wann kommt das Spiel endlich raus?

    Zuerst müssen wir nochmal über die Extension reden. Ich habe da noch so ein paar Anpassungswünsche.

    Demon Block coming 2024!

  • Ich habe da noch so ein paar Anpassungswünsche.

    Ein Zähler, weiß ich doch!

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Bitte melde dich an, um diesen Anhang zu sehen.

    Einer übrig. Mehr schaff ich nicht. Das ist nicht lösbar, oder?

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Ha! Sieh nur, wie du dich abmühst, armseliger Sterblicher! Dein Verstand ist so stumpf wie ein rostiges Messer. :bgdev

    Demon Block coming 2024!

  • Warum zum Beispiel hast du diese i-Schleife drin?

    Jedes X!STEP setzt schwebende Steine um eins tiefer. Die Schleife würde eine hypothetische Lücke von fünfmal Luft unter dem untersten Stein überbrücken (und durch X!CLR in der Schleife zwischendurch auch abräumen). Da das so schnell geht, spielt es keine Rolle, wie oft X!STEP über das Spielfeld wirbelt. Ist also eine Art "Sicherheitsschleife".

    Arndt

    PS: Ist übrigens ein schönes Beispiel, warum ich diesen Befehl X! genannt und für Extensions reserviert habe.

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Da fällt mir noch ein, dass deine Liste der freien Bereiche in TSB noch ergänzt werden muss: Wenn MEM aktiv ist, hast du den normalen Text-Screen ab $0400 zur freien Verfügung: 1KB zusätzlich!

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Hier meine Anpassungswünsche:

    x!step

    Der Befehl scannt ja das gesamte Spielfeld ab. Könntest du dabei zählen, wieviele Spielsteine es noch auf dem Spielfeld gibt (keine Glasblöcke mitzählen) und dies in Speicheradresse 828 hinterlegen? Das wäre nützlich, um festzustellen, ob ein Level gelöst wurde.

    x!clr

    Ich möchte, dass die Spielsteine nicht einfach vom Spielfeld verschwinden, sondern sich mit einer kleinen Animation auflösen. Evtl. möchte ich dabei später auch einen Ton abspielen, damit das Spiel nicht so still ist. Im Moment gibt es aber keine Möglichkeit, eine Interaktion zwischen dem Assembler-Programm und dem TSB-Programm zu realisieren.

    Ich habe mir das deshalb so vorgestellt: Der Befehl x!clr löscht selbst keine Spielsteine vom Spielfeld. Stattdessen schreibt er die Koordinaten der zu löschenden Spielsteine in den Kassettenpuffer ab Adresse 829 (damit der Rückgabewert von x!step nicht verloren geht). Im Kassettenpuffer haben wir 191 Bytes zur Verfügung. Das reicht also nicht, um die Koordinaten als x-Wert und y-Wert in getrennten Bytes zu hinterlegen. Dazu bräuchte man theoretisch bis zu 288 Bytes.

    Wenn man aber die Felder von oben links nach unten rechts durchzählt, dann braucht man nur 1 Byte für ein "Koordinatenpaar".

    Bitte melde dich an, um diesen Anhang zu sehen.

    Und so könnte das im Kassettenpuffer aussehen (wenn 3 Steine zum Löschen gefunden wurden):

    Speicheradresse 193 = erstes zu löschendes Feld (0-143)

    Speicheradresse 194 = zweites zu löschendes Feld (0-143)

    Speicheradresse 195 = drittes zu löschendes Feld (0-143)

    Speicheradresse 196 = 255 (= Ende-Kennung)

    Wenn mehr Felder zum Löschen gefunden wurden, dann muss die Liste entsprechend verlängert werden. Das Ende ist immer durch die Ende-Kennung 255 erkennbar.