Dart-07
Стрелялка с прокруткой. Играя за Дарт-07, вы сражаетесь на Изумрудных островах, в космическом аванпосте и в межзвездной шахте Фослар.
Это игра PICO-8, которую я сделал во время мероприятия Basic Shmup Showcase, организованного Академией ленивых разработчиков.
⚠️ Имейте в виду эта игра находится в разработке. Миссия 1 завершена и готова к игре, но вы входите в миссии 2 и 3 на свой страх и риск 😄
Если вы хотите взглянуть на кодовую базу, посетите https://github.com/beetrootpaul/dart-07 (код внутри тележки PICO-8 этой игры уменьшен, поэтому не подходит для чтения).
Элементы управления
Клавиатура:
- нажмите и удерживайте x, чтобы выстрелить
- нажмите c, чтобы вызвать ударную волну (если доступно)
- нажмите p , чтобы открыть меню паузы
Виртуальный контроллер (в браузере, на мобильном устройстве):
- нажмите и удерживайте ❎ , чтобы выстрелить
- нажмите 🅾️ , чтобы вызвать ударную волну (если доступно)
- нажмите ➖ , чтобы открыть меню паузы
Предполагается, что физические игровые контроллеры также будут работать даже в браузере. Назначение кнопок зависит от модели.
Игровой процесс
Ваша задача - пилотировать Dart-07 в ряде секретных миссий:
- сначала вы связываетесь с врагом на Изумрудных островах
- затем вы переходите к форпосту в космосе (⚠️ в разработке ⚠️)
- чтобы добраться до межзвездной Фослярной шахты (⚠️ в разработке ⚠️) и предотвратитьвраг от использования этого драгоценного ресурса
Уничтожайте врагов по пути, чтобы увеличить свой счет, собирайте оставленные ими бонусы и выживайте в битве с боссом, чтобы выполнить задание.
ХУД
В HUD вы видите:
- слева вверху: прогресс миссии (чем выше расположен значок корабля, тем ближе вы к боссу)
- справа вверху: ваш счет, который вы получаете, уничтожая врагов и собирая бонусы, если они не могут принести никаких улучшений.
- слева-снизу: сердечки слева; ты умрешь, когда все сердца уйдут
- справа-снизу: заряды ударной волны слева; вы можете вызвать ударную волну, если у вас остался хотя бы 1 заряд
- вверху посередине, во время битвы с боссом: здоровье босса (да, вы должны довести его до нуля 😉)
Усиления
Есть 4 типа бонусов, которые вы можете получить, каждый из них либо облегчает вашу жизнь, либо, если вы не можете улучшить дальше, увеличивает ваш счет:
- +1 сердечко – у вас может быть максимум 10 сердечек; вы теряете один всякий раз, когда получаете урон
- быстрая стрельба – увеличивает скорость стрельбы; не накапливается, но может сочетаться с тройным побегом; потерян из-за повреждения
- тройной выстрел – вы стреляете 3 пулями вместо 1, но с небольшой, но меньшей скоростью; не накапливается, но может сочетаться с быстрым побегом; потерян из-за повреждения
- сHockwave Charge – позволяет вызвать разрушительную ударную волну вокруг себя (с помощью кнопки «c» / «🅾️»); у вас может быть максимум 4 заряда ударной волны
Кредиты
Я сам реализовал эту игру, а также нарисовал все спрайты и сочинил все звуковые эффекты и музыку. Но есть некоторые ресурсы, которые я нашел очень полезными и использовал некоторые из них, которые я также использовал в кодовой базе. С огромной благодарностью, вот они:
- Корзина #easingcheatsheet от ValerADHD с готовыми функциями упрощения копирования и вставки. См. https://www.lexaloffle.com/bbs/?tid=40577.
- Руководство по круговым обтравочным маскам от Кристмана
- Инструмент минимизации Lua – luamin, – Матиас Байненс.
- Руководство по музыке Pico-8 от Gruber
Технические проблемы
В этой игре я сосредоточился на изучении различных аспектов PICO-8 API.
В этой игре я затронул следующие темы:
- настройка нескольких тележек: эта игра состоит из множества тележек — 1 основная тележка для титульного экрана и т. д. и 1 тележка для каждой миссии. В каждой миссии есть свои спрайты и музыка, а также код, отвечающий за доступные типы врагов, в том числе их атаки и движения. Общие звуковые эффекты и спрайты копируются из основной корзины в тележки миссий с использованием MEMCPY и области памяти пользовательских данных (0x4300–0x55ff), сохраняемой для загруженных тележек). Более того, я реализовал это таким образом, что я могу использовать одну и ту же кодовую базу для загрузки как корзин, разработанных локально, так и тележек, опубликованных в Lexaloffle BB.С.
- круговое отсечение: во время ударной волны от игрока распространяется кольцо инвертированных цветов. Чтобы достичь этого, мне пришлось научиться реализовывать круговые обтравочные маски с производительностью процессора.
- переход плавного появления/затухания: в основном набор прямоугольников, заполненных шаблонами FILLP , движущихся по экрану.
- высокий балл: использование API PICO-8 для чтения и хранения данных, сохраняемых на хост-компьютере.
- минимизация кода: с моим стилем кода (полным пробелов и длинных имен) мне было легко достичь предела количества символов PICO-8. Поэтому я разветвил и изменил инструмент luamin и включил его в процесс сборки этой игры, в результате чего количество персонажей сократилось примерно на 50%.
Как скачать Dart-07 через торрент
Всего несколько простых шагов:
- Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
- Выбираем и скачиваем подходящий торрент-файл репака Dart-07
- Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
- После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!