Wie abwechslungsreich wäre die Grafik noch bei solchen Limitierungen?
Kann ich noch nicht sagen, weil ich zum einen nicht sicher bin, ob ich die Limitierungen wirklich verstanden habe (siehe nächsten Satz) und zum andere, was es für Auswirkungen bei Bäumen, Häusern etc. haben würde.
In jeder der möglichen 8 Colorramfarben, sind maximal 32 verschiedene Chars möglich.
Wenn ich das richtig verstehe, bleibt die Anzahl unterschiedlicher Chars gleich (256), nur muss man die zu jeweils 32 Chars sortieren, die sich eine ColorRAM-Farbe teilen. Korrekt? Ich glaube, das wäre machbar.
Und kannst du schon abschätzen, wieviele Zeichenmuster die ISO-Darstellung die reine Landschaft (ohne Hindernisse wie Bäumeund Häuser) benötigt?
Ungefähr ja. Überraschend wenige.
Ich stelle hier ein Plateau in Kreuzform, mit allen vorkommenden, abfallenden Flächen, dar. Verdeckungen gibt es im Gelände nicht. Hier haben wir also gerade Flächen, abfallende Flächen in 4 Richtungen, 4 Innenwinkel und 4 Außenecken. Dunkelgrün die doppelten. Man kann diese Formen "auftürmen", um beliebig hohe Berge zu erzeugen.
Hier habe ich die Grafikelemente (Flächen) nochmal von einander getrennt in Originalgröße:
Man kann jetzt selbst zählen, wie viele unterschiedliche Chars man benötigt. Das können um die 10 sein (sogar weniger), aber auch mehr. Es hängt davon ab, ob man manche Formen wegen unterschiedlicher Farbkombinationen aus verschiedenen Bitmustern gebaut benötigt, also ein hier grüner Pixel z.B. 01 oder 10 darstellt. Das könnte optisch gleich sein, vom Bitmuster des Chars dann aber nicht. Um das genau zu sagen, müsste ich noch tiefer einsteigen – bislang habe ich mich nur darum gekümmert, wie sowas grundsätzlich aussehen könnte und ausprobiert, ob der Betrachter die Geländedarstellung auch "versteht".
Und zwar überlege ich, statt mit Chars, mit Sprites zu arbeiten. Diese lassen sich recht einfach in alle Richtungen inkl. Farben bewegen.
Damit es einen 3D Effekt erzeugt, könnte man eine Char Maske, die über den Sprites liegt verwenden, um die Sprites insoweit zu überdecken.
Ich muss zugeben, dass ich mir das Prinzip noch nicht wirklich vorstellen kann. Neben dem Background benötigt man ja auch für das Spielgeschehen Sprites.
Die Sprites selbst würden so organisiert werden, dass die unteren jeweils die oberen Sprites verdecken, sobald sie sich überlappen.
Auf jeden Fall würde für so etwas ein Spritemultiplexer benötigt.
Meines Wissens ist es aber so, dass ein Sprite-Multiplexer ein Sprite erst neu verwenden kann, wenn es zu Ende gemalt wurde (alle 21 Pixelzeilen). Vertikale Überlappungen wären so nicht möglich.