
Привет, %USERNAME%. Мое знакомство с 8-битными игровыми консолями состоялось в далеком детстве, когда родители подарили мне Dendy Junior. Сейчас я понимаю, что это всего-навсего бюджетный клон японской Famicom NES, но тогда он мне казался абсолютной магией. Заглавную музыкальную тему из Robocop 3 до сих пор считаю шедевром, а в космическую леталку Life Force от Konami люблю поиграть даже в 2025.
Время 8-битных консолей давно закончилось, но силами энтузиастов сейчас можно найти эмуляторы на любой вкус и цвет. Дальше всех пошли разработчики из Lexaloffle Games, которые решили в 2015 году создать собственную виртуальную игровую приставку PICO-8. Ее главной особенностью стало то, что она имитирует реальные ограничения 8-битных консолей 80-х и при этом работает на любом современном «железе».
Рост популярности заставил авторов сделать еще один шаг и создать 16-битную версию такой виртуальной приставки. Новинка получила имя Picotron, и сегодня мы с вами посмотрим, что она умеет.
Покупка и тестирование
Picotron, как и предшественник, — продукт коммерческий и платный. Хорошо это или плохо, решать каждому. Лично мне всегда приятно поддержать автора полезного приложения, поэтому лицензию без колебаний купил. Чтобы просто посмотреть на то, что из себя представляет Picotron, можно заглянуть на сайт и поиграть в понравившиеся картриджи прямо в браузере.
На момент выхода этого поста за лицензионную версию просят 19 $, в целом адекватно. Главное, что никаких подписок и прочих In-game purchases. После оплаты вам дают ссылку на скачивание и сообщают специальный код, который надо ввести в личном кабинете Lexaloffle. Капча во время регистрации просто великолепна:

Игры очень приятные и проходятся менее чем за минуту. Пиво за мой счет тому господину, кто это придумал. Устанавливаем Picotron и запускаем. Виртуальный десктоп стартует менее чем за 3 секунды:

Картриджи
Ну какие у фэнтезийной консоли рабочей станции могут быть картриджи, скажете вы? Авторы не пошли по стандартному пути, решив, что самым крутым и визуально приятным способом передачи программ и игр станут обычные png-изображения. Особенность этого формата — легкость, с которой в альфа- или одном из цветовых каналов можно спрятать полезные данные. Классическая стеганография, к тому же дающая возможность для творчества при создании дизайна.

Вот такие красивые картинки и представляют собой картриджи для Picotron. Их можно невозбранно скачивать с официального сайта или прямо внутри рабочей станции. Разработчики запустили свою собственную BBS (Bulletin Board System), на которой лежат все картриджи, выложенные пользователями:

Там же будут выкладываться новости проекта и полезная информация по возможностям приложения. Любой скачанный с BBS картридж запускается в отдельной «песочнице», имеет доступ только к /appdata/bbs/cart_id и не может навредить системе. При этом доверенным картриджам можно дать полный доступ, просто убрав соответствующую «галочку» в свойствах:

Главный же картридж — сам Picotron, сидящий в оперативной памяти по адресу /ram/cart.
Программирование
Прелесть Picotron в том, что тут есть скриптовый язык Lua. Можно создавать неограниченные по размеру .p64-файлы для крупных проектов, но самый цимес в том, чтобы уложиться в стандартный размер картриджа 256 Кб.
Попробую поздороваться в стиле Hello, world:

Нажимаю Ctrl + R — и вуаля:

Как по мне, так выглядит максимально лампово и прекрасно. Это настоящая находка для творческого кодинга, а ограничения консоли заставят подумать об оптимизации. Любое приложение, написанное вами или запущенное со стороннего картриджа, использует в качестве точки входа /ram/card/main.lua. Прервать исполнение можно нажатием Esc.
Написанное приложение, как и любой другой файл, спокойно сохраняется в файловой системе для дальнейшего использования. Ну а если захотите удалить что-либо, то тут есть аналог Корзины со смешным адресом /ram/compost.
Создание музыки
Если словосочетание «трекерная музыка» для вас не пустой звук, то вы уже знаете, чего ожидать. В Picotron встроен простой, но понятный редактор, использующий ресурсы виртуального 16-канального синтезатора PFX6416. Последний поддерживает 64 узла (мини-модуля), каждый из которых может создавать сигнал из волновой таблицы или обрабатывать приходящий сигнал с помощью:
FM-модуляции;
кольцевой модуляции;
задержки (delay);
резонансных фильтров высоких/низких частот (HP/LP);
искажения формы волны.
Интерфейс чем-то отдаленно напоминает Fast Tracker 2. Он максимально простой, но вместе с этим функциональный:

Начинающим советую заглянуть в раздел SFX Snippets, где выложены готовые наборы разных инструментов. Начать можно с картриджа abledbody's instrument pack 1:

Процесс кропотливый, но результат того стоит.
Пиксель-арт
Еще в Picotron «из коробки» есть отличный пиксель-арт-редактор. Каждый участок холста представлен как спрайт, изображение фиксированного размера, который можно заполнять попиксельно, с помощью разных инструментов. В дальнейшем такие спрайты можно использовать для создания анимаций или игр:

Этот редактор тесно интегрирован с другими инструментами Picotron. Ну а если стандартной палитры и функций недостаточно, то можно поискать сторонние картриджи. Благо такие уже были созданы энтузиастами. Например, советую попробовать редактор векторной графики VGFX:

Игры
Напоследок о самом очевидном. Picotron прекрасно справляется со своей главной задачей — дать возможность играть в стильные и интересные игрушки, которые ежедневно создаются энтузиастами по всему миру. Разумеется, прямых портов нет, но есть аналоги. Любителям Castlevania стоит поиграть в Picovania:

Мне очень зашел вариант классической игры «Змейка», но с большим полем и разноцветными яблоками. Сначала она кажется медленной, но ровно до того момента, пока туловище не начинает занимать половину экрана и нужно быть предельно осторожным:

Единственный негативный момент тут в том, что игры с PICO-8 напрямую в Picotron запустить нельзя. Но уже появился инструмент p8x8, который сносно может конвертировать большинство существующих игр. Правда, полной автоматической совместимости пока нет.

Исходный код проекта есть в репозитории на GitHub, так что можно порадовать автора звездочками. Там же вы найдете детальную документацию и руководство по конвертированию.
Вместо заключения
Picotron меня приятно удивил. Начиная от визуального стиля, который можно легко настроить под себя, и заканчивая широкими возможностями для творчества и программирования. Каждый найдет в нем то, что придется по вкусу. Пусть выбор игрушек и приложений для него пока невелик, но зато сама идея и реализация выше всех похвал.
Такую фэнтезийную рабочую станцию можно смело рекомендовать детям и взрослым. Первым будет интересно поиграть, а вторым — попробовать свои силы в программировании или создании трекерной музыки. Более того, коммуникационные возможности Picotron позволяют общаться с другими пользователями и обмениваться результатами творчества.
Уверен, дальнейшая разработка принесет в Picotron массу новых функций, ну а пока что можно попробовать написать собственную игру и даже собрать свой виртуальный картридж.