Night Knight für den Atari 8bit Rechner

Moderator: Rockford

Antworten
Benutzeravatar
LarsImNetz
Beiträge: 149
Registriert: 24.08.2021 18:27
Has thanked: 105 times
Been thanked: 79 times
Kontaktdaten:

Night Knight für den Atari 8bit Rechner

Beitrag von LarsImNetz »

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.
Night-Knight-Atari8bit-Stage-01.mkv
(1.46 MiB) 100-mal heruntergeladen
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. 8-) 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

Benutzeravatar
CharlieChaplin
Beiträge: 556
Registriert: 18.06.2021 22:59
Has thanked: 103 times
Been thanked: 148 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von CharlieChaplin »

Klingt gut und sieht auch gut aus. Ich mag Plattformer (sowie Jump & Runs).

Böser Link zum MSX Vorbild: https://www.usebox.net/jjm/night-knight/
und zum C64 Port: https://aris-soft.itch.io/night-knight

Und nach RLE/Huffman kommt dann bei mir der Exomizer zum Einsatz ;-)

Benutzeravatar
MarGUS_XXL
Beiträge: 79
Registriert: 18.08.2021 20:11
Has thanked: 58 times
Been thanked: 11 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von MarGUS_XXL »

LarsImNetz hat geschrieben:
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.
Hallo Lars,

Das Spiel sieht echt nett aus.
Dein Pacmen Evolution ist aber auch echt gut gelungen.
Auf meiner persönlichen ASC-Hitliste rangiert es auf Platz 2, knapp hinter Break it.
Eine Frage zu Pacmen hätte ich dann auch noch:
Wäre es ein großer Aufwand den Pacman automatisch in die ausgewählte Richtung laufen zu lassen bis zur nächsten Wand oder der nächsten Joystickeingabe? So ist das nämlich bei Deluxe Pacman auf dem Amiga. Das fände ich super, wenn das in Pacmen Evolution auch noch drin wäre.

Gruß vom Schwarzwaldrand
MarGUS_XXL

Benutzeravatar
LarsImNetz
Beiträge: 149
Registriert: 24.08.2021 18:27
Has thanked: 105 times
Been thanked: 79 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von LarsImNetz »

Hi MarGUS_XXL,

nette Idee, muss ich mal gucken, wie ich das einbinden könnte. Sollte sich aber machen lassen. Schließlich läuft der Pacmen jetzt schon immer bis zum nächsten Gridpunkt und hält erst dort an.

LG
Lars

Benutzeravatar
Dr. Irata
Beiträge: 890
Registriert: 24.08.2021 14:40
Has thanked: 110 times
Been thanked: 263 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von Dr. Irata »

Hi Lars,
sieht richtig gut aus! Ich liebe ja Jump´n Run Spiele - und jetzt kommen gleich 2 neue super Games!!! Schränker 3 darf ich ja testen und kann nur sagen: Das wird richtig gut!! Und dein Spiel Lars sieht auch gewohnt super aus... btw. PacMan habe ich auf der Fujiama viel gespielt!! Ist echt gelungen.
Leute.. weiter so!
Gruß
Peter

Benutzeravatar
Sleeπ
Beiträge: 1604
Registriert: 18.06.2021 20:58
Has thanked: 99 times
Been thanked: 302 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von Sleeπ »

Hi,

das scheint etwas für mich zu sein... :D

Ich freue mich jetzt schon auf den nächsten ASC!
Sleeπ

Benutzeravatar
MichaG
Beiträge: 379
Registriert: 14.10.2021 12:54
Has thanked: 382 times
Been thanked: 111 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von MichaG »

LarsImNetz hat geschrieben:
16.11.2022 18:30
Nette Idee, muss ich mal gucken, wie ich das einbinden könnte. Sollte sich aber machen lassen. Schließlich läuft der Pacmen jetzt schon immer bis zum nächsten Gridpunkt und hält erst dort an
Wobei ich es gar nicht so schlecht finde, mit dem Pac einfach mal stehen bleiben zu können. Ist ein Alleinstellungsmerkmal gegenüber den anderen Klonen, wenn man sich erstmal dran gewöhnt hat.
ABBUC-Mitglied aus den 90ern/frühen 2000ern
Ex-WAF und Regionalgruppe Thüringen

Benutzeravatar
cas
Beiträge: 811
Registriert: 18.06.2021 21:01
Wohnort: Solar System
Has thanked: 180 times
Been thanked: 361 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von cas »

Hallo Lars,
LarsImNetz hat geschrieben:
16.11.2022 14:48

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.
wo finde ich Infos zur Programmiersprache, die Du verwendest hast?

Beste Gruesse

Carsten

Benutzeravatar
Tron04
Beiträge: 117
Registriert: 17.08.2021 08:37
Has thanked: 51 times
Been thanked: 23 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von Tron04 »

Eine eigene Programmiersprache erfunden? Das interessiert mich auch :!:

Benutzeravatar
LarsImNetz
Beiträge: 149
Registriert: 24.08.2021 18:27
Has thanked: 105 times
Been thanked: 79 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von LarsImNetz »

Ja, ich habe einen eigenen Compiler geschrieben.

Der sog. WNF-Compiler, WNF steht für "Wird-Nie-Fertig!", frei nach Alfred Klausen,
passt auch auf Englisch, "Will Never Finished".

Der in Turbo-Basic geschriebene Compiler war nur eine popelige Studie von mir,
um mal zu sehen wie ein Compiler eigentlich funktioniert.
Zudem ist er sehr langsam, ca. 1-2 Zeilen pro Sekunde auf einem Original 8bit Atari.
Trotzdem hab ich damit Oxygene BE fertig geschrieben.

Mittlerweile steht mir eine Java-Version zur Verfügung und die wird stetig erweitert.

Der WNF-Compiler soll zeigen,

* Wie man mathematische Ausdrücke in Assembler übersetzt.
* Wie man Schleifen in Assembler erstellen kann (for, while, repeat, ...).
* Wie Variablen angelegt werden.
* Wie Variablen mit Werten angelegt werden.
* Wie Proceduren/Functionen mit Parametern erstellt werden können
* Kennt if <condition...> then else
* Unterstützt Rekursionen, bis der 6502-Stack voll ist (Das kann Action! nicht!)
* wie man selbstgeschriebene Funktionen in mathematischen Ausdrücken verwendet (Das kann Action! auch nicht)
* Kennt 16bit-Multiplikation/Division/Modulo und
** sollte es ein 2er Komplement sein, wird statt Multiplikation auf Shift optimiert.
** Array Zugriff indiziert und auch berechnet
** Strings, strlen, strcmp, Strings in Arrays
** printf mit Formatierungen
** IO
** Graphics (unfertig)
** Basic
** Math sgn, min, max, abs, neg, shift left, shift right

Eigentlich sollte er nur zeigen:

* Wie schnell der 8bit Atari mit Compilerunterstützung wirklich wäre,
wenn nur Integer(8 und 16bit) statt Float genutzt werden kann.
Ob man Spiele damit schreiben könnte. (Oxygene BE, Pacmen-evolution, Night Knight)

Mittlerweile unterstützt der Compiler
* beliebig viele include-Dateien, also selbst geschriebene Erweiterungen.
* Star-Chain Ausdrücke, dabei werden Festwert-Multiplikationen in shift/add ungestellt.

Der Compiler ist ist als _Single-Pass_ Compiler implementiert,
d.h. fast alles was genutzt werden soll, muss vorher bekannt sein (Variablen, Funktionen/Proceduren).
Es wird fast immer sofort Assembler-Code erstellt. Der Ergebnis muss nochmal durch einen atasm Assembler
getrieben werden. Es wird hart 6502-Code erstellt, nicht 65C02 und nicht 65816 Code.
Ein "Peephole-Optimizer" versucht einige Konstrukte zu verbessern.

Da wirklich alles offen ist, sehr viele Funktionen in kleinen Dateien vorliegen und
es keinerlei Abhängigkeiten gibt(wie ein Action! Modul), kann wirklich fast alles manipuliert werden.
Der 8bit Atari steht einem offen, wie ich es nie für möglich gehalten habe.

* Es gibt z.B. eine "schnellere" printf Implementierung, die wirklich sehr flott formatierte Strings ausgeben kann,
prima für Statuszeilen in Spielen geeignet.
* Oder gesplittete Word-Arrays, die aus 2 byte arrays bestehen.
* Es existiert eine 8bit Multiplikation, die auf Additionen setzt

Bei Github.com ist der Code zum Compiler abgelegt:

https://github.com/the-atari-team/wnf.compiler

Die Syntax liegt aktuell nur in Deutsch vor.
https://github.com/the-atari-team/wnf.c ... AX_de.adoc

Was fehlt ist der komplette Satz der Libraries, das ist noch nicht ganz fertig, wird aber alsbald nachgereicht,
sonst lässt sich Pacmen-evolution nicht bauen.

LG
Lars

Benutzeravatar
LarsImNetz
Beiträge: 149
Registriert: 24.08.2021 18:27
Has thanked: 105 times
Been thanked: 79 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von LarsImNetz »

Hier eine weitere Demo von Night Knight

https://youtu.be/rC6amvtDyIQ

Es zeigt die unterschiedlichen Level Designs und mehr Sprites in Action.

Benutzeravatar
Dr. Irata
Beiträge: 890
Registriert: 24.08.2021 14:40
Has thanked: 110 times
Been thanked: 263 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von Dr. Irata »

Hallo Lars,
das sieht super aus! Ich mag solche Spiele... wie viele Level planst du??
Liebe Grüße
Peter

Benutzeravatar
LarsImNetz
Beiträge: 149
Registriert: 24.08.2021 18:27
Has thanked: 105 times
Been thanked: 79 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von LarsImNetz »

Hallo Peter,
das Spiel ist fast fertig. Es hat 80 Level.
Es sind nur noch ein paar Kleinigkeiten zu beseitigen.

LG
Lars

Benutzeravatar
MichaG
Beiträge: 379
Registriert: 14.10.2021 12:54
Has thanked: 382 times
Been thanked: 111 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von MichaG »

Spielidee, Design und Grafik gefallen mir. Bin gespannt.
ABBUC-Mitglied aus den 90ern/frühen 2000ern
Ex-WAF und Regionalgruppe Thüringen

patjomki
Beiträge: 222
Registriert: 18.08.2021 23:21
Has thanked: 65 times
Been thanked: 27 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von patjomki »

LarsImNetz hat geschrieben:
06.02.2023 22:37
Hier eine weitere Demo von Night Knight
Das sieht vielversprechend aus. Bin auch mal auf den Sound gespannt.

Auf jeden Fall ein schönes Beispiel, dass die PM-Grafik bei geeigneter Programmierung gar nicht so sehr ins Hintertreffen zur Spritegrafik des C64 geraten muss (wenn es nicht gerade so ein Brett wie Enforcer ist).

Benutzeravatar
Dr. Irata
Beiträge: 890
Registriert: 24.08.2021 14:40
Has thanked: 110 times
Been thanked: 263 times
Kontaktdaten:

Re: Night Knight für den Atari 8bit Rechner

Beitrag von Dr. Irata »

80 Level ... Hammer!!

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast