Höhere Einsteigerhürden beim Amiga?

Es gibt 257 Antworten in diesem Thema, welches 48.831 mal aufgerufen wurde. Der letzte Beitrag (23. Juli 2018 um 13:11) ist von StingRay.

  • <p>Code- und Musiktechnisch könnte ich evtl. was machen, wobei ich jetzt noch nicht so den Plan von der Amigaarchitektur habe.</p>

  • noch nicht so den Plan von der Amigaarchitektur


    Dieser Vortrag verschafft schon mal einen Überblick:

    Bitte melde dich an, um dieses Medienelement zu sehen.

    Code


    Welche Sprache(n) kannst du schon?

    Musiktechnisch


    Kannst du mit einem sogenannten Tracker umgehen?

  • Ich könnte ja auch was dazu beitragen, aber so ganz alleine macht's dann doch keinen Spaß. Hätte denn jemand ernsthaft Interesse an einem kleinen OCS Game welches hier gemeinsam entwickelt wird?

    Wieso setzt man nicht Arcade Klassiker 1zu1 um?

    Mir ist letztens Killerbees vom G7000 auf dem Amiga umgesetzt über den Weg gelaufen.

    Ein kultiges Missle Command wäre auch witzig oder diese ganzen Vectrex Spiele z.b. Minestorm.

    Micha

  • Sprachkenntnisse sind in Basic V2, 6502 Assembler, Python und Verilog, sowie ein wenig C, 68K- und X86-Assembler vorhanden. Was die Tracker betrifft, habe ich schon Renoise auf dem PC und diverse C64 Tracker wie SDI, JCH oder X-Sid genutzt und meine eigene Music Routine auf dem C64 gecodet.

  • diverse C64 Tracker wie SDI, JCH oder X-Sid genutzt und meine eigene Music Routine auf dem C64 gecodet.

    Darf man mal reinhören? Auf der CSDb finde ich Dich nicht.

    BOOM Special Edition - Link zum Ordern: Bitte melde dich an, um diesen Link zu sehen.
    Trailer: Bitte melde dich an, um diesen Link zu sehen.

  • Ich hab mir gestern mal

    Bitte melde dich an, um diesen Link zu sehen.

    und

    Bitte melde dich an, um diesen Link zu sehen.

    durch gelesen, und das ist schon nicht so ohne, was man da an Code braucht, um die Hardware zu initialisieren.
    Was mich aber ehrlich gesagt am meisten enttäuscht hat, waren die Einschränkungen bei den Sprites. Da seh ich zu den c64 Sprites nicht so den riesigen Fortschritt. Hatte mir Gedanken zu nem ganz einfachen Weltraum Shooter gemacht, aber ohne Sprite Multiplexer geht auch beim Amiga wohl nix und dann wirds schon wieder kompliziert.
    Oder man müsste das halt per Blitter für jeden Frame neu malen, was evtl wieder zu lahm wird.
    Jedenfalls ist mal mein Respekt für die Amiga Coder gewachsen. Die mussten genauso zaubern und tricksen wie die c64 Coder.

  • Was mich aber ehrlich gesagt am meisten enttäuscht hat, waren die Einschränkungen bei den Sprites. Da seh ich zu den c64 Sprites nicht so den riesigen Fortschritt.

    Eher ein kleiner Rückschritt, wie ich finde.
    Auch hier, wenn man die richtig verwenden will ist man beim Copper-gesteuerten Sprite-Multiplexer.

    Hätte man auf dem Amiga einfach nur die 8 C64 Sprites, aber in 32x32 und 16 Farben wäre vieles einfacher...

    Aber hätte hätte Fahrradkette.

  • Das ist ein typisches Problem der Hardware, die Jay Miner konzipiert hat. Beim Atari 2600, beim Atari XL und beim Amiga sind die Sprites meiner Meinung nach alle zu klein und zu wenig.

  • Das ist ein typisches Problem der Hardware, die Jay Miner konzipiert hat. Beim Atari 2600, beim Atari XL und beim Amiga sind die Sprites meiner Meinung nach alle zu klein und zu wenig.

    Yup, das ist echt so eine Jay-Miner-Sache.
    Diese 16 Pixel breiten dreifarbigen Dinger sind irgendwie echt der Joke bei so ner Kiste wie dem Amiga.

    Und dann diese bescheuerte Steuerung über diese zwei Control Words.

  • Ja, die Sprites sind nicht so gut nutzbar wie am C64.

    Als gutes Beispiel für gute Sprite-Nutzung gibt es z.B. Battle-Squadron. Spieler, Spieler- und Gegner-Schüsse bestehen aus Sprites und sind somit ruckelfrei. Das Scrolling ist auch ruckelfrei. Alles andere wie die Bewegung der BOBs sind nur 25 FPS.

    Man kann auch teilweise die Sprites unter gewissen Bedingungen als Paralaxe verwenden unter dem Nachteil das man während der Darstellung der Sprites fast keine Speicherzugriffe bekommt. Die Paralaxe wiederholt sich dann alle 128 Pixel. Siehe Turrican I die Fluglevel.

    Unter AGA hat man den Vorteil, dass man ja auch größere Sprites nutzen kann bis zu 64 Pixel breit, sogar in Super Hires oder Hires. Dann sind diese natürlich wieder schmaler relativ zur Low-Res Grafik ;)

    Noch ein kleiner Nachteil bei dem Amiga ist, dass man evtl. auf einige Sprites bei Horizontal-Scrolling verzichten muss, unter OCS bei 320 Pixeln Breite auf Sprite 7.

    Aber man hat bei dem Amiga den Vorteil, dass Scrolling im Gegensatz zum C64 fast nichts kostet, wenn man es richtig macht ;)

    Amiga und C64 sind eben verschieden. Was man sehr schwierig bei einer C64 auf A500 Konvertierung machen könnte, wäre etwas ,wenn es z.B. Hintergrund-Animation über veränderliche Chars gibt. Auf dem Amiga den ganzen Bildschirm zu verändern dürfte recht schwierig sein. Und dürfte nur sehr, sehr eingeschränkt machbar sein.

  • Ich hab gestern auch noch folgendes Interview gelesen

    Bitte melde dich an, um diesen Link zu sehen.

    , weil ich so ein Fan von Swiv bin. In dem Interview werden auch noch paar Tricks verraten, die in den Spielen verwendet wurden. Danach haben die Sprites für Swiv (trotz Multiplexing) eigentlich auch nicht gereicht, weshalb sie an einigen Stellen flackern, was mir zugegebenermassen noch nie aufgefallen ist. Na ja, bei soviel Action auf dem Bildschirm kommen die alten Augen halt nicht mehr mit... :schande:

  • Das ist ein typisches Problem der Hardware, die Jay Miner konzipiert hat. Beim Atari 2600, beim Atari XL und beim Amiga sind die Sprites meiner Meinung nach alle zu klein und zu wenig.

    Ich finde man hätte dem Atari 8Bit mehr Farbregister spendieren müssen, bei ner 256 Farbpalette letztlich nur 4 zu haben in vernünftigen Auflösungen ist suboptimal, beim Amiga dachten die Jungs glaube ich mehr an 3D Flugsimulatoren mit Vectorgrafik.

    Micha

  • Da helfen aber einerseits Blitter und Co nicht soooo viel, und ausserdem war die 1. Amiga Generation dafür ja auch zu langsam. Da lief ja nicht mal Raycasting, wie etwa bei Doom flüssig.

  • Da helfen aber einerseits Blitter und Co nicht soooo viel, und ausserdem war die 1. Amiga Generation dafür ja auch zu langsam. Da lief ja nicht mal Raycasting, wie etwa bei Doom flüssig.

    Davon redet auch keiner sondern wenigen ausgefüllten Polygonen mit 5-10 Frames/Sekunde.

    An sowas wie DOOM hat 1986 sicher keiner gedacht und ich glaube auch nicht das Jay Miner sowas toll gefunden hätte.

    Hast Du niemals FA18 Interceptor, Starglider 2 oder F16 Falcon gespielt?

    Bitte melde dich an, um dieses Medienelement zu sehen.

    Bitte melde dich an, um dieses Medienelement zu sehen.

    Bitte melde dich an, um dieses Medienelement zu sehen.

    Micha

  • Da ich erst auf dem Amiga programmieren gelernt habe, kann ich auch mal ein paar Worte dazu schreiben.
    Bis auf dem 68k ist aber alles über 20 Jahre her.

    Habe mal den alten Kurs "SCHNELLE SPRITES" aus dem Amiga-Magazin von Hans-Grill rausgesucht.
    Und das ganze auf ein minimum reduziert.

    Sprites auf dem Amiga (OCS):
    Insgesamt stehen acht Sprite zur Verfügung, die Overlay und Multiplexing in Hardware beherrschen.
    Des weiteren können bis zu 8 Sprite pro Zeile dargestellt werden.
    Sprites haben eine Breite von 16-Pixel und können die volle Bildschirmhöhe haben.
    Jedes Sprite besteht aus einer transparenten und drei weiteren Farben.
    Es können auch Spritepaare (overlay) 0+1 / 2+3 usw. gebildet werden, dann besteht das Spritepaar aus 15 Farben.

    Spriteaufbau im groben:
    Die ersten vier Bytes der Spritedaten sind ein Header. Dann folgen die Spritedaten, jede Zeile besteht wieder aus vier Bytes.
    Am Ende der Spritedaten kommen weitere vier Bytes, wer hätte das gedacht.
    Damit kann man das Sprite wiederverwenden (multiplex) oder die Darstellung beenden, dann setzt man einfach vier Null-Bytes im Header.

    Sprite im Detail.

    Header:
    1. Byte = Bit Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 ; Y-Pos
    2. Byte = Bit X8 X7 X6 X5 X4 X3 X2 X1 ; X-Pos
    3. Byte = Bit Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0 ; Spritehöhe (Zeilen)
    4. Byte = Bit AT -- -- -- -- Y8 Z8 X0 ; Restbits

    Spritedaten:
    1. Wort = Plane 1 - Zeile 0
    2. Wort = Plane 2 - Zeile 0
    3. Wort = Plane 1 - Zeile 1
    4. Wort = Plane 2 - Zeile 1
    5. Wort = Plane 1 - Zeile 2
    6. Wort = Plane 2 - Zeile 2

    Am Ende:
    1. Vier Nullen = Ende
    1. Neuer Header = Multiplex / weitere Spritedaten

    Spritepaare (AT) Anmerkung, jedes Sprite hat eine eigene Spriteliste.

    1. Sprite 0 - Header
    2. Sprite 0 - Wort = Plane 1 - Zeile 0
    3. Sprite 0 - Wort = Plane 2 - Zeile 0
    4. Sprite 0 - Wort = Plane 1 - Zeile 1
    5. Sprite 0 - Wort = Plane 2 - Zeile 1
    6. Sprite 0 - Wort = Plane 1 - Zeile 2
    7. Sprite 0 - Wort = Plane 2 - Zeile 2
    8. Sprite 0 - Ende / Header

    1. Sprite 1 - Header
    2. Sprite 1 - Wort = Plane 3 - Zeile 0
    3. Sprite 1 - Wort = Plane 4 - Zeile 0
    4. Sprite 1 - Wort = Plane 3 - Zeile 1
    5. Sprite 1 - Wort = Plane 4 - Zeile 1
    6. Sprite 1 - Wort = Plane 3 - Zeile 2
    7. Sprite 1 - Wort = Plane 4 - Zeile 2
    8. Sprite 1 - Ende / Header

    Plane:
    Mit einer Plane kann man zwei Farbe darstellen. Legt man eine weitere oben drauf hat man vier.
    Vergleichbar mit den MC-Sprites des C64, nur sind die Bitpaare übereinander.
    Jede weitere Plane verdoppelt die Anzahl an Farben.

    Nochmal zurück zum Header.
    Da alle Kordinaten 9-Bit breit sind, verteilt sich der Rest im letzten Byte des Header.
    Das setzen der Kordinaten eines Sprites beinhaltet deshalb ein paar Abfragen.
    Bei Attached (Overlay) müssen beide Header die selben Daten enthalten.

    Letzten Worte zu den Sprites.
    Die Handhabung ist anders als auf dem C64. Es gibt keine direkten Farbregister, bei 4096 Farben eine Schande, sondern Bitmap und Sprite teilen sich die Farbpalette.
    Mit nur 16-Pixel nicht besonders breit. Je nach Bildschirmbreite (Overscan) verliert man Sprites, angefangen bei Spritepaar 6/7.
    Setzt man die Sprites nur für den Spieler ein, hat man min. 64-Pixel und 15 Farben. Das bewegen kostet gegenüber Bobs kaum Rechenzeit.
    Es gibt scheinbar kein Sprite-Editor für den Amiga.

    Jetzt kann sich jeder selbst ein Bild von den Sprites auf dem Amiga machen.

    Es ist praktisch unmöglich, ein schnelles Programm zu schreiben, wenn man es in Basic programmiert.

    Einmal editiert, zuletzt von Acorn (19. Februar 2018 um 22:02)

  • Jetzt kann sich jeder selbst ein Bild Von den Sprites auf dem Amiga machen.

    Wie stehen den andere 16 Bitter in Sachen Sprites da?

    Atari ST = Keine
    Atari STE = Keine
    Acorn Archimedes = ???
    Sharp X68000 = ???

    Micha

  • Laut Wiki: Der Archimedes beherrschte nur ein Hardware-Sprite.

    Es ist praktisch unmöglich, ein schnelles Programm zu schreiben, wenn man es in Basic programmiert.

  • Der X68000 hatte soweit ich weiß 128 Hardware Sprites, jedes davon 16x16 Pixel, 16-farbig und maximal 16 Sprites pro Line.

    Edit: Da war jemand schneller :)