Можно ли портировать игру с Amiga BASIC на Commodore 16?
8-Bit Basic
0:00 / 0:00
Можно ли портировать игру с Amiga BASIC на Commodore 16?
1 020 просмотров · 8 ч назад
8-Bit Basic
1,96 тыс. подписчиков
1 020 просмотров · 8 ч назад
Можно ли перенести игру, написанную на Amiga BASIC, на 8-битный Commodore — и чтобы она при этом оставалась той же самой игрой? Я портировал UFO Invasion с Amiga BASIC на Commodore BASIC 3.5 на 64K Commodore 16, построчно, без использования машинного языка.
Игра взята из книги Compute! «Первая книга об Amiga». Я начинаю с разбора оригинальной игры для Amiga: настройка экрана и окон, палитра, команды рисования, программные спрайты GET и PUT, трюк с анимацией XOR, математические вычисления радара, проверка столкновений, взрыв частиц, индикаторы и звуковые подпрограммы. Затем я показываю, как каждая деталь отображается на BASIC 3.5 на Commodore 16 — и что пришлось изменить.
Эти машины — совершенно разные миры. Amiga работает на процессоре Motorola 68000, а маленький Commodore 16 — на процессоре семейства 6502 с 64 КБ оперативной памяти. Но у двух диалектов BASIC гораздо больше общего, чем можно было бы ожидать, и в этом вся суть. Для многоцветного графического режима C16 пришлось масштабировать всё изображение, радарный маркер стал одной точкой, для взрыва потребовалось меньше частиц, а игровой цикл пришлось серьёзно подкорректировать, чтобы всё работало — но это всё равно программа на BASIC от начала до конца. Без машинного языка, без ярлыков
0:00 Добро пожаловать в 8-битный Basic
0:37 UFO Invasion — игра и её происхождение
0:51 C64, C16 и Amiga: краткая хронология
1:35 Commodore 16 и BASIC 3.5
1:46 Как работает игра
2:08 Настройка графического экрана
4:08 Цвета и палитра
5:00 Команды рисования
6:09 Создание НЛО
7:53 Радар
9:26 Управление прицеливанием
10:45 Стрельба и обнаружение попаданий
12:03 Взрыв
13:01 Индикаторы
14:04 Звук
16:06 UFO Invasion на Commodore 16
16:27 Что пришлось изменить для C16
16:56 Почему BASIC 3.5, а не C64
17:51 Может ли игра на Amiga BASIC по-прежнему ощущаться как та же самая игра?
ПОДДЕРЖИТЕ КАНАЛ
Если вы хотите поддержать то, что я делаю, и получить доступ к множеству дополнительного контента, оформите членство на канале YouTube или присоединитесь к сообществу Patreon: / 8bitbasic
GitHub:
https://github.com/8-bit-basic/commod...
https://github.com/8-bit-basic/Amiga-...