A Fallout: Equestria top-down shooter game

Прогресс за декабрь 2023

January 12, 2024

В декабре фокус разработки был в основном на системах диалогов и квестов. Этот блог должен был выйти в начале месяца, но новый год внёс свои коррективы.

Обновление уже доступно для загрузки в лаунчере (Windows, Linux) или напрямую.

Прогресс за месяц

Система диалогов

Диалоги работают благодаря Yarn Spinner - это нодовая система, её используют игры такие как Night in the Woods. Потребовалось несколько модификаций в Yarn чтобы он заработал в нашем случае (мультиплеер), но в общем он работает и подходит для нелинейных диалогов с проверками навыков/перков/аттрибутов/итд - это как раз то что мы планируем.

Диалоги работают по-разному в DM и в сюжетке. В DM - каждый игрок имеет отдельную историю. В сюжетном режиме все игроки делят одну прогрессию истории - и могут участвовать в диалоге одновременно. В случае если в диалоге больше одного игрока, значения для проверок берутся по формату “лучшее из доступного”. Например, проверка [Ремонт 50] может быть пройдено если у любого из игроков есть 50 навыка ремонта.

В данный момент в DM доступно 2 персонажа с диалогами - это лидеры мусорщиков и рейдеров.

(*Заметка: этот диалог был написан программистом, а не писателем.) dialogue ru

Квесты

С квестами мы пошли по другому пути и сделали собственную систему, потому что существующие доступные решения по затрудняют создание сложных квестов. Что мы хотели от системы квестов:

  • Поддержку нескольких способов выполнения.
  • Контекст взятие квеста - когда в зависимости от того, как вы начали задание, вы получаете разную перспективу.
  • Необязательные цели
  • Повторяемые квесты
  • Процедурные задания

Чтобы протестировать систему, мы добавили два простых задания, которые вы можете получить от лидеров фракций. Пожалуйста, попробуйте выполнить их, чтобы помочь нам протестировать систему. quests ru

Датапаки

Чтобы поддержать моддинг и упростить разработка, мы добавляем систему датапаков. Она напрямую вдохновлена ресурспаками / датапаками из Minecraft. Вот как это работает:

  • При запуске игры вы можете выбрать один или несколько датапаков.
  • От порядка загрузки датапака зависит, какой контент используется: датапак перезаписывает файлы содержащиеся в ранее загруженных датапаках.
  • Из датапаков грузятся: локализованный текст, предметы, эффекты, перки, JS-скрипты (в сэндбоксе), кьютимарки, квесты, диалоги, таблицы лута, конфигурации спавна, и тд.
  • В датапаках НЕ будет: 3D-ассетов, сцен, уровней, кода вне сэндбоксе.

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

Полный список изменений

Кроме диалогов/квестов/датапаков, были исправления, и улучшения доступности и UI. Полный список ниже.

Исправления

  • Перезарядка теперь правильно учитывает ускорение/замедление персонажа (например от З.П.С. или зелий).
  • Теперь нельзя перезаряжать несколько стволов одновременно.
  • Пофикшено жонглирование оружием - теперь задержка между выстрелами остаётся при переключении оружия.
  • Персонаж в сюжетном режиме не спавнился из-за бага в загрузке уровня.
  • Исправлено отсутствие тени в окне инвентаря.
  • Перетаскиваемые предметы не сбрасываются при выходе из PipBuck.
  • Значки интерактивных объектов неправильно масштабировались на объектах с неравномерным масштабом.
  • Исправлен сбой в работе объявления сервера. Это приводило к исчезновению серверов из браузера, даже если сервер в порядке.

Изменения

  • Добавлена диалоговая система на основе Yarn Spinner и реализован пользовательский интерфейс диалога.
  • Добавлены 2 задания в DM: простое задание на убийство для лидеров фракций. Награда - 2 комплекта лучшего снаряжения.
  • Добавлена поддержка датапаках по образу Minecraft (пока загружаются только скрипты).
  • UI карты уровня переработан и теперь имеет улучшенные элементы управления и визуал.
  • Теперь позиции игроков команды видно на карте.
  • Тип используемых боеприпасов теперь можно изменить в ПипБаке.
  • Типы боеприпасов, подходящие для текущего оружия, теперь выделяются в инвентаре. Активный тип выделен отдельно.
  • Элементы ввода (например, ввод пароля, ввод количества) теперь можно вводить нажатием Enter.
  • Добавлена чувствительность прокрутки в настройки управления.
  • Значения ползунков теперь можно вводить напрямую текстом.
  • Добавлена кнопка “показать быстрый доступ” на вкладке инвентаре в ПипБаке.
  • Важные персонажи теперь отмечены звёздочкой.
  • Удалена опция разрешения (движок справляется с этим лучше).
  • Добавлена опция ограничения FPS (активна только при выключенной vsync).
  • Добавлена опция масштабирования рендера.
  • NPC больше не используют прочность оружия.
  • Теперь можно переопределить стартовый уровень для сюжетного режима с помощью --level.
  • Добавлена поддержка загружаемых скриптов (JavaScript ES6) с базовым API.

Планы на следующий месяц

Закончить UI для квестов и диалогов

Находится в разработке:

  • Отображать обновления статуса квеста на HUD со звуковой индикацией.
  • Во время диалога такие действия, как получение награды или принятие квестов, будут отображаться в журнале.
  • Логи диалогов будут доступны в ПипБаке.
  • В сюжетном режиме игроки увидят, какую опцию выделяют другие игроки.
  • В сюжетном режиме игроки, которые не участвуют в диалоге, увидят реплики из диалога в чате.
  • Прокачка

    Уровни, получение опыта, очки распределения перков / навыков, разблокировка перков и прокачка навыков.

ЛУМ

В зависимости от уровня восприятия отображение NPC и игроков поблизости по краям экрана.

Продолжение работы над сюжетным режимом