Beiträge von Hoogo

    Ich weiß nicht so recht, ob das links/rechts-Problem wirklich so wichtig ist.

    Mir fallen 2 Spiele mit entsprechender Steuerung ein, Rally Speedway am C64 und Death Rally unter DOS, und Probleme hatte ich nicht. Wobei da die Geraden aber auch meist kurz waren, ich am Ende noch meine Fahrtrichtung wusste und das auch am Scrollen gesehen habe. Ohne Scrolling könnte das was anderes sein.

    Meine letzten ordentlichen Projekte dürften um die Jahrtausendwende gewesen sein. Irgendwann saß ich heulend im Büro, weil mit die Arbeit über den Kopf gewachsen war, und danach war das Programmieren als Hobby praktisch tot. Schon Asembler-Quelltexte ansehen ging nur noch mit Widerwillen. Ich hab zwar noch kleinere Sachen fertiggemacht, aber das war "zäh" und hat keinen Spaß gemacht. Dieser Flow, wo man stundenlang seitenweise programmiert und aus Instinkt immer weiß, was man tut, der war einfach weg.


    Ganz losgelassen hat es mich nicht, da sind immer wieder interessante Diskussionen, Ideen, Träume und Grübeleien, ob und wie man was umsetzen könnte. Praktisch kommt dann aber auch oft das Leben dazwischen, und so hat meine Ausdauer bisher nur für ein paar Tage gereicht. Nach dem einrichten der Tools und ersten Tests war dann wieder Schluß. Und so ist es bisher bei den guten Vorsätzen geblibene, die alten Projekte zu Ende zu bringen und Ideen umzusetzen.


    Teamarbeit kann hilfreich für die Motivation sein, wenn man zusammensitzt und gemeinsam Spaß hat und sich unterstützt. Schwierig wird es, wenn es zum Abliefern von Arbeitsleistung verkommt oder man als einziger Arbeitet.

    *furz*

    Das war jetzt ein Leiser. Erst merkt man nix, aber dann!

    Nachgebaute Aufkleber für mein Fahrrad hab ich hier drucken lassen: Aufkleberdrucker.de

    Ich hatte farbig drucken lassen und auf Haltbarkeit gesetzt, laminiert, ziemlich dicke Folie, da wird man auf jeden Fall eine Kante sehen. Bei Bedarf kann ich Bilder machen.


    Vom Resr werde ich mal einen Schnipsel auf die Tastatur kleben und sehen, ob und wie lange das kleben bleibt.

    Abwegiger Gedanke: Die Menüpunkte mit Farbe statt mit Revers als ausgewählt darstellen.

    Dann könnte man den Bildschirmspeicher kurz verschieben und die Auswahl per Scrolling verschieben. Zum Runterscrollen braucht man noch einen Poke, und man kommt glaub ich nicht an die erste Bildschirmzeile ran. Aber ansonsten: Es ist Basic (wenn auch Bif-Basic) und printed die Zeilen nicht neu.

    Ich finde da auf jeden Fall die heutigen Kriegsspiele mit ihrem Realismus, vielleicht sogar – für noch mehr Immersion – noch mit VR-Brille gespielt, deutlich gefährlicher, was mögliche Abstumpfungs-Effekte etc. angeht.

    Gemischt...
    Vieles, was man zu Waffen zu wissen glaubt, ist Popkultur aus Hollywood und Spielen. Das "geglaubte Wissen" lässt sich prima mit den Mitteln füttern. Mit den ernsthafteren Shootern kann man sicher auch Wissen vermitteln.

    Aber das Wissen im Kopf ist nicht die Realität. Kein Spiel oder Film kann Dir antrainieren, wie Du Dich unter Lebensgefahr und Beschuss verhalten wirst, das schafft nicht mal monatelange Ausbildung bei der BW. Und im Kopf und der Theorie nützt das Wissen nichts, wenn der Kopf abschaltet.

    Ich denke, es dürften wie so oft die Emotionen schwerer wiegen. Spielt man den Helden und fühlt sich gut? Oder spielt man einen Soldaten und ist plötzlich tot und weiß nicht mal warum?

    Wo wir gerade bei verzierten Gehäusen sind. Hier mal ein Bild der Abdeckung die Teil meiner C64C Ersteigerung war...



    Ich habe mich bisher noch nicht getraut. Lege immer noch ein Jägermeister Bartuch drüber, das macht es erträglich. Bin für jeden Tipp und moralische Unterstützung dankbar. Dieses schmierige ist irgendeine Art von fluoreszierendem Farbauftrag. Das lässt sich anscheinend mit einer Cutterklinge ganz gut abschaben.

    Gut, so eine Abdeckung ist nicht so geschichtsträchtig wie die Berliner Mauer, die man ja auch nicht geputzt ins Museum gestellt hat...
    Aber als Zeitdokument finde ich die Schmierereien fast wertvoller als die Plastikabdeckung. So im Vergleich von "Das hat die Industrie damals unseren Eltern verkauft, damit die Tasten vom guten Computer nicht staubig werden" zu "und das haben wir draus gemacht".

    Heute fertig geworden, war eine längere Aktion.


    Das Rad ist jetzt 30 Jahre, hatte ich mir vom ersten Geld in der Ausbildung gekauft und hatte daher ideellen Wert für mich. Zum Glück gab es in näherer Umgebung noch einen Rahmenbauer, der das gebrochene Rohr ersetzt hat und auch jemanden fürs Lackieren hatte. Hat bei den Anbauteilen eiin bisschen geschlampt, aber ist schon OK. Aufkleber hab ich nachgebaut, Hinterrad hat neue Felge, und diverse Teile hab ich noch blank gemacht und poliert. Paar "neue" Bremsen hab ich noch geschossen, die kommen morgen noch dran.


    Nur trau ich mich jetzt nicht mehr, es am Bahnhof stehen zu lassen.

    eine Art Script für Abläufe.

    Ich glaube, ich bin bei was Vergleichbarem gelandet.


    Von Flags bin ich gedanklich weg. Da würde es eine Reihe von Falgs + Adressen dazu geben, eine einfache Schleife, die alle Flags durchläuft und evtl. die Adressen anspringt. Das ist schlicht und schön und kann für manches die schönste Lösung sein.


    Aber schon beim Beispiel könnte es anfangen, unelegant zu werden.

    Was, wenn man die 3 Animationen mal in unterschiedlicher Reihenfolge haben will? Oder mit anderen Zählern? Man die Animationen auf 8 Gegner-Sprites anwenden will, unabhängig voneinander? Und jedes Unterprogramm muss dann seine eigene Counter bis 100 führen, Initialisieren findet sonstwo statt, und eine schöne Übersicht, welches Flag auf welches folgen kann bekommt man im Code auch nicht.


    Mir schwebt was mit einem Array von "Animations-Slots" vor:


    DemoAnim

    !Wo 100, subHintergrund, 100, subSprite, 100, subRahmen, 0


    ldx#<DemoAnim

    ldy#>DemoAnim

    lda#0;Slot-Nummer

    jsr InitSlot

    ...

    Eine Hauptschleife kann das ganze Zählen, Weiterrücken und Beenden übernehmen, die Unterprogramm lesen bei Bedarf Slot und Zählerstand aus/bekommen das übergeben.


    Alle Anforderungen deckt das aber auch nicht ab. Den aktuelle Schritt vorzeitig zu beenden und den nächsten Schritt zu starten wird ganz elegant gehen und die Gesamtübersicht nicht ernsthaft durcheinanderbringen. Mehr Schritte zu überspringen oder andere Animationen zu starten wird vom Code her auch OK sein, aber da fängt dann doch Spaghetti an, das wird quer über den ganzen Code verstreut sein.

    Ich erinnere mich, dass ich in den 80ern mal mit Lampe, Lichtgriffel-Bastelei am AD-Wandler und einem Sprite die Netzfrequenz auf dem Schirm sichtbar gemacht habe. Irgendwas in dem ganzen Aufbau war nicht 100%ig 50Hz, jedenfalls konnte ich einen langsamen Sinus sehen. Und die Taktzyklen, die der 64er für 50 Bilder verbrät, passen auch gar nicht genau zur Frequenz des Quarzes. Der Quarz ist glaub ich ein kleines bisschen schneller.


    Es wird dicht genug für die meisten Zwecke an 50Hz sein.

    Im Zweifel: mach mal 3 Zähler für 49, 50 und 51, lasse die darstellen und vergleiche mal nach 2 Minuten, welcher noch zur Uhr passt.

    Und wenn ich es GANZ genau haben wollte: Dann 24 Stunden laufen lassen und die Abweichung berechnen.

    Manchmal kann es auch Sinn machen, das Flag so zu implementieren dass die Info ob was passieren soll in den oberen Bits sitzt. Dann kann man das per BIT-Befehl abfragen.

    Ist fast immer so, wenn man es nicht mit größeren Arrays von Flags zu tun hat. Setzen/Löschen/Lesen einzelner Bits frisst viel mehr Raum, als man durch das Bitbangen spart. SEC/ROR, LSR /BIT oder irgendein Load gehen.

    Ich mach mir noch Gedanken zur Ursprungsfrage.
    Animationslisten mit Adresse/Anzahl Aufrufe wären praktisch, eventuell lohnt sich auch ein bisschen Gefummel, um mittendrin zu anderen Animationen zu wechseln.
    Ich hatte grad die Eingebung, dass man Coroutines in 6502 machen könnte, die mit JSR Exit statt RTS beendet werden könnten. Ist aber noch kein ausgereifter Gedanke.

    Ich erinnere mich, dass ich bei meinem Win11 auch was mit den schmalen Scrollbalken hatte. Bin nicht mehr sicher, ob ich das nur für Firefox oder ganz Windows behoben habe... Aber ich MEINE, ich hätte eine Einstellung in der Systemsteuerung gefunden.

    Also die 1:1-Umsetzung der 2nd Reality von Smash fand ich damals ungeheuer kreativ. Ich wüsste sonst nicht, dass mal jemand eine Demo von den großen Geräten in der Art umgesetzt hätte, ganz von der Herausforderung abgesehen.

    Aber 1:1-Umsetzungen von Spielen sehe ich doch eher als reine Herausforderung, die kreativen Code braucht, aber als kreatives Spiel sehe ich das nicht.

    Mal von Labels abgesehen, als typisch für Assembler im Vergleich zum einfachen Monitor würde ich sehen, dass man Zeilen löschen oder einfügen kann. In reinem Code noch OK, aber wenn man echte Daten, Sprungziele und andere Verweise nicht sicher unterscheiden kann... Dann braucht man viel Mitarbeit durch den Anwender.


    Ich würde mir schon wünschen, dass Code, Daten, Adressen auseinander gehalten werden. Eventuell spart das sogar Speicher, weil man klevere Erkennung wie bei einem Disassembler sparen kann?