Seite 1 von 1

Ernsthaft Assembler?

Verfasst: 21. November 2012, 02:19
von Hapablap
Hi,

also ich bin seit längerem am überlegen, ein SNES-Spiel zu entwickeln. Programmieren kann ich, aber Assembler so gut wie garnicht! Und jetzt meine Frage ... sind SNES-Spiele ernsthaft in Assembler entwickelt? Ich kann mir nicht vorstellen, dass Spiele wie Secret Of Mana mit so einer Sprache entwickelt wurden? Wie sind die Leute damit klar gekommen? Ein so großes Spiel wird doch sehr unübersichtlich?

Kann mir jemand helfen einen guten Einstieg zu finden? Es wird sich bestimmt lohnen! :D Ich habe die Dokumente aus dem Sammelthread gesehen, aber mir hilft immer sehr ein Tutorial, in dem erst mal ein einfaches Beispiel entwickelt wird.

Re: Ernsthaft Assembler?

Verfasst: 21. November 2012, 02:22
von Moi-Même
Hast du dir schonmal Lytrons Geschreibsel angeguckt?

Re: Ernsthaft Assembler?

Verfasst: 21. November 2012, 03:01
von Hapablap
OK das ist schon mal eine gute Hilfe. Das habe ich auf jeden Fall bisher noch nicht gelesen. Das bekräftigt aber meine Annahme, dass die Spiele in Assembler geschrieben werden. Ich dachte, dass die Spieleentwickler sich früher evtl. mit irgendwelchen selbst gebauten Frameworks oder ähnlichem weiter geholfen haben.

Es gibt sogar einen schönen sehr entmudigenden Post in dem Thread :D

Re: Ernsthaft Assembler?

Verfasst: 21. November 2012, 06:48
von lytron
"Ernsthaft Assembler?" --> Tatsächlich Liebe.
Hapablap hat geschrieben:Und jetzt meine Frage ... sind SNES-Spiele ernsthaft in Assembler entwickelt? Ich kann mir nicht vorstellen, dass Spiele wie Secret Of Mana mit so einer Sprache entwickelt wurden? Wie sind die Leute damit klar gekommen? Ein so großes Spiel wird doch sehr unübersichtlich?
Zu Dragon Quest... 6, glaube ich, gab es in Japan ein Making-Of-Buch, und da sieht man einen Screenshot mit einem damaligen Highend-PC, auf dem man die Assembler-Befehlssäulen schön sehen konnte. Original mit japanischen Kommentaren dahinter. Sehr chic. :D

Zum Thema Unübersichtlich: Jein. Sich in fremden Sourcecode reinzufuchsen ist immer so eine Sache, aber auch bei Assembler kann man seinen Code in Subroutinen auslagern, und mehrere thematisch zusammengehörige Subroutinen lagert man dann in eine einzelne Sourcecode-Datei aus, die in der Hauptdatei per Befehl "included" werden.
Außerdem wächst sowas ja langsam, und wenn man von Anfang an ordentlich haushaltet, bleibts vergleichsweise übersichtlich. Und ein Restmaß an Unübersichtlichkeit ist alles, was dir an Kopierschutz beim SNES übrigbleibt. ;)
Hapablap hat geschrieben:Ich dachte, dass die Spieleentwickler sich früher evtl. mit irgendwelchen selbst gebauten Frameworks oder ähnlichem weiter geholfen haben.
Man kann auch mit C statt Assembler programmieren, aber ich denke, das macht keinen wirklichen Unterschied. Wirklich vereinfachende Programmiersprachen gibt es da nicht, und wird es bestimmt niemals geben, da man zu viel "auf den speziellen Fall anpassen" kann und muss. Es gibt zu viele Spielregeln, alsdass man das mit einem Baukasten-Editor erschlagen könnte.
Aber zur Not bleibt ja immer noch der Game Maker. :D
Hapablap hat geschrieben:Es gibt sogar einen schönen sehr entmudigenden Post in dem Thread :D
Danke, entmutigen kann ich wie kein zweiter. 8)

Re: Ernsthaft Assembler?

Verfasst: 21. November 2012, 09:19
von Farbauti
Also eines meiner Vorhaben war es ja auch so eine Art Tutorial für die Programmierung in C zu schreiben. Bis dahin wird aber noch einige Zeit ins Land gehen weil bei mir gerade selbst erstmal seit kurzem was zusehen ist.
Wenn du nicht warten willst kann ich dir aber nur empfehlen die Quellen von Shirus Classic Kong( siehe Thread) zu ziehen und das dann Stück für Stück auseinander zu nehmen. Wir habe hier im Forum auch schon ein paar Erkenntnisse zum Code gewonnen. die findest du in einem Thread von mir " Classic Kong quelltextanalyse" oder so.
Notfalls kann ich dir bestimmt auch ein wenig weiterhelfen aber wie gesagt ich bin selbst noch nicht so lange dabei :D

Das mit der Unübersichtlichkeit in Assembler ist aber denke ich auch nur gewöhnungssache. Du kannst alles was du in C machst auch in Assembler nachbilden da dein C-Code sowie in Assembler kompiliert wird. Das du und andere deinen Assembler-Code dann noch lesen können hängt mehr von einem guten programmierstil ab als von der verwendeten Sprache.