Night Knight für den Atari 8bit Rechner
Verfasst: 16.11.2022 14:48
Hi,
nachdem Peter die ersten Bilder seines neuesten Programms vorgestellt hat, wollte ich auch mal davon berichten, was ich so entwickle. Also nach Oxygene dem Original vor ca. 30 Jahren und Oxygene Be wollte ich kein Ballerspiel mehr machen. Hab dann mal Pacmen Evolution programmiert, um mich vom "Ballerspieldrang" zu befreien. Und jetzt hab ich mich mal an ein Spiel gewagt, was wie ich finde recht gut zum Atari passt.
Night Knight.
DAS Spiel von Juan J. Martinez. Sein Approval habe ich, also hab ich einfach mal angefangen.
Das Spiel wurde zum großen Teil in meiner Action! ähnlichen Hochsprache geschrieben, hat aber nicht dessen Einschränkungen. Ich kann die 62kb des Atari voll nutzen.
* Die Aufgabe im Spiel ist einfach, einmal jeden entsprechenden Boden berühren, dann den Schlüssel einsammeln und dann durch die geöffnete Tür ins nächste Level entkommen.
* Es gibt 80 verschiedene Level, der erste ist im Video zu sehen.
* Alle Gegner wollen einem an den Kragen.
Wie 1ng immer sagt, es gibt keine Probleme, nur Herausforderungen.
* Wie stellt man auf dem Atari mehr als 4 Sprites da? Shanti77/tebe haben dazu etwas programmiert, was ich für das Spiel umgeschrieben habe. Das werde ich bald mal so richtig vorstellen. Mit diesem Code kann ich bis zu 16 Sprites frei positionieren und auch unterschiedlich animieren. Nur wenn mehr als 4 Sprites in einer Zeile sind, flackert es. Man braucht pro Sprite nur noch 4 Bytes zu setzen. Und jede Menge Displaylist-Interrupts.
* Wie bekommt man 80 Level ohne Nachladen in den Speicher? Ich sag mal, entweder geschickt zusammensetzen durch Blockbildungen und dann Copy&Pasta, oder brachiale Gewalt mit RLE/Huffman. Ich habe die 2. Methode angewendet. Die 80 Level brauchen knapp 9kb RAM. Der Packer wird schon bei Pacmen verwendet.
* Etwas fummelig waren die unterschiedlichen Dinge, die jeder Gegner ausführt. Aber das ist fast alles gelöst.
* Die Collisionsabfrage ist auch so ein Ding, da ich nicht wirklich weiß, welcher Sprite mit welchem Sprite kollidiert, nutze ich hier die eingebaute Kollisionserkennung mit ein paar zusätzlichen Tricks.
* Ein Password-Generator musste her, ich habe mir dazu einfach mal md5sum angesehen und für den Atari 8bit eine kleine Fassung davon geschrieben.
* Wie bei meinen aktuellen Spielen üblich gibt es natürlich einen GodMode, aber diesmal gibt es nur 99 Leben. Mein Sohn hat dann erstmal die ersten 60 Level durchgespielt, bis die Leben alle waren.
* Meiner Hochsprache habe ich noch ein paar zusätzliche Optimierungen verpasst, so das der Code nicht zuu groß wird und schnell bleibt. Pacman belegt auch nur noch 278 Sektoren, statt 299. Ok, das meiste davon war ein kleiner Umbau des Packers.
* Leider hat der Atari keine Highres-Sprites wie der MSX oder C64, deshalb wirkt alles etwas breiter, aber es sieht nett aus.
Es fehlt nur noch Musik/Ton und ein paar Kleinigkeiten.
LG
Lars
nachdem Peter die ersten Bilder seines neuesten Programms vorgestellt hat, wollte ich auch mal davon berichten, was ich so entwickle. Also nach Oxygene dem Original vor ca. 30 Jahren und Oxygene Be wollte ich kein Ballerspiel mehr machen. Hab dann mal Pacmen Evolution programmiert, um mich vom "Ballerspieldrang" zu befreien. Und jetzt hab ich mich mal an ein Spiel gewagt, was wie ich finde recht gut zum Atari passt.
Night Knight.
DAS Spiel von Juan J. Martinez. Sein Approval habe ich, also hab ich einfach mal angefangen.
Das Spiel wurde zum großen Teil in meiner Action! ähnlichen Hochsprache geschrieben, hat aber nicht dessen Einschränkungen. Ich kann die 62kb des Atari voll nutzen.
* Die Aufgabe im Spiel ist einfach, einmal jeden entsprechenden Boden berühren, dann den Schlüssel einsammeln und dann durch die geöffnete Tür ins nächste Level entkommen.
* Es gibt 80 verschiedene Level, der erste ist im Video zu sehen.
* Alle Gegner wollen einem an den Kragen.
Wie 1ng immer sagt, es gibt keine Probleme, nur Herausforderungen.
* Wie stellt man auf dem Atari mehr als 4 Sprites da? Shanti77/tebe haben dazu etwas programmiert, was ich für das Spiel umgeschrieben habe. Das werde ich bald mal so richtig vorstellen. Mit diesem Code kann ich bis zu 16 Sprites frei positionieren und auch unterschiedlich animieren. Nur wenn mehr als 4 Sprites in einer Zeile sind, flackert es. Man braucht pro Sprite nur noch 4 Bytes zu setzen. Und jede Menge Displaylist-Interrupts.
* Wie bekommt man 80 Level ohne Nachladen in den Speicher? Ich sag mal, entweder geschickt zusammensetzen durch Blockbildungen und dann Copy&Pasta, oder brachiale Gewalt mit RLE/Huffman. Ich habe die 2. Methode angewendet. Die 80 Level brauchen knapp 9kb RAM. Der Packer wird schon bei Pacmen verwendet.
* Etwas fummelig waren die unterschiedlichen Dinge, die jeder Gegner ausführt. Aber das ist fast alles gelöst.
* Die Collisionsabfrage ist auch so ein Ding, da ich nicht wirklich weiß, welcher Sprite mit welchem Sprite kollidiert, nutze ich hier die eingebaute Kollisionserkennung mit ein paar zusätzlichen Tricks.
* Ein Password-Generator musste her, ich habe mir dazu einfach mal md5sum angesehen und für den Atari 8bit eine kleine Fassung davon geschrieben.
* Wie bei meinen aktuellen Spielen üblich gibt es natürlich einen GodMode, aber diesmal gibt es nur 99 Leben. Mein Sohn hat dann erstmal die ersten 60 Level durchgespielt, bis die Leben alle waren.
* Meiner Hochsprache habe ich noch ein paar zusätzliche Optimierungen verpasst, so das der Code nicht zuu groß wird und schnell bleibt. Pacman belegt auch nur noch 278 Sektoren, statt 299. Ok, das meiste davon war ein kleiner Umbau des Packers.
* Leider hat der Atari keine Highres-Sprites wie der MSX oder C64, deshalb wirkt alles etwas breiter, aber es sieht nett aus.
Es fehlt nur noch Musik/Ton und ein paar Kleinigkeiten.
LG
Lars