Hallo Besucher, der Thread wurde 52k mal aufgerufen und enthält 350 Antworten

letzter Beitrag von Knights of Bytes am

Sam's Journey wird auf das NES portiert

  • Ich war nur vom Gucken immer 'mal der Annahme, dass die Hauptfigur, die Lebensanzeige (Helm), und das besagte untere Hauptpanel sich ggf. die gleichen 'silber'/grauen Farben teilen ? (Turrican 2)

    Aufgeteilte Farben bedeuten nicht, dass man nicht RGB-Werte an unterschiedlichen Stellen benutzen kann oder zweimal in der Palette. Ist auch nicht so ungewöhnlich, bzw ich hatte mit Andreas Escher einmal ein Projekt, wo zwei schwarz gebraucht wurden.

    In dem Fall würde es mich aber auch nicht wundern, wenn Andreas an sich frei gepixelt hat. Ich hatte mir beizeiten mal Turrican 2 vorgenommen und die Grafik interessehalber zerlegt und da kam halt bei raus, dass die Hintergründe durch die Bank 16 Farben haben.

    Allerdings hatte mir Andreas auch mal gesagt, dass er für die Grafik von Turrican 2 eigentlich keine Beschränkung vorgegeben bekommen hatte und er auch entsprechend vorgegangen sei. Also ich weiß nicht, warum er es dann doch so gemacht hat. Vielleicht aus künstlerischen Gründen oder weil vielleicht schon Accolade wegen einer Mega-Drive-Umsetzung angeklopft hatte (auf dem Mega Drive muss man sich auf 15 oder 16 Farben je nach Ebene beschränken).

    Axis (der Amiga-Coder in Oxyron) sagte mir, dass es auch nur Sinn mache, die Grafik in der Form einzuschränken, alleine wg des Datendurchsatzes und weil es Kollisionsabfragen erleichtert.


    Ich bin schon auf die Unterschiede gespannt, in Sachen Grafik ist das NES etwas potenter als der C64 ...

    Nicht unbedingt. Die höhere Auflösung durchaus, aber die Farben und die Palettenvorgaben schränken beim NES kreativ schon ein. Die Palette des NES ist etwas unausgewogen, bzw. bissel viel grün und blau, wenig Zwischentöne, keine durchgängigen Helligkeiten und man muss sie in vier mal vier Farben unterteilen. Als Hintergrundfarbe drängt sich schwarz auf, weil sonst der Rahmen entsprechend eingefärbt wird. Die Paletten sind dabei auf 16x16 Pixel fixiert. Die Konsole wurde für blockige Spiele wie Super Mario Bros oder Megaman designt.

    An sich ist der C64 in grafischer Hinsicht schon erheblich flexibler als das NES, trotz Doppelpixel und nur 16 Farben. In der Beziehung ist das schon eindrucksvoll, wie gut Stefan die Grafik auf dem NES gelungen ist.

  • Das habe ich leider überlesen, das die Sprites viel kleiner sind, und bei 8 Sprites nebeneinander muss man dann auch sehr genau planen.

    Was genau bedeutet "keine durchgängigen Helligkeiten und man muss sie in vier mal vier Farben unterteilen... Die Paletten sind dabei auf 16x16 Pixel fixiert."?

  • Was genau bedeutet "keine durchgängigen Helligkeiten und man muss sie in vier mal vier Farben unterteilen... Die Paletten sind dabei auf 16x16 Pixel fixiert."?

    Das mit den Helligkeiten kann man sich vielleicht besser vorstellen, wenn man an die C64-Palette denkt. Man hat 16 Farben, welche man in je nach VIC-Revision in 5 oder 7 Helligkeitsstufen einteilen kann. Dadurch lassen sich recht viele Farbübergänge erstellen, welche trotz der eingeschränkten Auswahl recht sanft ausschauen.
    Beim NES gibt es schon Farbkombinationen, welche man auf die Art verwenden kann, aber die Palette ist insgesamt nicht so gleichmäßig abgestuft. Wenn man sich das auf der Wikipedia-Seite anschaut, sieht man direkt die uneinheitlichen Helligkeitssprünge in den Farbgruppen.
    https://en.wikipedia.org/wiki/…game_console_palettes#NES

    Beim NES hat man auf der einen Seite 54 Farben, aus denen man sich insgesamt 8 Farbpaletten zusammenstellen kann. 4 davon für Hintergründe und 4 für Sprites. Jede Palette umfasst 4 Farben, wobei eine als Hintergrundfarbe bzw bei Sprites als transparent definiert ist. Die Hintergrundfarbe ist global, also in allen Paletten gleich.
    So - nun die Hintergrundgrafik: Das NES hat tile-basierte Grafik, also vergleichbar, wie auf dem C64 Spielegrafik gebaut wird. Auf dem NES ist ein Tile 16x16 Pixel groß und man muss sich je Tile für eine der 4 Paletten entscheiden.

    D.h.. eine Grafik, wie in Katakis auf dem C64 bekäme man in der Form auf dem NES gar nicht umgesetzt. Bzw beim NES gibt es noch die sogenannten Mapper, was die Sache nicht ganz so starr macht. Das sind Zusatzchips auf den Modulen, welche in grafischer Hinsicht z.B. die Menge an verfügbaren Chars bestimmt. Der MMC5-Mapper bietet da die Möglichkeit, die Paletten auf 8x8 Pixel zuzuweisen. Ich wüsste jetzt aber kein Spiel, dass das auch nutzt.

  • Wenn das NES 64(!) Sprites anzeigen kann

    Wenn ich mich recht erinnere hat das NES auch nur 8 "echte" Hardware-Sprites (sprich: 8 pro Scanline). Nur hat es einen "eingebauten" Multiplexer für die Sprites. Der ist allerdings nicht der Beste, daher das viele Flackern...

  • An sich ist der C64 in grafischer Hinsicht schon erheblich flexibler als das NES, trotz Doppelpixel und nur 16 Farben. In der Beziehung ist das schon eindrucksvoll, wie gut Stefan die Grafik auf dem NES gelungen ist.


    Nicht unbedingt. Die höhere Auflösung durchaus, aber die Farben und die Palettenvorgaben schränken beim NES kreativ schon ein.

    Ich kann das zuwenig von der Hardware Seite beurteilen - ich bin eher nach der Spielothek gegangen und persönlich finde ich das Gro der NES Spiele "schöner" als vergleichbare C64 Spiele. Soundtechnisch fand ich den C64 immer besser. Das ging mir damals wie heute so. Vielleicht lag der Unterschied auch an der verfügbaren Manpower - bei den Japaner haben damals schon Teams an einzelnen Titel gearbeitet und so das Gerät besser an ihre Grenzen gebracht.

  • Vielleicht lag der Unterschied auch an der verfügbaren Manpower - bei den Japaner haben damals schon Teams an einzelnen Titel gearbeitet und so das Gerät besser an ihre Grenzen gebracht.

    Man bekommt schon sehr gute Grafiken auf der Hardware hin (denke gerade an Little Samson). Andere Restriktionen heißen ja nicht, dass die Maschine schlechter ist.
    Was sicher bei einigen Herstellern in Japan mit reinspielte, ist sicher mehr Leute, Zeit, Erfahrung. Bin auch im Zweifel, ob mein 20-jähriges damals solch eine Aussage gemacht hätte...

  • Beim NES gibt es schon Farbkombinationen, welche man auf die Art verwenden kann, aber die Palette ist insgesamt nicht so gleichmäßig abgestuft.

    Genau. Viele NES Spiele haben, vor allem was die Hintergrundgrafik während des Spielgeschehens betrifft, häufig Farben verwendet, die sich deutlicher von den Sprites und anderen Objekten im Vordergrund, absetzen als dies bei C64 Spielen der Fall ist. Und so schöne Farbverläufe wie in einigen C64 Spielen oder vor allem auch Demos, sieht man nicht oft auf dem NES, finde ich.



    Der MMC5-Mapper bietet da die Möglichkeit, die Paletten auf 8x8 Pixel zuzuweisen. Ich wüsste jetzt aber kein Spiel, dass das auch nutzt.

    "Castlevania 3" fällt mir da gleich ein. Denn das ist auch der Hauptgrund, warum das Spiel in einigen NES Emulatoren und auch Klon-Konsolen Probleme macht, beziehungsweise entweder gar nicht oder fehlerhaft darauf läuft. Leider auch auf meinem "Retron 3", weil es eine der ersten Versionen dieser Konsole war. :( In einer später erschienenen Version des "Retron 3" lief "Castlevania 3" dann angeblich, las ich im Netz.


    Hat mich damals sehr geärgert an meinem "Retron 3", denn das Game ist ein Highlight am NES. :( Später hab ich das "Retron 3" dann wieder abgegeben, nicht weil es technisch keine gute Konsole gewesen ist (denn das war es auf jeden Fall, sogar die Everdrives und PowerPaks gehen damit), sondern weil sein Material übelst nach Chemie gestunken hat und man das Teil nach jeder Spielsession immer wieder in den Keller räumen musste, weil sonst die ganze Wohnung am nächsten Tag nach Chemie roch. War echt so schlimm, kein Witz.


    Interessant ist in dem Zusammenhang auch noch, daß es manchmal Rom-Hacks zu NES Spielen gibt, welche den Mapper des jeweiligen Spiels dann wechseln. Auch für "Castlevania 3" fand ich da vor einiger Zeit schon einen, der dann den MMC3 Mapper statt des MMC5 für das Spiel verwendet. Siehe hier:

    https://www.romhacking.net/hacks/2360/


    Nur konnte ich das gepatchte Rom nicht mehr ausprobieren am "Retron 3", weil ich die Konsole schon abgegeben hatte, bevor ich diesen Patch damals fand. Ich schätze aber mal, dass dieses gepatchte Rom dann damit funktioniert hätte.

  • AW182

    Bei Castlevania 3 könnte man das meinen, weil es auch das Modul verwendet, womit sowas möglich ist. Es hält sich aber tatsächlich an die Standard-Restriktionen. Das Spiel nutzt wohl schon einige Besonderheiten, die Farben sind es aber nicht.
    Genauer gesagt, nutzt das Spiel die Palette aber insofern ziemlich geschickt, dass der Grafiker in 8x8 Pixeln oft nur 2 Farben einsetzt und durch den Detailgrad wirkt es auf größerer Fläche, als wäre es mehr.

  • AW182

    Bei Castlevania 3 könnte man das meinen, weil es auch das Modul verwendet, womit sowas möglich ist. Es hält sich aber tatsächlich an die Standard-Restriktionen. Das Spiel nutzt wohl schon einige Besonderheiten, die Farben sind es aber nicht.


    Hier ist das Spiel mit gelistet als MMC5 Board, welches den Mapper 5 nutzt:

    https://wiki.nesdev.com/w/index.php/MMC5


    Und hier noch ein interessanter Thread zum Thema:

    https://forums.nesdev.com/viewtopic.php?f=18&t=9552


    Dort schreibt "Johannes Mutlu" den Satz:


    "The main reason why we want to see this game running on a mmc3 chip is because to make it compatible with the powerpak,multi rom carts ,famiclones and emulators whose don't support/handle the mmc5 chip"


    Das ist genau die Sache die ich ansprach, warum das Spiel auf den ersten Versionen des "Retron 3" nicht lief.

  • Wenn ich mich recht erinnere hat das NES auch nur 8 "echte" Hardware-Sprites (sprich: 8 pro Scanline). Nur hat es einen "eingebauten" Multiplexer für die Sprites. Der ist allerdings nicht der Beste, daher das viele Flackern...

    Darüber hatte ich mich mal mit Chester unterhalten, und er verneinte die Existenz eines "Hardware-Multiplexers", soweit ich mich erinnere. Ich hab es so verstanden, dass es tatsächlich Sprites Nr. 0 bis 63 gibt und das NES einfach schaut, für jedes Sprite, ob es auf der aktuellen Scanline erscheinen soll. Wenn ja, wird es gezeichnet. Nach 8 gezeichneten Sprites ist dann Schluss.


    Mir wurde klar: Das Flackern ist also kein Hardware-Feature, sondern muss vom Programmierer herbeigeführt werden. Wahrscheinlich muss man ständig die Sprite-Pointer ändern, damit nicht immer die selben Sprites unter den Tisch fallen. So wird quasi in einem Frame ein bestimmter Satz von 8 Sprites dargestellt und im nächsten Frame ein anderer (an anderen Koordinaten), so dass es flackert.


    Das würde aber bedeuten, dann man z.B. die Spielfigur stets sichtbar halten kann, während Gegner gelegentlich flackern. Schlau programmiert könnte man z.B. Explosionen stärker flackern lassen damit feindliche Schüsse mind. jeden 2. Frame zu sehen sind. Soweit mein Verständnis der Sache.


    Bei Sam's Journey hat Chester zum Glück die Möglichkeit, die Position der oft nebeneinander liegenden Diamanten (min. 2 Sprites auf dem NES) vertikal etwas zu variieren, so dass das Flackern reduziert werden kann.

    Little Samson

    Wow, das sieht gut aus. Von 1992?! Commodore dachte schon 1986, 8 Bit ist tot, hehe. Dann haben sie es sich anders überlegt und den C64C rausgebracht. Aber hier in DE haben die Medien ja 1992 auf jeden Fall schon zig-fach den C64 für tot erklärt, weil ist ja 8 Bit. Nintendo zeigt: Wieviel Bit ist wumpe, Hauptsache das Spiel ist gut. Der Lacher waren für mich damals meine Mitschüler, die in diesem Zeitraum meinten, die Grafik des C64 sei ja so schlecht, das könne man ja nicht mehr spielen. Nur um dann den Game Boy rauszuholen - bloß weil es mobil war, war die schlechte Grafik dort plötzlich wieder en vouge. :)

    Castlevania 3

    Wenn Castlevania 3 und Little Samson die grafisch anspruchsvollsten Titel repräsentieren, würde ich sagen die schlägt Sam aber schon! :)

  • Thunderblade:

    Ja, es gibt 64 Sprites. Der Entwickler kann die alle direkt benennen. Aber das NES liest deren y-Koordinate und übergibt dann die maximal ersten acht gefundenen an die echten "Hardware-Sprites" zum Darstellen. Das meinte ich ja mit Multiplexer, da das eben in jeder Scanline gemacht wird. Der Entwickler braucht sich nicht darum zu kümmern. Er braucht nicht abfragen, ob zufällig mehr als acht Sprites in einer Linie sind. Er sollte (!) es aber bedenken, da es sonst zum typsichen NES-Flackern kommt.


    Am C64 schreibt man sich diese Routine selber (und besser). Das ist der Unterschied. Das NES bietet eine Methode von Haus aus, am C64 programmiert man sich selber eine. Am NES wäre das evtl. ohne Custom-Chip/extra Speicher auf der Cartridge im Spielebereich kaum möglich, da das NES so wenig RAM hat. Wenn ich mich recht erinnere... ;)

  • Wenn Castlevania 3 und Little Samson die grafisch anspruchsvollsten Titel repräsentieren, würde ich sagen die schlägt Sam aber schon! :)

    Ob man "Castlevania 3" jetzt unbedingt als einen der grafisch anspruchvollsten Titel sehen kann, weiß ich jetzt nicht. Die Grafik ist gut, aber jetzt auch nicht überragend. Denke da gibt's schon noch Games mit besserer Grafik. Aber insgesamt würde ich "Castlevania 3" als eines der besten Spiele am NES bezeichnen, denn da stimmt einfach alles, finde ich. Der Titel spielt sich wirklich super und die Levels und Gegner sind abwechslungsreich. Man merkt dem Game schon irgendwie an, dass es ein MMC5 Board nutzt.




    Bei allen Unterschieden zwischen NES und C64, die ja wirklich gross sind, sehe ich das, was dann letztendlich am Screen maximal rauskommen kann bei beiden Systemen, in einer sehr ähnlichen Liga. Denke da nehmen sich beide Systeme dann nicht viel, wenn man die grafisch besten Spiele beider Systeme miteinander vergleicht. Klar sieht man sofort, welches Spiel von welchem System kommt, weil sich schon die Farben sehr unterschieden, aber qualitativ gibts auf beiden Systemen wirklich tolle Grafiken und bei manchen Games finde ich den NES Port besser, bei anderen den C64 Port. In Sachen Demos und Effekte in diesen, liegt der C64 vorne. Es gibt aber auch viel weniger Demos am NES logischerweise, da man diese ja auf echten Konsolen lange Zeit gar nicht abspielen konnte. Das war ja dann erst möglich mit späterer Hardware. Deshalb hinkt dieser Vergleich, daß der C64 hier klar vorne liegt, dann wohl auch wieder ein bisschen, weil es ja auch viel mehr Demos für ihn gibt. :)