Neue C64 ASM/Basic Compo : Dreh' das Sprite.

  • Merlin_The7thSign schrieb:

    Bin auch schon ziemlich nah dran, aber die kürzeste Lösung wird's wohl nich werden.
    Trotzdem werd' ich meinen Beitrag auf jeden Fall einsenden. Würd' ich auch machen, wenn 100 Leute besser wären.
    Eben. Kratzt mich auch überhaupt nicht. Muss Spaß bleiben.


    Merlin_The7thSign schrieb:

    Andersrum geht's auch. Hab' mittlerweile für Beides eine Version. Von links ist sagenhafte 2 Bytes kürzer.
    'Andersrum' hatte ich noch nicht versucht. Möchte ich vielleicht auch gar nicht mehr. Ich guck's mir aber doch noch mal an...


    Merlin_The7thSign schrieb:

    Verdammtes Carry-Flag
    DAS kam mir noch gar nicht in die Quere! ICH hab' das Carry überhaupt nirgends verwandt bzw. abgefragt. So verschieden sind die Vorgehensweisen dann aber wohl doch. Spannend schön :dafuer: .
    Read'n'Blast my jump'n'stop-text-sprite-scroller Select A Move

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?
  • hehe hier mal ein ganz andrer ansetz der ganz ohne rol/ror/asl/lsr auskommt, leider dreht er voellig falsch und ist auch nicht
    regelkonform. die idee hatte ich von hier C2P Tutorial. ich denke um einen char zu drehen ist er besser geiegnet.


    einen geschwindigkeits und groessen rekord schlaegt er sicher auch nich.
    Dateien
    • asm-combo.prg

      (642 Byte, 2 mal heruntergeladen, zuletzt: )
  • M. J. schrieb:

    Okay, 56 Bytes. Weiß zufällig jemand, wo Roland ist...?

    M. J. schrieb:

    Nur leider: letzter Stand: 53 Bytes.
    Grrr....

    Bei 56 bin ich nun auch :) (bzw. 58 Dateigröße). MD5 25740f7a2b4e6983467bf7b22da8dd3f

    Wie hast du deine Bytes denn gerechnet?

    Du hast wahrscheinlich genau diese 2+1 Bytes gefunden, die mich hier noch stören... :böse . Und ich hab' schon 3 Bytes ganz fies weggeräumt...

    Also weiter :D
    Read'n'Blast my jump'n'stop-text-sprite-scroller Select A Move

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?
  • alx schrieb:

    Und ein Nachweis dass er die Lösung auch wirklich schon dann hatte.
    (sonst könnte ich ja am 1. tag behaupten es in 40 bytes geschafft zu haben, das aber erst am ende wirklich tun.)
    Okay, also dann: CRC64 (MD5 habe ich jetzt nicht hier) = 371584B008361EEA

    enthusi schrieb:

    @M.J. optimierst Du noch weiter? ;)
    Leider nein. :( Hatte nur kurz Zeit, das Programm in einer Pause schnell zu überfliegen, konnte aber keine Möglichkeit mehr entdecken, noch ein Byte rauszukürzen. Wenn ich aus dieser Nachfrage entnehmen kann, daß Du oder jemand, den Du kennst, eine kürzeren Weg gefunden hat, würde ich das sehr begrüßen.

    Hexworx schrieb:

    Wie hast du deine Bytes denn gerechnet?
    Gesamte Länge der PRG-Datei, also inklusive Ladeadresse. Ich denke aber, Du bist auf dem richtigen Wege. Wenn Du Dich beeilst, kannst Du noch vor mir eine Lösung einreichen. ^^ Bin echt gespannt, wie die anderen Lösungen von Euch aussehen. Und sollte es sogar wirklich möglich sein, daß am Ende zwei oder mehr genau den gleichen Code produzieren?


    Was die Nennung der Bytes angeht, so muß ich sagen, daß ich persönlich dies eher locker sehe. Zum einen fände ich es reichlich absurd, die Leistungen anderer geheimzuhalten. Man stelle sich vor, bei einem Wettrennen müßte jeder Läufer alleine völlig abgeschirmt vom Rest der Welt einsam seine Runden drehen und würde erst bei der Siegerehrung erfahren, wie gut seine Leistung war... Im Gegensatz zur F64GC gibt es hier ja eine für alle vorgegebene anhand von einfachen Zahlen direkt vergleichbare Zielsetzung, und wie beim Rennen kann der Läufer vor mir mich anspornen, noch mehr Kraft zu entwickeln, um das Ziel zu erreichen.
    Abgesehen davon befürchte ich, daß wer auch immer an solch einem Wettbewerb nur teilnimmt, um den ersten Platz zu kriegen, ohnehin am falschen Ort ist. Bei solch einer Compo geht es nicht wirklich darum, einen Titel zu erringen (der erste Preis besteht sowieso nur aus der Ehre und dem Vergnügen, die nächste Compo abhalten zu dürfen), sondern das eigene Können an einer Herausforderung zu messen und etwas Neues dazuzulernen. Das allein sollte für einen Programmierer schon genug Motivation sein. Mich persönlich treibt es sogar mehr an, wenn ich weiß, daß eine bessere Lösung existiert, weil ich dann auch diesen Gedankengang nachvollziehen will.
    Und selbst in dem Fall, daß man absehbar keine Chance hat, auf den ersten Platz zu kommen, bleibt man trotzdem dabei, einfach weil es Spaß macht, die grauen Gehirnzellen mit so etwas zu beschäftigen. Bei der Compo zur Textkompression hatte ich auch keine Chance, aber das war mir egal, weil die Compo passenderweise eine gute Gelegenheit war, verschiedene Textpackverfahren auf ihre Wirksamkeit zu prüfen. Sowas ist mehr Gewinn als der erste Platz.
    Und nebenbei: Wer weiß... Vielleicht stellt Peiselulli später beim Testen mit seinem Programm fest, daß meine Lösung doch irgendwie fehlerhaft ist... Am Ende ist es doch nur ein Spiel.
  • M. J. schrieb:

    Und sollte es sogar wirklich möglich sein, daß am Ende zwei oder mehr genau den gleichen Code produzieren?
    Ich könnte noch ein paar 'INX' woanders hinschieben, um den Code zu verändern ^^ , das war's dann wohl auch.

    M. J. schrieb:

    Mich persönlich treibt es sogar mehr an, wenn ich weiß, daß eine bessere Lösung existiert, weil ich dann auch diesen Gedankengang nachvollziehen will.
    Und selbst in dem Fall, daß man absehbar keine Chance hat, auf den ersten Platz zu kommen, bleibt man trotzdem dabei, einfach weil es Spaß macht, die grauen Gehirnzellen mit so etwas zu beschäftigen.
    Ohne Worte: :ilikeit:

    Ich such' dann jetzt erstmal noch eine Lösung in basic BASIC. Gibt's da eigentlich zumindest 'ne goldene Zitrone für ?( :dafuer: ?
    Read'n'Blast my jump'n'stop-text-sprite-scroller Select A Move

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?
  • Neu

    Wie soll oder will man das eigentlich kontrollieren, dass der Coder auch wirklich das Ausgangssprite benutzt hat und nicht einfach "irgendwie" die (ja im Vorhinein bekannten) Spritewerte berechnet und dann einfach hineinschreibt, (oder sogar einfach nur eine Tabelle mit den / anderweitig berechneten oder gar schon fix und fertig drin stehenden Werten ausliest u. in den Ziel-Spriteblock 'reinpoket') ?
    Da muss der Veranstalter ja durch jeden Code blicken bzw. diesen auch zu 100% nachvollziehen können, stelle ich mir schwierig bis fast unmöglich vor.
    Aber ich will hier kein Spielverderber sein, mir gefallen solche (Compo-)Ideen generell gesehen sehr gut.

    Edit: Ok, hatte übersehen, dass das Ausgangssprite ja doch irgendein beliebiges Sprite sein kann und muss u. kein im Vorhinein bekanntes. Ich hatte noch fix das Bild von dem Pfeil Sprite hier im Thread im Kopf.
    So gesehen lässt sich das mit dem jeweiligen Prg. dann ja doch beliebig lange und viel testen.. .
    ' war Anfang 2000 schonmal unter dem Kennnamen 'c64fan' hier unterwegs.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von CommieSurfer ()

  • Neu

    M. J. schrieb:

    Was die Nennung der Bytes angeht, so muß ich sagen, daß ich persönlich dies eher locker sehe. Zum einen fände ich es reichlich absurd, die Leistungen anderer geheimzuhalten. Man stelle sich vor, bei einem Wettrennen müßte jeder Läufer alleine völlig abgeschirmt vom Rest der Welt einsam seine Runden drehen und würde erst bei der Siegerehrung erfahren, wie gut seine Leistung war... Im Gegensatz zur F64GC gibt es hier ja eine für alle vorgegebene anhand von einfachen Zahlen direkt vergleichbare Zielsetzung, und wie beim Rennen kann der Läufer vor mir mich anspornen, noch mehr Kraft zu entwickeln, um das Ziel zu erreichen.
    Abgesehen davon befürchte ich, daß wer auch immer an solch einem Wettbewerb nur teilnimmt, um den ersten Platz zu kriegen, ohnehin am falschen Ort ist. Bei solch einer Compo geht es nicht wirklich darum, einen Titel zu erringen (der erste Preis besteht sowieso nur aus der Ehre und dem Vergnügen, die nächste Compo abhalten zu dürfen), sondern das eigene Können an einer Herausforderung zu messen und etwas Neues dazuzulernen. Das allein sollte für einen Programmierer schon genug Motivation sein. Mich persönlich treibt es sogar mehr an, wenn ich weiß, daß eine bessere Lösung existiert, weil ich dann auch diesen Gedankengang nachvollziehen will.
    Und selbst in dem Fall, daß man absehbar keine Chance hat, auf den ersten Platz zu kommen, bleibt man trotzdem dabei, einfach weil es Spaß macht, die grauen Gehirnzellen mit so etwas zu beschäftigen.
    Sehe ich genauso.

    Natürlich will man immer gerne gewinnen (oder zumindest möglichst nahe dran sein). Aber jeder hier kennt doch ungefähr seine Möglichkeiten, oder? D.h. jemand der sich selbst nicht für einen guten Coder hält, wird sich von irgendeiner Lösung außerhalb seiner Reichweite nicht abschrecken lassen (und falls doch, würde das vielleicht erklären warum er nicht besser ist ). Und wer sich als guter Coder einschätzt, den dürfte eine bessere Lösung nur weiter anspornen.

    Anyway, ich bin mir sicher, dass die Länge der besten Lösung hier noch nicht gepostet wurde. Da geht noch einiges! ;)
    Have fun!
    thrust2600
  • Neu

    TheRealWanderer schrieb:

    Und wenn ich dann noch ein paar Bytes bei der Schleife für das Nullen des Sprites (bisher 10 Bytes) bei Pointer 14 einsparen könnte, dann könnten es so um die 60 werden.
    Aber alles darunter dürfte für mich nicht machbar sein.
    So, jetzt hänge ich an der 60 Bytes Schallmauer (inkl. Basiczeile und PRG-Header).
    Und die hab ich nur wegen IOps hinbekommen :/

    Da ich mit dem Code nicht mehr weiterkomme, muss ich nach einem anderen Ansatz suchen...
    ______________________________________________
    Wenn ich posten will, werde ich Briefträger...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von TheRealWanderer ()