RobustHub™

ДизайнерыРеализованоСсылки на GitHub
ike709❌ НетWYCI

Обзор

Переработка UI/UX лаунчера и концепции серверного хаба, чтобы лучше способствовать созданию и игре в игры, разработанные на Robust Toolbox, которые не являются Space Station 14.

Это предложение представляет собой высокоуровневый концептуальный обзор. Пожалуйста, не занимайтесь словоблудием по поводу конкретных деталей, таких как каждое возможное поле для метаданных RobustHub. Как только это будет концептуально одобрено, словоблудие сможет начаться в последующих дизайн-документах, детализирующих каждый аспект дизайна.

Даже используемая номенклатура (например, «Игровой хаб») может измениться, но, предпочтительно, не будет предметом словоблудия до одобрения предложения в целом.

Игры и игровые хабы

Определение «игры»

В этом контексте «игра» относится к отдельному проекту, такому как Space Station 14, OpenDream или RobustSand. Форки SS14 считаются отдельными кодовыми базами, но по-прежнему частью «игры» SS14.

Серверные хабы

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

У каждого серверного хаба будет белый список игр(ы), которые могут на нём рекламироваться. Например, официальный серверный хаб WizDen мог бы поддерживать серверы как SS14, так и RobustPong. Когда сервер пытается зарекламироваться на серверном хабе, он должен объявить игру, на которой работает, и она должна входить в белый список игр этого серверного хаба, чтобы реклама прошла успешно. Операторы серверных хабов отвечают за модерацию серверов, которым разрешено рекламироваться на их хабе, и за обеспечение точности такой информации, как рекламируемая игра.

Когда игрок добавляет дополнительный серверный хаб в лаунчере, дополнительные серверы будут связаны с правильными играми с помощью идентификатора игры, рекламируемого сервером. Подробнее об этом позже в разделе о лаунчере. Потенциальным улучшением удобства стало бы позволение игрокам включать и отключать отдельные игры для каждого хаба по отдельности (например, если бы я запускал свой собственный альтернативный серверный хаб для серверов OpenDream под названием «IkeHub», который рекламирует серверы как SS13, так и Eternia, игрок мог бы захотеть отключить опрос хаба на предмет серверов Eternia, если он играет только в SS13).

Игровые хабы

Хаб более высокого уровня под названием «Игровой хаб» будет выполнять роль, аналогичную серверным хабам, но вместо предоставления списка серверов он будет предоставлять список игр и связанных с ними метаданных, которые нужны лаунчеру для того, чтобы играть в них и/или просматривать их серверный хаб. Примечание: Лаунчер предназначен для поддержки только одного «Игрового хаба», и эта концепция существует, чтобы привести примеры того, как Robust Toolbox может использоваться отдельно от инфраструктуры Space Wizards Federation, например, игры, разработанные независимо от SS14, или сообщества, желающие сделать «жёсткий форк» своей собственной инфраструктуры.

Список игр, доступных в игровом хабе, находится в ведении операторов хаба. Официальный игровой хаб Robust Toolbox (RobustHub) будет управляться Space Wizards Federation. Теперь система выглядит примерно так (прямая ссылка):

Репозиторий RobustHub

Будет создан новый репозиторий Space Wizards под названием RobustHub (или похожим). Этот репозиторий предоставит «официальный» игровой хаб, который будет легко доступен из любой официальной сборки лаунчера.

У каждой игры будет каталог в репозитории с разнообразными метаданными и файлами брендинга (например, логотип игры по умолчанию). Я ожидаю, что это будет более тщательно проработано и подвергнуто словоблудию в отдельном дизайн-документе, но метаданные будут состоять из такой информации, как:

  • Название игры (очевидно)
  • Информация о создателе/разработчике
  • Официальные Discord/GitHub/сайт и т. д.
  • URL для получения новостей (как существующая сейчас вкладка «Новости» в лаунчере SS14)
  • Является ли игра одиночной, многопользовательской или и той и другой.
    • Многопользовательские игры будут включать URL серверного хаба по умолчанию/официального для игры
    • Многопользовательские игры смогут решать, разрешать ли добавление альтернативных неофициальных хабов в лаунчере (очевидно, SS14 разрешал бы их, но Джонни Геймдевелопер может захотеть полный контроль над серверами для своей игры)
    • Исключительно одиночные игры будут указывать на URL скачивания пакета контента
      • (Заметка на полях: существующий лаунчер SS14 по-прежнему не может запускать одиночные игры, которые вы уже скачали, например RobustSand)

Добавление игры в RobustHub должно быть таким же простым, как создание pull request и соответствие любым критериям, которые руководители проекта RT сочтут достаточными, чтобы игра считалась отдельной.

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

Изменения лаунчера

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

Robust Launcher

Лаунчер SS14 в его нынешнем виде больше не будет поддерживаться как проект. Вместо этого с лаунчера будет снят весь брендинг SS14 в пользу брендинга Robust Toolbox. Вкладка «Серверы» будет уничтожена в пользу интерфейса, похожего на пейджер BYOND, только вместо этого с играми RobustHub (прямая ссылка):

Я не ожидаю, что это будет выглядеть точно так же; например, у нас может быть отдельная страница для одиночных игр. Но игроки смогут скачивать, играть или просматривать список серверов для любой игры RobustHub из Robust Launcher.

Добавление альтернативных серверных хабов

Как упоминалось ранее, лаунчер будет поддерживать возможность добавлять дополнительные серверные хабы. Это должно быть так же просто, как добавить URL в список в настройках лаунчера, а дальнейшее лаунчер возьмёт на себя. Прежде чем опрашивать альтернативный серверный хаб на предмет конкретной игры, лаунчер проверит, разрешают ли метаданные игры в RobustHub альтернативные хабы. Когда игрок переходит к списку серверов конкретной игры, лаунчер будет опрашивать серверный хаб только на предмет серверов с идентификатором этой игры. В списке серверов игры каждая запись сервера будет включать поле, отображающее серверный хаб, из которого она получена, и список должен поддерживать опциональную фильтрацию по серверному хабу.

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

Опционально: выпуск в Steam

Я придерживаюсь мнения, что у Robust Toolbox должна быть своя отдельная страница в Steam, которая поставляет Robust Launcher напрямую, чтобы уменьшить путаницу, когда люди хотят поиграть в другие проекты RT, такие как OpenDream, через Steam. Я не говорю, что мы должны сделать это немедленно, но считаю, что это заслуживает серьёзного рассмотрения, если в Robust Toolbox будут созданы какие-либо проекты, не связанные с SS14.

Нам также следует проверить политику Steam в отношении подобных вещей, поскольку лаунчер SS14 на данном этапе был бы просто Robust Launcher в режиме конкретной игры для SS14 (см. ниже).

Режим конкретной игры

Очевидно, мы не можем просто заменить лаунчер SS14 в Steam на Robust Launcher, и здесь в игру вступает режим конкретной игры (более удачное название ожидается). Где-то в конвейере сборки лаунчера нам понадобится возможность передать идентификатор игры RobustHub, который сообщает лаунчеру, что нужно запуститься в режиме конкретной игры для этой игры.

При работе в этом режиме страница RobustHub по умолчанию недоступна; вместо этого лаунчер открывается сразу на странице указанной игры. Это выглядело бы практически идентично текущему опыту работы с лаунчером SS14.

Однако глубоко в настройках лаунчера будет настройка «Обозреватель других игр» или похожая, которая полностью объясняет, что лаунчер способен играть в другие игры, созданные на том же игровом движке. Включение этой настройки по-прежнему оставит игру в режиме конкретной игры и откроет сразу SS14 по умолчанию, но теперь страница «RobustHub» (которая обычно была бы страницей по умолчанию вне режима игры) разблокируется как дополнительная вкладка, к которой они могут легко перейти. Цель этого в том, чтобы пользователям, осведомлённым об этой функциональности, не нужно было иметь дублирующую установку Robust Launcher на своём ПК.

Давайте расширим диаграмму хаба, включив в неё примеры лаунчера (прямая ссылка):

Опционально: не скрывать другие игры

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

Пример UX

Вот процесс присоединения к серверу OpenDream в зависимости от того, используете вы Robust Launcher или переработанный лаунчер SS14 (который является просто Robust Launcher в режиме конкретной игры для SS14). Это предполагает, что мы всё же решим скрывать другие игры по умолчанию в режиме конкретной игры.

Robust Launcher

  1. Запустите Robust Launcher
  2. Найдите и выберите OpenDream в списке игр
  3. Выберите сервер и присоединитесь к нему

Лаунчер SS14

  1. Запустите лаунчер SS14
  2. Зайдите куда-нибудь глубоко в настройки лаунчера
  3. Включите настройку «Обозреватель других игр» (нужно сделать только один раз)
  4. Выйдите из меню настроек
  5. На главной странице SS14 теперь есть вкладка «RobustHub» или «Другие игры» в углу, которую игроки могут выбрать
  6. Найдите и выберите OpenDream в списке игр
  7. Выберите сервер и присоединитесь к нему

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

Опционально: геймджем RobustHub

Как только RobustHub будет полностью реализован, нам следует прорекламировать, а затем провести геймджем (1-2 недели) для разработки новых игр (одиночных или многопользовательских) для RobustHub, не связанных с SS14. Помимо добавления разнообразия в список игр, это даст нам шанс опробовать систему на себе, а также выявить болевые точки при создании новых проектов на Robust Toolbox.

В зависимости от уровня интереса мы могли бы предложить призы за лучшие работы, например, модную роль в Discord и/или подарочную карту Steam на 20 долларов.

Subpages