Разработка игр — сложный процесс. Помимо написания кода, разработчик также должен найти способ связать звук, музыку, графику и логику.
Игровой движок PICO-8 избавляет от сложностей и позволяет разработчику сосредоточиться на наиболее важных аспектах идеи, которую он хочет реализовать.
В этой статье мы рассмотрим, что уникального в игровом движке PICO-8 и как он позволяет разработчикам демонстрировать свои творческие способности, несмотря на ограниченный носитель.
Что такое консоль PICO-8?
Играя в игру PICO-8, вы можете отмахнуться от нее как от эмулятора ретро консоль с 1980-х годов. Пиксельная графика, 8-битная музыка и звуковые эффекты могут даже вызвать у вас ностальгию.
Вы можете быть удивлены, узнав, что PICO-8 была выпущена в 2015 году. На самом деле, PICO-8 никогда не была консолью!
ПИКО-8 — это виртуальный игровой движок, созданный Lexaloffle Games.
Игровой движок представляет собой эмулятор вымышленной игровой консоли. Подобно обычным консолям, PICO-8 имеет собственный набор технических характеристик машины, формат отображения и инструменты разработки.
Единственная разница в том, что PICO-8 на самом деле не существует в реальном мире.
С чего бы интерес к фэнтези-консоли?
Консоли Fantasy, такие как PICO-8 и ТИЦ-80 дать разработчикам возможность создавать программы с некоторыми ограничениями.
Популярные движки для видеоигр, такие как Unity, дают разработчику возможность создавать любую игру по своему желанию. Хотя на практике это хорошо, разработчику приходится принимать десятки решений.
Ограничения фантастической консоли, такой как PICO-8, дают разработчикам среду для творчества. Например, разработчикам PICO-8 не нужно думать о том, в каком разрешении рендерить свою игру. Каждая игра работает с разрешением 128x128.
Точно так же ограниченная палитра из 16 цветов накладывает на геймдизайнеров ограничение, которое заставляет использовать согласованные цветовые схемы.
Программирование в PICO-8
Программирование в PICO-8 также может быть знакомо пользователям, работавшим с языком программирования Lua. Однако реализация Lua, включенная в PICO-8, является лишь подмножеством фактического язык программирования.
PICO-8 также ограничивает количество кода, которое вам разрешено писать для каждой программы.
Каждая корзина должна содержать не более 8192 жетонов. Токены могут быть переменной, строкой, оператором или ключевым словом.
Например, код a=1
содержит три токена.
Это ограничение вынуждает разработчиков искать более эффективные способы кодирования своих игр.
Тележки ПИКО-8
Каждой игрой PICO-8 можно поделиться через игровой картридж или «тележку».
Эти картриджи с цифровыми играми на самом деле являются просто изображениями. Каждая корзина содержит всю информацию об игре.
Как вся игра хранится в одном изображении?
PICO-8 использует стеганографический процесс для сохранения данных в изображение PNG. Каждый байт PICO-8 хранится в двух младших битах каждого из четырех каналов. Поскольку каждое изображение имеет размер 160×205 пикселей, каждое изображение может содержать до 32,800 XNUMX байт игровых данных.
Каждый игровой файл PICO-8 содержит данные о программном коде, графике, звуке и музыке. Вы можете использовать такие программы, как пикинструмент просмотреть данные, найденные в любой тележке PICO-8.
Сообщество PICO-8
PICO-8 имеет активное сообщество программистов и разработчиков видеоигр. Многих из этих разработчиков привлекла идея разработки видеоигры с ограничениями, подобными ретро-консолям.
Вы можете просмотреть тысячи различных игр на Официальном сайте. Эти игры варьируются от простых доказательств концепций до полноценных игр, которые могли бы быть коммерчески выпущены на реальной консоли.
Сообщество PICO-8 также выпускает большую часть своей работы под лицензией с открытым исходным кодом. Пользователи могут посмотреть, как другие люди программируют свои игры.
Игровые джемы и сотрудничество также приветствуются. Фактически, джем игры в 2016 году привели к разработке очень популярной платформенной игры Celeste.
Главные преимущества
Вот некоторые из ключевых функций, которые предоставляет игровой движок PICO-8.
- Движок игры включает встроенные в консоль инструменты для редактирования кода, музыки и спрайтов.
- PICO-8 совместим с разными платформами.
- Каждая тележка PICO-8 может иметь до 64 звуков. Звуковой редактор позволяет вам управлять частотой, инструментом и громкостью каждой ноты, используемой для каждого звукового эффекта.
- PICO-8 позволяет иметь 256 спрайтов 8×8.
- Консоль позволяет использовать два 6-кнопочных контроллера через подключенную клавиатуру.
- Реализация языка программирования Lua в PICO-8 предоставляет разработчикам базовые функции программирования, такие как переменные, функции, циклы и таблицы.
- При необходимости пользователи также могут писать код во внешнем редакторе.
Плюсы и минусы разработки в PICO-8
Плюсы
- PICO-8 миниатюрен и прост в установке.
- Ограничения заставляют разработчика писать эффективно.
- Язык программирования прост в изучении
- Большинство игр PICO-8 имеют открытый исходный код, что дает вам возможность учиться у сообщества PICO-8.
Минусы
- Ограничено разработкой 2D-игр
- В настоящее время игра в PICO-8 стоит 15 долларов.
- Отсутствие библиотек означает, что вам, возможно, придется кодировать базовые функции с нуля.
- Отсутствие автозавершения кода и автоматического отступа
Создание примера программы
В этом разделе мы рассмотрим, что испытает пользователь при создании своей первой игры.
После установки игры в выбранной вами ОС открыть программу PICO-8 так же просто, как щелкнуть значок ярлыка PICO-8.
Пользователя встретит короткая анимация, за которой следует экран консоли PICO-8.
Тип PRINT(“HELLOWORLD”)
в консоль и нажмите Enter. Поздравляем, вы только что выполнили свою первую программу PICO-8.
Приступим к созданию нового проекта. В консоли введите команду SAVE <program_name>
.
Чтобы открыть проект, введите LOAD <PROJECT_NAME>.p8
Нажмите клавишу Esc, чтобы войти в редактор кода PICO-8. В правом нижнем углу вы можете отслеживать, сколько токенов осталось использовать в вашем коде.
PICO-8 поддерживает использование переменных.
Пользователи также могут определять функции, которые они могут вызывать в любом месте программы.
PICO-8 также поддерживает использование таблиц. Разработчики, знакомые с Lua, могут вспомнить, что таблицы — это единственные контейнеры данных, доступные в языке программирования Lua.
PICO-8 включает встроенный игровой цикл, который выполняется 30 раз в секунду. Обе функции _update() и _draw() необходимы для выполнения цикла.
Встроенный в PICO-8 редактор спрайтов поможет вам разработать внешний вид игровых спрайтов и фонового рисунка. Редактор также позволяет пользователю устанавливать циклы анимации для каждого из своих активов.
В консоли мы можем ввести команду RUN после загрузки игры, чтобы запустить экземпляр программы.
Мы рассмотрели лишь часть возможностей PICO-8. Я настоятельно рекомендую просмотреть официальная документация и вики сообщества узнать больше о двигателе.
Также рекомендую просмотреть ПИКО-АТЭ, центр основных руководств и ресурсов, составленный разработчиком Эндрю Рейстом.
Заключение
Я могу сравнить написание игр на консоли PICO-8 с написанием хайку. Строгая структура хайку ставит перед поэтом задачу передать идею всего в трех строках и семнадцати слогах. Точно так же PICO-8 ставит перед разработчиком задачу создать опыт с ограниченным количеством кода, графики и звуков.
Возможно, PICO-8 не подходит для создания новейших игр класса ААА, но он никогда не предназначался для этого.
Движок сияет тем, что дает начинающим разработчикам возможность исследовать проблемы дизайна и разработки игр. PICO-8 достаточно прост, чтобы его могли начать использовать новички в разработке игр.
Но просматривая игры, созданные сообществом, я увидел, что PICO-8 также является способом для опытных разработчиков игр бросить вызов самим себе.
Вы заинтересованы в том, чтобы попробовать PICO-8?
Оставьте комментарий