Was für ein Format ist dieses spr File? Sind da alle Sprites hintereinander drin? Bei mir waren das immer 64 Bytes. 63 Byte Spritedaten plus die Farbe.
Hallo Besucher, der Thread wurde 29k mal aufgerufen und enthält 155 Antworten
letzter Beitrag von TheRealWanderer am
F64PGC2017: Fußball (Coder gesucht)
-
-
@Retrofan Du hast schon recht, wirklich beurteilen kann man es erst, wenn mans mal probiert hat. Eventuell fallen einem dann auch noch ein paar andere Moeglichkeiten ein. Wenn ich es gerade nicht so stressig haette, wuerde ich sowas eben selbst mal in Python implementieren, ist eigentlich kein grosser Act. Aber habe leider grad andere Dinge zu tun, deshalb denke ich, dass hoffentlich jemand anders bald ein Testprogramm erstellt
-
Was für ein Format ist dieses spr File? Sind da alle Sprites hintereinander drin? Bei mir waren das immer 64 Bytes. 63 Byte Spritedaten plus die Farbe.
Vermutlich u.a. für sowas: http://www.subchristsoftware.com/spritepad.htm
-
Hab jetzt paar Sources, aber Byte 0 in dem spr File ist 1, also wird aktuell nur 1 Frame geladen?
-
Einfach in SpritePad über 'File/Import' importieren (kann/darf dort sogar auch noch .txt heißen). Nicht über 'Open'.
Im Anhang mal als .prg @$2000.
-
Ich versuch das mit eigenem C Code zu laden. Hab kein SpritePad.
-
Ich versuch das mit eigenem C Code zu laden.
Vielleicht Auf einem PC? Wäre es dann nicht einfacher, du nähmest gleich das PNG, wie die anderen auch?
-
Nein, ich lad das auf dem c64. OK, aktuell in vice, aber halt mit eigenem c code.
-
Ach so. Bei C dachte ich halt eher an einen PC. Aber mit dem PRG kannst du doch jetzt was anfangen, oder? Da liegen die Daten jetzt doch als Sprites drin, wenn ich das richtig verstehe.
-
Wie ich das PRG laden soll, weiss ich noch nicht. Besser wären die Sprite-Daten einfach als Binary. Ich hatte bei mir immer so ein einfaches Fileformat, wo ein Sprite ein 64 Byte File war. 63 Byte Sprite-Daten und im letzten Byte stand die Farbe.
Ich vermute in dem spr File hier aus dem Forum sind zumindest die ersten Bytes falsch. Da steht 01 08 drin, was gar keinen Sinn macht, weil es sollen doch 16 Sprites sein?
-
Hab's mal als .bin angehängt.
-
Ist dieses bin nun einfach 17 Sprites hintereinander? (Sollten es nicht 16 sein?) Mit jeweils 64 Byte? Es fängt immer noch mit den gleich 2 Bytes an. Ich versuch es jetzt einfach mal zu laden.
-
16 Pfeile + Ball = 17. Wenn du $01/$80 mit den ersten zwei Bytes meinst, wäre das korrekt, weil es die ersten beiden Bytes des ersten Pfeils sind.
-
Den Ball brauchen wir ja noch nicht. Sollte dann eh besser ein eigenes Sprite werden.
Hab jetzt also mal was ganz einfaches geschrieben, damit man mal die Drehungen testen. Steuerung mit Joystick in Port 2.
In dem zip ist ein c64soccer.d64 .
make all image emulator
compiliert mal alles, erzeugt d64 und startet vice.
Nicht meckern, dass das ja total unoptimiert ist usw. Ist klar. Im echten Spiel muss das natürlich mit dem Bilschirm gesynched werden usw. Ist jetzt nur mal für den Spieler-Test.
-
Würde es Sinn machen, wenn man aus der Rotation einen Ball mit Effet schiessen kann? Dass der Ball also eine leichte Kurve in der Richtung beschreibt, in welche sich der Spieler beim Schuss gedreht hat?
-
Hab jetzt also mal was ganz einfaches geschrieben, damit man mal die Drehungen testen. Steuerung mit Joystick in Port 2.
Erstmal vielen Dank für das erste Test-Programm. Das sieht doch schon mal vielversprechend aus. Hier nochmal die Grundidee, die auf Nutzbarkeit getestet werden soll:
Man steuert ja üblicherweise den Nicht-KI-Spieler in eine bestimmte Richtung. Hier mal angenommen mit Ball – direkt nach oben auf das Tor zu rennend. Wenn man jetzt z.B. in die Gegenrichtung oder nur nach rechts steuert, wird sofort diese Richtung eingeschlagen aber wenn man z.B. im Lauf zusätzlich nach rechts steuert (also oben-rechts), dann wird nicht sofort auf 45° geschaltet, sondern für eine sehr kurze Zeit (meinetwegen 1/2 Sekunde) ein Zwischenschritt mit 22,5° eingeschlagen und erst dann auf 45° geschaltet. Schießt man in der Phase, wird auch der Ball in 22,5° abgefeuert.
Man kann aber auch weiter in diese Richtung laufen, wenn man sofort nach der Oben-Rechts-Bewegung wieder auf Oben zurückschaltet. Dann läuft der Spieler, bis man ein kurze Bewegung nach Oben-Links ausführt in 22,5° (oben-oben-rechts – wenn man es ähnlich Windrichtungen angeben würde) weiter.
Und hier nochmal die Idee für ein schneller umzusetzendes Testprogramm (um sich Hintergrundscrolling etc. sparen zu können):
PNG mit 17 nebeneinanderliegenden Hires-Sprites zu je 24 x 21 Pixeln. Die ersten 16 stellen die Laufrichtungen des Spielers dar, das 17. Sprite ist der Ball, den man direkt vor der Pfeilspitze darstellen könnte (oder erst, wenn man schießt). Man benötigt für den Dummy kein Scrolling – man kann den Pfeil über den Bildschirm laufen lassen. Wenn er den Bildschirm verlässt, sollte er auf der gegenüberliegenden Seite wieder hereinkommen. Bei Betätigen des Feuerknopfes kann der Ball (eine feste Strecke lang oder bis zum Bildschirmrand) in Laufrichtung verschossen werden (nach Ende des Schusses sollte der Spieler einen neuen Ball bekommen). So müsste man sehen können, ob meine Idee mit den 16 Richtungen umsetzbar ist und intuitiv benutzt werden kann.
Erster Test: Wenn man mit dem Joystick einmal in die Runde "rührt", sollte der Pfeil fast einen kleinen Kreis (16-Eck) laufen.
Als nächstes sollte der Pfeil also in die Richtung "laufen", in die er per Joystick bewegt wird (außer man geht es gleich ganz groß an und scrollt den Hintergrund).
Bist du bereit für weitere Taten?
-
Der Geist ist willig, aber die freie Zeit arg begrenzt. Ein weiterer Coder wäre ne tolle Hilfe!
-
Ist jeder der sich hier einbringt dann als Programmierer 'verbrannt' fuer weitere Entries?
Dieser Beitrag ist noch gar nicht angemeldet und vielleicht kommt es auch gar nicht dazu. Und wenn doch, dann wird es einen hauptamtlichen Programmierer geben, der keinen 2. Beitrag einreichen darf. So sehe ich das zumindest. Sicherheitshalber kannst du ja nochmal bei TRW nachfragen.
-
Mir ist vorhin noch ein lustiges Feature eingefallen. Vielleicht könnte man so eine Art Radiokommentar in einer Shoutbox einblenden. Um rechtlichen Problemen aus dem Weg zu gehen, könnte man die Spielernamen etwas verballhornen (Beckenigge passt zu Rummenbauer!).
-
Es wäre ein schönes Feature wenn man selber die Originalnamen nachträglich einfügen könnte