Найти в Дзене
Игровой блокнотик

Как создавались игры для старых консолей (напримере Famicom)

Если сейчас разработка консольных игр ничем не отличается от разработки игр на компьютеры из за практически идентичной архитектуры, то раньше все было совсем по другому. Сегодня я попробую рассказать вам как писали игры для приставки Famicom (она же NES она же Dendy) Если сейчас разработчикам игр дают девкиты (наборы для разработки), то раньше разработчиками давали щупленькую книжечку со спецификацией консоли, а девкиты разработчики собирали сами. Более интересной была архитектура картриджа. Он содержал как минимум 2 чипа. На одном находился код самой игры. А на другом - графика. В версиях NES на картриджах еще был чип проверки региона - собственно поэтому у картриджа NES было больше дорожек и они были больше чем картридж Famicom. Первые игры на NES выпускались силами самой Famicom и спокойно умещались на 32 килобайта памяти. Наиболее известные игры того периода: Donkey Kong, Balloon Fighter, Mario Bros. Ирония заключалась в том, что NES имела специальную аппаратную поддержку для ск

Если сейчас разработка консольных игр ничем не отличается от разработки игр на компьютеры из за практически идентичной архитектуры, то раньше все было совсем по другому. Сегодня я попробую рассказать вам как писали игры для приставки Famicom (она же NES она же Dendy)

Если сейчас разработчикам игр дают девкиты (наборы для разработки), то раньше разработчиками давали щупленькую книжечку со спецификацией консоли, а девкиты разработчики собирали сами.

Примерно это выглядело так, хоть это и отладочная станция NES
Примерно это выглядело так, хоть это и отладочная станция NES

Более интересной была архитектура картриджа. Он содержал как минимум 2 чипа. На одном находился код самой игры. А на другом - графика. В версиях NES на картриджах еще был чип проверки региона - собственно поэтому у картриджа NES было больше дорожек и они были больше чем картридж Famicom.

Картридж NES - слева. Картридж Famicom - справа.
Картридж NES - слева. Картридж Famicom - справа.

Первые игры на NES выпускались силами самой Famicom и спокойно умещались на 32 килобайта памяти. Наиболее известные игры того периода: Donkey Kong, Balloon Fighter, Mario Bros. Ирония заключалась в том, что NES имела специальную аппаратную поддержку для скроллинга уровней, но самые эти игры сайд-скроллерами не являлись.

Очень скоро разработчики стали понимать, что 32 килобайта памяти хватит далеко не всем. И тогда Nintendo решила выпускать новые картриджи с так называемыми "мапперами" - переключателями банков памяти которые позволяли создавать игры порядка большего размера.

Стоит заметить что архитектура консоли не менялась до конца ее жизненного цикла вообще. А вот архитектура картриджей менялась несколько раз. На картридж можно было засунуть все что угодно — любые чипы, которые душа пожелает: оперативную память, видеопамять, сопроцессор, энергонезависимую память для сохранений. Теоретически в картридж можно добавить такие вещи как модем. Сложность была только в том, что процессору приставки нужно было рассказать о том, какие схемы вообще есть на картридже. Эта особенность позволила NES быть популярной столь долгое время, конкурируя с другими игровыми приставками. Каждый разработчик должен был явно указывать в заголовке скомпилированной игры перечень функций NES, которые будут использованы игрой. Некоторые функции поддерживались «обычными» картриджами — например маппер памяти, а вот за наличие сохранения или лишней оперативной памяти приходилось доплачивать Nintendo, чтобы та включила заветные чипы в ваш будущий картридж.

Что то я уже ушел от создания игр. На каких же компьютерах велась разработка? Точно известно, что японские разработчики применяли компьютеры MSX. В США могли использовать компьютер Apple 2, так как он был в то время очень популярен и имел процессор аналогичный тому, который использовался в NES.

Apple 2
Apple 2
MSX-компьютер
MSX-компьютер

На каком языке разрабатывали игры? Зачастую использовался ассемблер. Так же крайне редко использовался С.

А как же делали игру? Сперва дизайнер рисовал эскизы бэкграундов и персонажей, затем, после отбора подходящих рисунков, начиналась так называемая пикселизация — палитра NES поддерживала только 14 цветов на экране одновременно, так что приходилось перераскрашивать рисунки с учетом этого ограничения. Затем рисунок расчерчивался по сетке, и при необходимости растягивался или сжимался — NES аппаратно поддерживала спрайты размером 8x8 пикселей. Персонаж Марио рисовался в 4 прохода, после съедания гриба — в 8 проходов. Мелочь, но иногда из-за ее игнорирования мы видели в некоторых играх пропадающие спрайты, когда на экране становилось очень много врагов, так что программистам приходилось экономить и на спичках. К слову в том же Super Mario Bros на видеопамяти очень экономили. Например кусты и облака - это один и тот же спрайт, только с разной палитрой, как собственно сам Марио и его брат Луиджи. Кстати видеопамяти было 2 вида — одна, в которой обычно хранились спрайты персонажей и прочая мелочевка, вторая, побольше в которой хранились карты уровней. Последняя находилась в отдельном адресном пространстве и поддерживала аппаратно ускоренные операции по скроллингу.
Работа композитора плавно перетекала в работу программиста — написать музыку это только часть дела, закодировать ее в игру — тоже дело наживное, а вот затем начиналось самое интересное. Как было сказано выше, иногда игра подтормаживала, так что если в предрелизе такие тормоза достигали небывалых показателей, то композитору давали задачу «оптимизировать» музыку — убрать лишние опкоды, чтобы ускорить работу игры в целом. Тут-то и выяснялось истинное мастерство композитора. Лишнюю монетку в копилку позора композитора добавлял тот факт, что далеко не всегда разработчик игр по фильму получал лицензию на… использование музыки из фильма. Таким образом композиторам приходилось писать что-то оригинальное, и далеко не всегда хорошее.

Если вы узнали что то новое то тыкните лайк, а если вам есть что добавить интересного то я буду ждать вас в комментариях.