Diskussion zu "Project J - Wir schreiben ein C64 Spiel in mehreren Schritten"

Es gibt 42 Antworten in diesem Thema, welches 7.249 mal aufgerufen wurde. Der letzte Beitrag (28. August 2012 um 22:24) ist von giben.

  • das ist doch mal eine wirklich schöne sache!

    :zustimm:

    Things fall apart; the centre cannot hold;

    Mere anarchy is loosed upon the world,


    W. B. Yeats

  • Finde ich auch sehr interessant. Bisher komme ich noch gut mit. :)

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Tolle Idee! :thumbsup: Mit spieltypischen Programmiertechniken hab ich mich eher weniger beschäftigt, da kann ich noch was lernen. Danke schonmal für deine Bemühungen! :D

    Kleiner Wermutstropfen für mich: dass du Adressen dezimal angibst. Wo immer es auf die Bitebene geht, ist es für mich leichter, hexadezimale Zahlen zu interpretieren, im Moment müsste ich immer genauer gucken, was du eigentlich meinst. Aber ich bin bereit, mich zu arrangieren, wenn es für dich und/oder die meisten Mitleser im Dezimalsystem einfacher ist. ;)

    BTW: Es wäre auch möglich, so zu kommentieren, dass beide Systeme abgedeckt wären, aber das ist ein erheblicher Mehraufwand, den du dir nicht machen müsstest, war nur so eine Idee.

  • Gibt mittlerweile sehr viele Online-Konverter, z.B. Bitte melde dich an, um diesen Link zu sehen. . Falls jemand kurz umwandeln möchte.

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Ist ein altes Basic-Leiden von mir, 53248 kann ich so besser einordnen. Sehe ich mir aber mal an, die meisten Adressen habe ich später mal umgemappt, aber die noch nicht. Da gibt's ja auch allgemein gängige Aliase.

    C64Studio: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- C64Studio WIP: 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.

  • Super Idee...

    Kann der Thread gepinnt werden, damit man Ihn auch schnell wiederfindet?

    Vielleicht auch für jeden Schritt ein neuer Thread, der gepinnt wird - dann verschwinden die einzelnen Schritte nicht in 20 - 50 Seiten...

    Nur so ein Gedanke...

    NOW I LAY ME DOWN TO SLEEP
    PRAY THE LORD MY SOUL TO KEEP,
    IF I DIE BEFORE I WAKE
    PRAY THE LORD MY SOUL TO TAKE

  • Nicht nur gepinnt. Ich finde das Tutorial und die Diskussion drumherum sollten getrennte Threads sein. Sonst passiert dass das wieder unübersichtlich wird. Geht das Konform? Dann würde ein SuperMod das Tut in einen eigenen Thread kopieren und die Diskussion samt Verweis auf das Tut in einen anderen Thread.

  • Sehe ich auch so, in diesem Thread am besten nur die Kursinfos, alles Gelabere einfach in einen OT Thread. Sonst geht die Übersicht wirklich flöten. Ich bin zwar sonst auch n Labersack, aber in manchen Threads wärs echt besser...

  • "!zone" Was bedeutet das?

    wieso wird hier 2x auf linie $f8 gewartet?
    einmal bei WAITFRAME und einmal bei .WaitStep2
    wo ist da der Unterschied?
    Wieso hat .WaitStep eine Punkt davor und WaitFrame nicht?
    Kann mir das bitte jemand erklären?

  • wieso wird hier 2x auf linie $f8 gewartet?
    einmal bei WAITFRAME und einmal bei .WaitStep2
    wo ist da der Unterschied?

    Das steht in den Kommentaren darüber: Es ist der Garant dafür, dass beim eigentlichen Aufruf (.WaitStep2) genug Zeit zur Verfügung steht. Stell dir einfach mal vor, dieser Teil würde mitten in der gewünschten Zeile ausgeführt werden, das könnte zu unerwünschten Timing-Glitches führen, z.B. würde der Farbwechsel dann unsauber. WaitFrame verhindert das ("wait for the next full screen, prevents mistimings if called too fast"), indem dieser Teil, wenn man schon in der gewünschten Zeile $f8 ist, nochmal eine Extrarunde dreht.

  • Das Aufteilen des Threads fände ich sehr nett, das müßte allerdings ein Mod in die Hand nehmen *winkwinknudgenudgeknowwhatimean*

    giben:
    !zone ist für Acme die Kennzeichnung einer in sich geschlossenen Label-Gruppe. Alle Labels, die ein . davor haben, sind nur innerhalb dieser Zone sichtbar. Alle Labels ohne Punkt sind global sichtbar.
    Das hilft sehr schön, wenn man Labels für Loops verwendet. Da gibt es dann nicht loop1 bis loop32000, sondern kann noch relativ aussagekräftige Namen verwenden.

    Das zweimal auf $f8 warten hat hobbycoder sehr schön erklärt. Das Problem würde auftreten, wenn man es zweimal direkt hintereinander aufruft (für eine Zeitpause o.ä.). Der zweite Aufruf könnte tatsächlich noch innerhalb der $f8 erfolgen.

    C64Studio: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- C64Studio WIP: 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.

  • Klar doch, das eigentliche tutorial ist nun ein sticky und die Diskussionen/Kommentare dazu ausgelagert.
    Lasst aber bitte auch den Sticky sauber damit Endurion seine weiteren Schritte dort nacheinander posten kann.

    I wanted to make this world better, but god denied to give me the sources...

  • Super, danke!

    C64Studio: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- C64Studio WIP: 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.

  • Das steht in den Kommentaren darüber: Es ist der Garant dafür, dass beim eigentlichen Aufruf (.WaitStep2) genug Zeit zur Verfügung steht. Stell dir einfach mal vor, dieser Teil würde mitten in der gewünschten Zeile ausgeführt werden, das könnte zu unerwünschten Timing-Glitches führen, z.B. würde der Farbwechsel dann unsauber. WaitFrame verhindert das ("wait for the next full screen, prevents mistimings if called too fast"), indem dieser Teil, wenn man schon in der gewünschten Zeile $f8 ist, nochmal eine Extrarunde dreht.

    Tja mein Englisch ist leider nicht so gut :sad:
    Mich iritiert noch das "!zone" ,
    Noch hab ichs net ganz gerafft, aber das wird schon noch ^^
    Danke Dir

  • Ich illustriere mal anhand eines sinnfreien Beispiels:


    Würde das !zone bei FuelleZeichenRot nicht stehen, könnte ich das Schleifenlabel dort nicht auch .loop nennen, da der Name oben schon benutzt wurde.

    C64Studio: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- C64Studio WIP: 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.

  • !zone ist Geschmackssache. Ich persönlich würde lieber die .loop jeweils anders nennen, weil es imho bei größerem Codevolumen eindeutiger ist Sachen mit STRG+F wiederzufinden, aber letztlich ist das gehupft wie gesprungen.

    So oder so freue ich mich über/auf den Fred!

  • Geht mit ACME auch so :

    Entsprechend mit Sprüngen nach vorne:

    Code
    inc4:
              lda $fe
              clc
              adc #$04
              sta $fe
              bcc +
              inc $ff
    +
              rts

    Noch einen Tip : Ich schreibe hinter den Sprunglabels immer die Doppelpunkte, aus den einfachen Grund, dass man die dann schneller finden kann (Sprünge dort hin ohne Doppelpunkt, Sprungziel mit Doppelpunkt).

    Ist natürlich alles Geschmacksache ...