Блог Стебунова Владимира

Ретропрограмминг

Ретропрограмминг — один из трендов, в котором современные технологии используются для эмуляции старых подходов и программ. Либо современная программа пишется с использованием немодных подходов и языков программирования.

Самые интересные темы в ретропрограмминге — это псевдо-ретро игры и консоли. Две консоли, косящие под старые карманные приставки: PICO-8 и TIC-80. Обе поддерживают Lua как язык программирования картриджей.

PICO-8 не является открытой, и чтобы начать писать под неё, необходимо приобрести за деньги инструменты разработчика. PICO-8 также воплощено в железе, а не только в эмуляторах.

Картинка с стратегии

TIC-80 — полноценный эмулятор приставки с инструментами разработчика и возможностью запуска на множестве платформ. Так как андроид входит в них, вы можете попробовать запуститься на реальных карманных консолях типа NVidia Shield или GPD XD.

Картинка шутера

Одним из ярких примеров ретропрограммиста — David Murray, который написал на микроассамблере стратегическую игру X2 Planet для Commodore. На этих двух (1, 2) видео он рассказывает и показывает, как он это сделал.

Я попробовал написать небольшой клон Сокобана на TIC-80, используя конечные автоматы. Наибольшая проблема у меня возникла с предметами, на которые взаимодействуют другие предметы, пришлось писать сначала событие взаимодействия, а потом его событие его окончания. Тогда получилось сделать так, чтобы несколько ящиков двигали друг друга и останавливались, встретив стену.

Еще из интересного — наличие памяти выделенной для карты, для спрайтов, музыки и эффектов; это подаётся как низкоуровневые элементы приставки и рабочие кирпичики игры.

Ретропрограмминг интересен тем, что он поднимает те направления и подходы, которые сейчас не так популярны, но были работающими в момент их применения.

Следующая статья

Предыдущая статья