Wie war die Spieleentwicklung auf dem Apple II? [geschlossen]

14

Ich habe vor einiger Zeit eine ähnliche Frage zur DOS-Entwicklung gestellt und eine hervorragende Antwort erhalten: Was war die typische Toolchain für die DOS-Spieleentwicklung?

Jetzt frage ich mich, wie die Spieleentwicklung auf dem Apple II in den späten 70ern / frühen 80ern war. Ich interessiere mich hauptsächlich für die frühen: II und II +, aber ich hätte auch gerne Antworten zu IIe usw.

Also hier sind meine Fragen:

Welche Sprachen wurden verwendet?

Ich nehme an, 6502 Assembler, aber BASIC wurde gebündelt und wahrscheinlich auch viel verwendet. Kannst du dir beliebte Spiele vorstellen, die in BASIC geschrieben wurden? Wie wäre es mit C?

Wie war die Entwicklung des 6502-Assemblers?

Mir ist aufgefallen, dass Sie Op-Codes direkt eingeben können, wenn Sie den Systemmonitor starten, und Sie können Assembler sogar direkt mit dem Mini-Assembler ausführen. Aber ich kann mir nicht vorstellen, dass Spiele so geschrieben wurden, gab es Editoren / IDEs? Wie wurden Programme auf Datenträgern / Bändern gespeichert?

Wie war die BASIC-Entwicklung?

Der Apple II BASIC-Interpreter ist nicht halb so schlecht, ich denke, Sie können dort vollständige Programme schreiben. Es erlaubt Ihnen auch, Programme zu SPEICHERN / ZU LADEN, ich nehme an, auf Platte / Band. Aber gab es keinen visuellen Editor?

Gab es APIs oder Middleware?

Oder musste man die ganze Zeit direkt mit der Hardware sprechen, wenn man etwas zeichnen oder einen Sound abspielen wollte? Gab es überhaupt Bibliotheken?

Was ist noch anders als heute?

Ich würde mich über weitere Unterschiede freuen, beispielsweise welche Bild- / Audioformate verwendet wurden. Angesichts der Tatsache, dass es kein wirkliches Dateikonzept gab, wenn ich es richtig verstehe, frage ich mich, wie das funktioniert hat. Mussten Sie Ihre Grafiken und Sounds in Assembler eingeben? Wie hat das in BASIC funktioniert?

futlib
quelle
Das Intro zu Michael Abrashs Graphics Black Book wurde von John Carmack geschrieben und er spricht darüber, wie einfach es war, Grafiken zu erstellen - Sie haben einfach einen Zeichenbefehl ausgeführt und es wurde automatisch umgeschaltet. Soweit ich mich erinnere, konnten Sie diese Anrufe direkt über BASIC tätigen.
Philip
Ich habe schon irgendwo anders darauf verlinkt, aber ... jedenfalls hat Jordan Mechner den Quellcode für die Apple II-Version von Prince of Persia veröffentlicht . Das könnte für Sie interessant sein!
Laurent Couvidou
Eine der bemerkenswertesten Besonderheiten des Apple II war, dass die Grafiken nicht direkt auf den Speicher abgebildet wurden. Stattdessen verwendete das System eine seltsame Art von Interleaved-System, bei dem die Zeile, die auf Zeile 0 im Speicher folgte, nicht Zeile 1, sondern Zeile 64 war. dann folgte Zeile 128 dem im Speicher, und erst danach erscheint Zeile 1. Aus diesem Grund sehen Sie die seltsamen Ladeeffekte mit drei Bändern bei Apple II-Spielen.
Steven Stadnicki

Antworten:

5

Ich habe viel auf dem Apple programmiert (nicht professionell, aber ich habe es gelernt) und Applesoft BASIC und Assembler, wo es für Bastler war. Andere Sprachen waren verfügbar - Logo war weit verbreitet, über Pascal wurde überall geschrieben, aber ich kenne niemanden, der es verwendete. Bis Orca C für das Apple IIGS gab es keinen Forth Interpreter mit turtle-artigen (oder so genannten Logo-artigen) Grafiken.

Ich werde einige Ihrer Fragen und dann grundlegende Ideen ansprechen:

Kannst du dir beliebte Spiele vorstellen, die in BASIC geschrieben wurden? Wie wäre es mit C?

Es wurde viel Shareware in BASIC geschrieben, nicht nur in Applesoft BASIC, sondern auch in Integer BASIC (das, wie der Name schon sagt, keine Gleitkommazahlen hatte). Die Eamon-Serie fällt mir ein, aber ich kann nicht wirklich an viele andere denken. Außerdem wurde ein Großteil der von den Beagle Bros. geschriebenen Software in BASIC erstellt (hauptsächlich Dienstprogramme, keine Spiele).

Ich glaube jedoch, dass die meisten kommerziellen Programme in Assembler geschrieben wurden.

Aber ich kann mir nicht vorstellen, dass Spiele so geschrieben wurden, gab es Editoren / IDEs? Wie wurden Programme auf Datenträgern / Bändern gespeichert?

Ich habe Merlin Assembler verwendet, um es als IDE zu bezeichnen. Vielleicht wird es gedehnt, aber es hat einwandfrei funktioniert. Wie Sie sagten, können Sie sich zum Systemmonitor begeben, Opcodes eingeben und von dort aus starten. Merlin hatte eine Möglichkeit, vom Systemmonitor dorthin zurückzukehren (woran ich mich jetzt nicht erinnere).

Aber gab es keinen visuellen Editor?

Es gab ein Tool von Drittanbietern, das die Applesoft-Umgebung ein wenig verbessert hat und es Ihnen ermöglicht, mit den Pfeilen über den Bildschirm zu scrollen und Änderungen wie in einem visuellen Editor vorzunehmen (Sie mussten immer noch die Eingabetaste am Ende einer Zeile oder drücken) die Änderungen würden nicht bleiben). Ich kann mich nicht erinnern, was das war, ich habe es ziemlich oft benutzt.

Oder musste man die ganze Zeit direkt mit der Hardware sprechen, wenn man etwas zeichnen oder einen Sound abspielen wollte? Gab es überhaupt Bibliotheken?

Auf dem Apple II + / IIe / IIc haben Sie so ziemlich nur mit der Hardware gesprochen. Es gab ein paar Programme im ROM, die Sie verwenden konnten, aber diese waren sehr begrenzt, und in der Regel wurden verschiedene Speicherorte per PEEK und POKE aufgerufen, um die Register zu ändern, um zu tun, was Sie wollten, zum Beispiel um den Grafikmodus zu ändern, 49152 zu drücken, um den Lautsprecher auszulösen, usw .

Auf dem Apple IIGS wurde das ROM mit einer Reihe von Bibliotheken ausgeliefert, die denen des Macintosh ähneln, um ausgefallene GUIs zu erstellen und was nicht. Die ROMs wurden im Laufe der Zeit aktualisiert. Wenn Sie einen Systemdatenträger mit neueren Bibliotheken geladen haben, wurden sie von einem Datenträger anstatt von einem ROM gelesen, was dazu führte, dass die Startzeit WIRKLICH LANGSAM wurde. Es gab ROM 01, 02 und 03 und 02 -> 03 war ein kostenloses Upgrade, und es gab ein Release vor 01, bei dem auch ein kostenloses Upgrade auf 01 durchgeführt wurde.

Ich würde mich über weitere Unterschiede freuen, beispielsweise welche Bild- / Audioformate verwendet wurden. Angesichts der Tatsache, dass es kein wirkliches Dateikonzept gab, wenn ich es richtig verstehe, frage ich mich, wie das funktioniert hat. Mussten Sie Ihre Grafiken und Sounds in Assembler eingeben? Wie hat das in BASIC funktioniert?

Es gab Dateien, ich bin mir nicht sicher, was Sie damit meinen, und ProDOS unterstützte Verzeichnisse nicht weniger (das frühere DOS hatte jedoch noch kein Konzept für eine Datei, die Sie erkennen würden). Ich habe Bitmaps und .pcx verwendet. Ich erinnere mich an keine Audiodateien der II + / IIe / IIc-Serie, aber das lag daran, dass es schwierig war, Geräusche schicker zu machen als Videospielblips und -bloops. Es gab einige Hacks, die ausgefallene Sounds machten (insbesondere hatte ich eine Diskette, auf der Gun N 'Roses gespielt wurde), aber sie wurden fast immer grammatikalisch geschrieben.

Im Vergleich zu modernen Umgebungen war es geradezu primitiv. Aber denken Sie daran, es gab keine Unterstützung für die gleichzeitige Ausführung mehrerer Programme, so dass Ihr Compiler auch Ihr Editor sein musste - Sie konnten die Vorteile von vi vs. emacs nicht wirklich diskutieren, also was auch immer Ihr Compiler Ihnen gab, du hast gelernt zu benutzen. Ich denke, es war viel einfacher als die Verwendung von Bibliotheken, die auf Bibliotheken gestapelt sind, und es gibt viele Tricks, wenn Sie an der Hardware arbeiten und wissen, was es ist. Eine übliche Implementierung von "pause for a moment" war beispielsweise "for (int i = 0; i <1000; i ++)" (dies ist in BASIC anders), was derzeit nie verwendet wird, da die Hardware so schnell ist, dass Sie Ich brauche eine riesige Anzahl, und selbst wenn es nicht so wäre, würde es auf verschiedenen Arten von Maschinen laufen, so dass es für verschiedene Leute eine unterschiedliche Pause wäre (das II +, IIe,

Dies ist alles aus dem Gedächtnis, ich habe während des Schreibens keine Referenzen angeschaut, also entschuldige ich mich, wenn mein Gedächtnis fehlerhaft ist und ich dir falsche Sachen erzählt habe. Aber ich hoffe, das gibt Ihnen einen kleinen Vorgeschmack und beantwortet einige Ihrer Fragen.

laaph
quelle
4

Welche Sprachen wurden verwendet?

6502 für die meisten, selten C (Aztek), viel BASIC, etwas Pascal (Apple Pascal).

Wie war die Entwicklung des 6502-Assemblers?

Es gab einige hübsche Assembler und Tools für 6502: Orca / M, Merlin, und in den späteren Tagen war es möglich, auf einem PC eine serielle Verbindung zu Apple zu entwickeln, um Remote-Debugging durchzuführen. Vergessen wir nicht die Beagle Bros. Utilities. Bearbeiten + kompilieren + ausführen, die Welt ändert sich nie ;-)

Wie war die BASIC-Entwicklung?

Kein visueller Editor, nur eine Konsole, mit der Sie am Anfang mit dem BASIC-Puffer interagieren können. Allerdings hatte Beagle Bros. ein paar magische Hilfsmittel, die den größten Teil des Schmerzes verschwinden ließen. Und später gab es Muscheln, die zumindest als zeilenbasierter Editor für Ihr Schreiben fungierten. Es gab ein Tool (Expediter 2), mit dem Sie Ihr BASIC auf eine Assembly-Binärdatei reduzieren konnten, die viel schneller lief (One-Way-Trip).

Gab es APIs oder Middleware?

Es gab einige, aber größtenteils sehr enge Bereiche, die nicht mit dem vergleichbar sind, was Sie heute als SDK bezeichnen würden. Seien wir ehrlich, in 48K können Sie sich keine Allzweck-API leisten. In den letzten Tagen gab es zwei oder drei spezielle SDKs, die für klickende Abenteuerspiele, kachelbasierte Spiele,

Was ist noch anders als heute?

Alles und nichts. Praktiken bleiben gleich, Werkzeuge wurden besser.

Patrick Hughes
quelle
-1

Native Basic Interpreter: Wenn Sie ein Programm schreiben, sollten Sie jede Zeile nummerieren, Ihren Code eingeben und die Eingabetaste drücken. Ein Basisprogramm sieht so aus: 10: HOME 20: PRINT "HELLO WORLD"

In diesem Beispiel HOME löschen Sie den Bildschirm, wenn Sie eine Zwischenzeile eingeben müssen, z.

15: DRUCKEN "GRÜSSE"

Als Ausgabe sollte es den Bildschirm löschen, zeigen GREETINGS HELLO WORLD

befehlsLISTE zeige deinen Code (ohne Pause!) In einigen Modi (nur Großbuchstaben) keine Feststelltaste, keine Sonderzeichen. In BASIC wurde kein Profi-Spiel geschrieben. Aufgrund der Leistung konnte man tatsächlich sehen, wie Ihr Programm die Linien zeichnete.

Nur Soundeffekte, es war schwer Musik abzuspielen. Wir haben nur einen Lautsprecher mit EINEM Bit (kein Scherz).

zur Montage gehen CALL -151

Sie sollten von Hand auf dem Monitor keine IDE Code eingeben müssen, geben Sie die Adresse und Ihren Code (HEXA)

Alex
quelle