Beiträge von Achim

    Die story ist ähnlich. Man macht sich auf den Weg zu einer Insel, um einen mystischen Ort zu finden, der dem Protagonisten helfen können soll, sich mit seiner Frau wieder zu vereinigen :)
    Man kann die Insel frei erkunden und einzelne Räume betreten, um benötigte Gegenstände und Erfahrungspunkte zu sammeln...

    Ich kann bestätigen, dass es demnächst in Angriff genommen wird. Sobald Run Demon Run draußen ist, werde ich zwischen The Wild Woods und diesem Zelda-Clone hin- und herswitchen. Das Konzept und die Grafik ist komplett vorhanden. Ich muss mich nur noch dransetzen ;)

    Genau.
    Damit das ganze funktioniert solltest du noch zwei Sachen ändern:
    1) Jeder IRQ sollte einzeln angetriggert werden, sprich nach jedem irq in $0314/$0135 die nächste IRQ-Adresse setzten und über $d012 sagen, wann das passieren soll.
    2) Deine wait-Funktion sollte mit dem IRQ synchronisiert sein, damit dein Hardscrolling/screen refresh immer zum gleichen Zeitpunkt startet.
    Einfach eine Variable 'sync' (beispielsweise) definieren. In IRQ 2 (schwarzer Balken) einfach ein 'inc sync' einbauen.
    Den mainloop mit 'jsr wait' anfangen. 'wait' sollte dann so aussehen:

    lda #0
    sta sync
    !: lda sync
    beq !-
    rts

    Dann wird dein mainloop immer zum gleichen Zeitpunkt, am Ende von IRQ 2, gestartet.

    Wenn der untere Bereich fest stehen bleiben soll, musste du drei IRQs setzen. Versuche mal Folgendes:

    1. IRQ bei $d012 = $fc
    Hier setzt du schon die softscrolls in $d016 und $d011 für den kommenden frame.

    2. IRQ bei $d012 = $32+20*8 (=oberer Screenrand+20 Screenzeilen)
    Hier setzt du einen 'illegalen' Wert für $d011 und beendest das vertikale scrollen. Ich mache das in der Regel mit diesem kleinen
    code Schnipsel:


    3.IRQ bei $d012 = $32+21*8 (=oberer Screenrand+21 Screenzeilen), evtl. noch ein, zwei Rasterzeilen früher.
    Hier setzt du $d011=$17 und $d016 = $18, dann sollte alles korrekt sein.

    Kleine Vorankündigung:
    Bitte melde dich an, um diesen Anhang zu sehen.


    Das Spiel ist im Grunde fertig. Es werden nur noch bugs gefixt. Gameplay: Bitte melde dich an, um diesen Link zu sehen.

    Ja, aber zum einen ist Parallax ein Beispiel für ein Scrolling ohne Farbram, d.h. man hat mehr Rasterzeit zur Verfügung und zum anderen ist das ja ein relativ „einfaches“ Parallax-Scrolling (Kacheln)
    Ich denke mal Achim meinte eher dass im Hintergrund z.B. Landschaften scrollen sollen, wie bei Hawkeye oder Flimbos Quest.

    Stimmt, hatte ich vergessen zu sagen. Das Farbram wird mitgescrollt und es handelt sich im ein tile von 4x4 chars mit eigener Farbe. Dieses tile soll nicht flächendeckend wie bei Parallax benutzt werden, das wäre natürlich leicht machbar.

    Im Zuge der Arbeit an Bitte melde dich an, um diesen Link zu sehen. hat sich die Frage ergeben, ob es möglich ist, eine feste zweite Ebene unter einem 8-Wege-Scrolling zu programmieren. Ähnlich wie in Bitte melde dich an, um diesen Link zu sehen.. Für rein Bitte melde dich an, um diesen Link zu sehen. ist durch mehrere Zeichensätze oder Bitshifting machbar. Die Frage ist, ob es eine vergleichbare Lösung mit 8 oder vielleicht auch nur 4 (vertikal+horizontal) Scrollrichtungen geben kann. Eine Lösung mit Sprites käme nicht in Betracht, es müsste ausschließlich mit dem Zeichensatz machbar sein.

    Ich persönlich halte es nicht für machbar, würde aber gerne die Meinung anderer Coder hören...