Инди Костя Скиндер
3 326

PICO-8 — король фэнтезийных ретроконсолей

Хочу познакомить некоторых из вас с этим явлением.

В закладки
Аудио

Если Вы не знаете, что это такое, то представьте эмулятор старой приставки или домашнего компьютера. Ну, например, Super Nintendo или ZX Spectrum. Теперь представьте, что этого устройства никогда не существовало и всё, что у нас есть, — это эмулятор. Добавьте к этому встроенный редактор кода, спрайтов, карт, звуковых эффектов и музыкальный трекер. Готово!
Это и есть рецепт фэнтезийной консоли, самой известной из которых является PICO-8.

Пример меню

Консоль ставит очень жесткие рамки для разработки. По некоторым характеристикам Pico-8 можно сравнить с домашним компьютером восьмидесятых. Экран 128 на 128 пикселей, 16 цветов, спрайтовая графика, 32 килобайта памяти.

Но есть и другие лимиты. Один из самых сильных — максимальное количество токенов, которое составляет 8192. Токен — это термин, пришедший к нам от разработчиков языков программирования. Его буквальное значение — символ, обозначающий что-то. В каждом языке имеется свой набор токенов, но Pico-8 считает только числа, слова, круглые, квадратные и фигурные скобки (они считаются попарно, то есть строка () имеет в себе два токена), а также знаки препинания.

Но у Pico-8 есть одно важное отличие от реальных приставок. В нем зашит полный набор инструментов для создания программ. Это значит, что нажав ESC вы немедленно погружаетесь в очаровательную среду разработки. Можно копаться в любой игре, написанной для Pico-8, или написать свою с нуля. Готовые игры сохраняются в виде исходного кода, картриджа (см. ниже) или экспортируются в HTML. Да, в игры, созданные на Pico-8 можно играть в браузере.

The Lair

Для этой платформы существуют свои картриджи. Это не физические носители, конечно. Картриджи для Pico-8 — это графические файлы, картинки в формате PNG.

При просмотре PNG-файла ты увидишь изображение картриджа и скриншот сохраненной игры, а ее код будет спрятан внутри.

Пример катриджа

То есть если Вы возьмёте картинку и сохраните её к себе, то потом сможете загрузить её в Pico-8 и запустить игру.

Несмотря на то что у Pico-8 нет и не предполагалось физической формы, ее воплощением можно считать карманную приставку PocketCHIP. Этот одноплатный компьютер с экраном, контактной клавиатурой и батарейкой, который позволяет кодить или играть в игры без доступа к компьютеру.

PocketCHIP

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

Эта игра называется Celeste. Думаю, в подразделе "Инди" о ней многие наслышаны. Её первую версию двое разработчиков написали всего за четыре дня в рамках конкурса.

Ранняя Celeste

Некоторые умудряются создавать даже динамическое освещение,

Dank Tomb

а кто-то - и полноценное 3D.

Рекомендую ещё ознакомиться с Just One Boss.

Just One Boss

На itch.io есть отдельный тег для игр на этой платформе. Ознакомится можно тут.

Ещё есть "журнал" в 4 выпусках:
PICO-ZINE #1
PICO-ZINE #2
PICO-ZINE #3
PICO-ZINE #4

Надеюсь, что вы полюбите эти небольшие игры, как и я.

PS. Если материал Вас заинтересовал - всегда ждём на нашем канале в Telegram

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Костя Скиндер", "author_type": "self", "tags": ["3pico","2pico","1pico","4"], "comments": 37, "likes": 136, "favorites": 118, "is_advertisement": false, "subsite_label": "indie", "id": 43079, "is_wide": false, "is_ugc": true, "date": "Sat, 16 Mar 2019 12:01:45 +0300" }
{ "id": 43079, "author_id": 93559, "diff_limit": 1000, "urls": {"diff":"\/comments\/43079\/get","add":"\/comments\/43079\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/43079"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64960, "last_count_and_date": null }

37 комментариев 37 комм.

Популярные

По порядку

Написать комментарий...
19

Не думал что современная игровая индустрия меня сможет чем-то удивить, но... это реально классная идея!

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

Ну и картриджи внутри PNG-картинок это конечно нечто.

В общем ИМХО - это невероятно круто, а я в свою очередь жду такую вот фентезийную консоль примерно аналогичную PS2... вот где потенциально можно будет оторваться!

Ответить
8

PS2 слишком мощная. Все очарование Pico в том, что это такое крохотное развлечение для гиков и программистов, в которое вполне можно позалипать после работы, написав свой маленький платформер за неделю, потому что это просто. В случае с PS2 же разработка будет более сложной из за большей мощности и отсутствия таких строгих ограничений.

Ответить
0

PS1 достаточно ограничена для 3д игор. Вот ее аналог я бы глянул. Хочу ретро-3д((

Ответить
0

Не вижу смысла в фентезийной консоли примерно аналогичной PS2. Те же самые ограничения все еще накладывает бюджет/количество человекочасов. Многие инди игры могли бы быть переписаны на PS2 с минимальными потерями по контенту (но с большим объемом работы программистов).
В PICO-8 кстати как я понял скорость CPU не ограничена.

Ответить
3

Минутка занудства - на гифке не полноценнное 3D, а 2.5D - рейкастер. Впрочем, есть и полноценное 3D на этой консоли, причём нескольких разновидностей - реймаршеры, рейтрейсеры и растеризаторы.

Ответить
3

Классная штука, спасибо автору

Ответить
1

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

Ответить
4

А смысл в новой 16-бит приставке, если полно ещё вполне живых мегадрайвов с суперфамикомами, осталось только игры для них разрабатывать, чем энтузиасты вполне себе и занимаются.
Cкоро (надеюсь) вон даже первый Резидент на Сегу выпустят:
http://pscd.ru/forum/index.php?/topic/728-resident-evil-dlia-smd/page-29

Ответить
1

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

Ответить
1

Жаль нет хотя бы беглого обзора других фентезийных консолей. А то непонятно, почему пико король.

Картриджи прикольно выглядят )

Ответить
1

Первопроходец. А остальные не могут предложить ничего принципиально нового

Ответить
0

А если в программировании совсем не очень, то лучше не соваться в PICO-8?

Ответить
3

Там довольно простой диалект языка "Lua". Но если программирование максимально не твоё, то либо не соваться, либо найти второго компаньона

Ответить
0

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

Ответить
1

Далее PiL, и Lua programming gems.

Ответить
0

Благодарю!

Ответить
1

Есть и бесплатные варианты. Например LIKO-12, Instead, LÖVE.

Ответить
0

Кстати, тут недавно твитнули интересное https://twitter.com/tic_computer/status/1106525127213236224
о запуске TIC-80 на голой малинке.

#TIC80 has been ported to bare metal #RaspberryPi by @msx80 😎.
This means TIC can work directly on Pi without Linux on board.
Take a look if interested
https://github.com/msx80/BareMetalTic80
12
53
Ответить
0

Мб, начать разбираться с языком, потом попробовать на пиратке, и если уже точно зацепит, то можно и покупать? Ну, я бы так и поступил

Ответить
0

потом попробовать на пиратке

Пока поиски тщетны, увы.

Ответить
0

Я находил, по-моему

Ответить
0

То есть, нужно начать изучение с Lua, а там проблем не будет?

Ответить
1

Да, там нужно будет только с музыкальным редактором разобраться для саундтреков и всё. И существуют туториалы конкретно под PICO.

Ответить
0

А редактор музыки трекерный?

Ответить
0

Пример - вторая гифка в посте.

Ответить
0

Любопытно. Но абсолютно бессмысленно. Эксперимент ради эксперимента. Гораздо интереснее программировать для настоящего компьютера 80-х. По крайней мере ты понимаешь, что когда-то эта машина была на переднем крае прогресса и использовалась для реальных задач. Преодолевать недостатки оборудования того времени, находить интересные решения - в этом есть то самое ощущение первооткрывателя, исследователя. PICO-8 же это нечто вроде студенческого проекта. Когда я учился в университете, у нас были такие-же, только эмулирующие структуру микропроцессоров.

Ответить
0

На самом деле нет. Настоящий винтажный компьютер весьма существенно тащит из кармана. На такие траты ради любопытства пойдёт далеко не каждый. Гораздо более интересны по деньгам и возможностям проекты на современной элементной базе. Эмулятор же вообще бесплатен зачастую.

Ответить
0

Гаджет для программистов-мазохистов. ))

Ответить
0

Несколько месяцев назад слушал подкаст про нее, решил, что попробую покопаться, и потом напрочь забыл. Спасибо, что напомнил)

Ответить
0

Отдавать почти 1К за это как-то уже слишком. Ребята пилят бесплатные эмуляторы реальных консолей, а тут плати деньги и не маленькие.

Ответить
0

Вот это находка! Спасибо)

Ответить
0

Интересная тема, спасибо. Нашел такой список всяких fantasy computers:
https://github.com/paladin-t/fantasy

Ответить
0

Рад видеть здесь рассказ про PICO-8. Поделюсь своей любимой игрой для неё.

Combo Pool — это 2048, скрещенный с бильярдом. Работает и выглядит потрясающе, затягивает не на шутку и понятна интуитивно. Всем рекомендую ознакомиться.

Ответить
0

Расковырял её ради любопытства. Насколько я понял, картридж pico-8 запускается на движке Love2d с помощью скрипта-прослойки. Забавно!

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
В лутбоксы начали включать багфиксы
Подписаться на push-уведомления