Как развивалась игра на Apple II? [закрыто]


14

Я задал похожий вопрос о разработке для DOS некоторое время назад и получил отличный ответ: Каким был типичный набор инструментов для разработки игр для DOS?

Теперь мне интересно, как развивалась игра на Apple II в конце 70-х - начале 80-х годов. Я в основном заинтересован в ранних: II и II +, но я хотел бы также получить ответы о IIe и т. Д.

Итак, вот мои вопросы:

Какие языки были использованы?

Я предполагаю, 6502 ассемблер, но бейсик был в комплекте и, вероятно, тоже много. Можете ли вы вспомнить популярные игры, написанные на бейсике? Как насчет C?

Каково было развитие 6502 ассемблера?

Я заметил, что вы можете вводить коды операций напрямую, если вы запускаете системный монитор, и вы даже можете запускать ассемблер напрямую с помощью мини-ассемблера. Но я не могу представить, что игры были написаны так, были ли редакторы / IDE? Как программы хранились на дисках / лентах?

Как развивалась BASIC?

Интерпретатор Apple II BASIC не так уж и плох, я думаю, вы можете написать там полные программы. Это также позволяет вам сохранять / загружать программы, я полагаю, диск / лента. Но не было ли визуального редактора?

Были ли какие-либо API или Middleware?

Или нужно было все время разговаривать напрямую с оборудованием, если вы хотите что-то нарисовать или воспроизвести звук? Были ли библиотеки вообще?

Что-нибудь еще отличается от сегодняшнего дня?

Я был бы рад услышать любые другие различия, например, какие форматы изображения / аудио использовались. Учитывая, что на самом деле не было концепции файлов, если я правильно понимаю, мне интересно, как это работает. Приходилось ли печатать графику и звуки на ассемблере? Как это работает в бейсике?


Введение в «Черную книгу графики Майкла Абраша» написано Джоном Кармаком, и он рассказывает о том, как легко было создавать графику - вы только что сделали команду рисования, и она автоматически переключалась. Из того, что я помню, играя с ним в 80-х годах, вы могли совершать эти звонки напрямую через BASIC.
Филипп

Я уже ссылался на это где-то еще, но ... в любом случае, Джордан Мехнер выпустил исходный код для Apple II версии Prince of Persia . Это может быть интересно для вас!
Лоран Кувиду

Одна из самых примечательных особенностей Apple II заключалась в том, что графика не отображалась напрямую в память; вместо этого система использовала странную систему с чередованием, где строка, которая следовала за строкой 0 в памяти, не была строкой 1, а вместо этого была строкой 64; затем строка 128 следовала за этим в памяти, и только после этого появляется строка 1. Вот почему вы видите странные «смешанные» эффекты загрузки в играх Apple II.
Стивен Стадницки

Ответы:


5

Я много программировал на Apple (не профессионально, но это то, чему я научился), а также на Applesoft BASIC и ассемблере, где это было для любителей. Были доступны другие языки - логотип был распространен, Паскаль был написан повсюду, но я не знаю никого, кто использовал его, я не знал, что C используется на любой платформе Apple до Orca C для Apple IIGS, был Forth переводчик с графикой в ​​стиле черепахи (или назовите ее в стиле логотипа) тоже плавает вокруг.

Я отвечу на некоторые ваши вопросы, а затем основные идеи:

Можете ли вы вспомнить популярные игры, написанные на бейсике? Как насчет C?

Много общего программного обеспечения было написано на BASIC, не только Applesoft BASIC, но и Integer BASIC (который, как следует из названия, не имел чисел с плавающей запятой). На ум приходит серия Eamon, но я не могу думать о многих других. Кроме того, большая часть программного обеспечения, написанного Beagle Bros., была сделана на бейсике (в основном утилиты, а не игры).

Я считаю, что большинство коммерческих программ написано на ассемблере.

Но я не могу представить, что игры были написаны так, были ли редакторы / IDE? Как программы хранились на дисках / лентах?

Я использовал Merlin Assembler, чтобы назвать его IDE, возможно, это растягивало, но это работало просто отлично. Как вы сказали, вы можете зайти на системный монитор, ввести коды операций и запустить оттуда. У Мерлина был способ вернуться к нему с системного монитора (чего я сейчас не помню).

Но не было ли визуального редактора?

Был сторонний инструмент, который немного улучшил среду Applesoft и позволял вам использовать стрелки для прокрутки экрана и вносить изменения, такие как визуальный редактор (вам все равно приходилось нажимать клавишу возврата в конце строки или изменения не будут придерживаться). Я не могу вспомнить, что это было, я использовал это совсем немного.

Или нужно было все время разговаривать напрямую с оборудованием, если вы хотите что-то нарисовать или воспроизвести звук? Были ли библиотеки вообще?

На Apple II + / IIe / IIc вы в основном говорили только с аппаратным обеспечением. В ПЗУ было несколько программ, которые вы могли использовать, но они были очень ограничены, и обычно вам требовалось ПИК и ПОКРЫТЬ различные области памяти, чтобы изменить регистры, чтобы делать то, что вы хотели, например, изменить графические режимы, нажать 49152 для запуска динамика и т. Д. ,

На Apple IIGS ROM поставлялся с набором библиотек, аналогичных тем, что были в Macintosh, для создания необычных графических интерфейсов и тому подобного. ПЗУ со временем обновлялись, и если вы загрузили системный диск, на котором использовались более новые библиотеки, они читали бы с диска, а не с ПЗУ, в результате чего время загрузки становилось ДЕЙСТВИТЕЛЬНО МЕДЛЕННЫМ. Было ROM 01, 02 и 03, и 02 -> 03 было бесплатным обновлением, и был выпуск до 01, который они также сделали бы бесплатное обновление до 01.

Я был бы рад услышать любые другие различия, например, какие форматы изображения / аудио использовались. Учитывая, что на самом деле не было концепции файлов, если я правильно понимаю, мне интересно, как это работает. Приходилось ли печатать графику и звуки на ассемблере? Как это работает в бейсике?

Были файлы, я не уверен, что вы подразумеваете под этим, и ProDOS не меньше поддерживал каталоги (более ранняя DOS не имела, но все еще имела концепцию файла, который вы могли бы распознать). Я использовал растровые изображения и .pcx. Я не помню никаких аудиофайлов в сериях II + / IIe / IIc, но это было потому, что было трудно сделать какие-либо шумы более причудливыми, чем вспышки видеоигр и шлейфы. Были некоторые хаки, которые издавали причудливые звуки (в частности, у меня был диск с игрой Gun N 'Roses), но это почти всегда делалось грамматически.

По сравнению с современной средой это было совершенно примитивно. Но помните, что не было поддержки для одновременного запуска нескольких программ, поэтому ваш компилятор фактически должен был быть и вашим редактором - вы не могли спорить о преимуществах vi по сравнению с emacs, поэтому независимо от того, что дал вам ваш компилятор, ты научился использовать. Я действительно думаю, что это было намного проще, чем использовать библиотеки, сложенные на библиотеках, и есть много хитростей, если вы работаете с оборудованием и знаете, что это такое. Например, общей реализацией «паузы на мгновение» было «для (int i = 0; i <1000; i ++)» (в BASIC это отличается), которое никогда не используется сейчас, потому что аппаратное обеспечение настолько быстро, что вы потребовалось бы огромное количество, и даже если бы это было не так, оно было бы запущено на разных типах машин, поэтому это была бы другая пауза для разных людей (II +, IIe,

Это все из памяти, я не смотрел ни одной ссылки, когда писал это, поэтому я прошу прощения, если моя память неисправна, и я сказал вам что-то не так. Но я надеюсь, что это даст вам немного вкуса и ответит на несколько ваших вопросов.


4

Какие языки были использованы?

6502 для большинства, редко C (Aztek), много бейсика, немного Паскаля (Apple Pascal).

Каково было развитие 6502 ассемблера?

Для 6502 было несколько довольно аккуратных сборщиков и инструментов: Orca / M, Merlin, плюс в последующие дни стало возможно разрабатывать на ПК и последовательную связь с Apple для удаленной отладки. Давайте не забудем утилиты Beagle Bros. Edit + compile + run, мир никогда не меняется ;-)

Как развивалась BASIC?

Нет визуального редактора, только консоль, которая позволяет вам взаимодействовать с базовым буфером в начале. Тем не менее, у Beagle Bros. было несколько волшебных утилит, которые заставили большую часть боли уйти. А позже появились оболочки, которые, по крайней мере, действовали бы как линейный редактор для вашего письма. Существовал инструмент (Expediter 2), который мог преобразовать ваш BASIC в двоичный файл сборки, который работал намного быстрее (поездка в один конец).

Были ли какие-либо API или Middleware?

Были некоторые, но в основном очень узкие рамки, ничего похожего на то, что вы бы назвали SDK сегодня. Давайте будем честными, в 48K вы не можете позволить себе API общего назначения. В последующие дни было два или три SDK специального назначения, которые появились для увлекательных приключенческих игр, игр на основе тайлов,

Что-нибудь еще отличается от сегодняшнего дня?

Все и ничего. Практика осталась прежней, инструменты стали лучше.


-1

Native Basic Interpreter: Когда вы пишете программу, вы должны нумеровать каждую строку, вводить код и нажимать ввод. Основная программа выглядит так: 10: ДОМ 20: ПЕЧАТЬ "HELLO WORLD"

В этом примере HOME очистите экран, если вам нужно, вы должны ввести промежуточную строку, например:

15: ПЕЧАТЬ "ПОЗДРАВЛЕНИЯ"

В качестве вывода он должен очистить экран, показать приветствия Hello World

Команда LIST покажет ваш код (без паузы!). В некоторых режимах нет заглавных букв (только заглавные буквы), нет специальных символов. В BASIC не было написано ни одной про-игры, потому что из-за производительности вы могли видеть, как ваша программа рисует линии.

Только звуковые эффекты, было трудно воспроизводить музыку, у нас есть только динамик с ОДНЫМ битом (без шуток). Пик 49152 меняет его состояние, да, вы должны контролировать даже частоту, и она была прямоугольной формы.

сходить на сборку CALL -151

Вы должны вручную написать код на мониторе, не IDE, ввести адрес и свой код (HEXA)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.