| Проектировщики | Реализовано | Ссылки GitHub |
|---|
| ike709 | :x: Нет | WYCI |
Обзор
Перепроектирование UI/UX launcher и концепции server hub для лучшей поддержки создания и запуска игр, разработанных на Robust Toolbox, которые не являются Space Station 14.
Это предложение — концептуальный обзор высокого уровня. Пожалуйста, не уходите в обсуждение конкретных деталей, таких как каждое возможное поле метаданных RobustHub. После концептуального одобрения обсуждение деталей начнётся в последующих дизайн-документах, прорабатывающих каждый аспект дизайна.
Даже используемая номенклатура (например, «Game Hub») может измениться, но желательно не обсуждать её до одобрения общего предложения.
Games и Game Hubs
Определение «Game»
В данном контексте под «game» подразумевается отдельный проект, такой как Space Station 14, OpenDream или RobustSand. Форки SS14 считаются отдельными кодовыми базами, но всё ещё частью «game» SS14.
Server Hubs
Текущая концепция hub — это, по сути, просто список серверов. В новой системе они останутся практически такими же, но теперь каждый server hub будет связан с одной или несколькими «games». Они будут явно называться «Server Hubs», чтобы отличать их от «Game Hubs».
Каждый Server Hub будет иметь белый список игр, которые могут на нём рекламироваться. Например, официальный WizDen Server Hub может поддерживать как серверы SS14, так и RobustPong. Когда сервер пытается зарегистрироваться на Server Hub, он должен указать, какую игру он запускает, и эта игра должна быть в белом списке Server Hub для успешной регистрации. Операторы Server Hub отвечают за модерацию серверов, которым разрешено рекламироваться на их хабе, и за обеспечение точности информации, такой как рекламируемая игра.
Когда игрок добавляет дополнительный Server Hub в launcher, дополнительные серверы будут связаны с правильными играми через идентификатор игры, который рекламирует сервер. Подробнее об этом — в разделе о launcher. Потенциальное улучшение качества жизни — позволить игрокам включать/отключать отдельные игры для каждого хаба (например, если я запускаю свой собственный альтернативный Server Hub для серверов OpenDream под названием «IkeHub», который рекламирует как серверы SS13, так и Eternia, игрок может захотеть отключить опрос хаба для серверов Eternia, если он играет только в SS13).
Game Hubs
Hub более высокого уровня, названный «Game Hub», будет выполнять роль, аналогичную server hubs, но вместо списка серверов он будет предоставлять список игр и связанных с ними метаданных, необходимых launcher для их запуска и/или просмотра их Server Hub. Примечание: Launcher предназначен только для поддержки единственного «Game Hub», и эта концепция существует для демонстрации того, как Robust Toolbox может использоваться отдельно от инфраструктуры Space Wizards Federation, например, для игр, разработанных независимо от SS14, или сообществ, желающих сделать «жёсткий форк» своей инфраструктуры.
Список игр, доступных на Game Hub, определяется операторами хаба. Официальный Robust Toolbox Game Hub (RobustHub) будет управляться Space Wizards Federation. Теперь система выглядит примерно так (прямая ссылка):
Репозиторий RobustHub
Будет создан новый репозиторий Space Wizards под названием RobustHub (или похожим). Этот репозиторий будет предоставлять «официальный» Game Hub, легко доступный в любой официальной сборке launcher.
Каждая игра будет иметь директорию в репозитории с набором метаданных и файлов брендинга (например, логотип игры по умолчанию). Ожидается, что это будет проработано более детально в отдельном дизайн-документе, но метаданные могут включать такую информацию:
- Название игры (очевидно)
- Информация о создателе/разработчике
- Официальный Discord/GitHub/Website и т.д.
- URL для получения новостей (как существующая вкладка News в SS14 launcher)
- Игра однопользовательская, многопользовательская или и то, и другое
- Многопользовательские игры будут включать URL сервера по умолчанию/официального Server Hub
- Многопользовательские игры могут решать, разрешать ли добавление альтернативных неофициальных хабов в launcher (очевидно, SS14 разрешит, но Johnny GameDeveloper может захотеть полный контроль над серверами своей игры)
- Исключительно однопользовательские игры будут указывать URL для загрузки content bundle
- (Примечание: существующий SS14 launcher всё ещё не может запускать уже загруженные однопользовательские игры, такие как RobustSand)
Добавление игры в RobustHub должно быть настолько простым, как создание pull request и соответствие критериям, которые менеджеры RT сочтут достаточными для отдельной игры.
Процесс того, кому будет разрешено обновлять запись игры в хабе и как, будет проработан в будущем дизайн-документе, посвящённом RobustHub, после одобрения данного предложения.
Изменения в Launcher
Я не смог найти способ описать эти изменения в launcher так, чтобы это не звучало немного безумно на первый взгляд, поэтому рекомендую прочитать весь этот раздел, прежде чем делать выводы.
Robust Launcher
SS14 launcher в его текущем виде больше не будет поддерживаться как проект. Вместо этого launcher будет лишён всего бренда SS14 в пользу бренда Robust Toolbox. Вкладка «Servers» будет удалена в пользу интерфейса, похожего на BYOND pager, но с играми RobustHub вместо этого (прямая ссылка):
Я не ожидаю, что он будет выглядеть точно так же; например, у нас может быть отдельная страница для однопользовательских игр. Но игроки смогут загружать, запускать или просматривать список серверов для любой игры RobustHub из Robust Launcher.
Добавление альтернативных Server Hubs
Как упоминалось ранее, launcher будет поддерживать добавление игроками дополнительных Server Hubs. Это должно быть так же просто, как добавление URL в список в настройках launcher — launcher сделает всё остальное. Launcher проверит, разрешают ли метаданные игры в RobustHub альтернативные хабы, прежде чем опрашивать альтернативный Server Hub для этой конкретной игры. Когда игрок переходит к списку серверов конкретной игры, launcher будет опрашивать Server Hub только для серверов с идентификатором этой игры. В списке серверов каждой игры каждая запись сервера будет включать поле с указанием Server Hub, из которого она была получена, и список должен поддерживать опциональную фильтрацию по Server Hub.
При добавлении альтернативных Server Hubs следует предупреждать игрока о возможных проблемах с модерацией по сравнению с использованием официальных Server Hubs. Возможно, стоит каким-то образом показывать игроку правила каждого хаба при его добавлении в launcher.
Опционально: релиз в Steam
Я считаю, что у Robust Toolbox должна быть своя страница в Steam, которая напрямую поставляет Robust Launcher, чтобы уменьшить путаницу, когда люди хотят играть в другие проекты RT, такие как OpenDream, через Steam. Я не говорю, что это нужно сделать немедленно, но я думаю, что это стоит серьёзного рассмотрения, если будут созданы проекты, не связанные с SS14, на Robust Toolbox.
Также стоит проверить политику Steam на этот счёт, так как SS14 launcher на тот момент будет просто Robust Launcher в Game-specific Mode для SS14 (см. ниже).
Game-specific Mode
Очевидно, мы не можем просто заменить SS14 launcher в Steam на Robust Launcher, поэтому на помощь приходит Game-specific Mode (название будет изменено). Где-то в пайплайне сборки launcher нам понадобится возможность передавать идентификатор игры RobustHub, который указывает launcher запускаться в режиме Game-specific Mode для этой игры.
При работе в этом режиме страница RobustHub недоступна по умолчанию — вместо этого launcher открывается сразу на странице указанной игры. Это будет выглядеть практически идентично текущему опыту использования SS14 Launcher.
Однако, глубоко в настройках launcher будет опция «Браузер других игр» или что-то подобное, с пояснением, что launcher может запускать другие игры, созданные на том же движке. Включение этой опции сохранит режим Game-specific Mode и будет открывать SS14 по умолчанию, но теперь страница «RobustHub» (которая обычно была бы страницей по умолчанию вне Game Mode) будет разблокирована как дополнительная вкладка, в которую можно легко перейти. Это сделано для того, чтобы пользователи, знающие об этой функции, не нуждались в дублирующей установке Robust Launcher на своём ПК.
Давайте расширим диаграмму хаба, включив в неё примеры использования launcher (прямая ссылка):
Опционально: не скрывать другие игры
PJB, кажется, не против идеи не скрывать список других игр по умолчанию при работе в Game-specific Mode.
Пример UX
Вот процесс подключения к серверу OpenDream в зависимости от того, используете ли вы Robust Launcher или переработанный SS14 Launcher (который является просто Robust Launcher в Game-specific Mode для SS14). Это предполагает, что мы решили скрывать другие игры по умолчанию в Game-specific Mode.
Robust Launcher
- Запустите Robust Launcher
- Найдите и выберите OpenDream из списка игр
- Выберите сервер и подключитесь к нему
SS14 Launcher
- Запустите SS14 Launcher
- Перейдите глубоко в настройки launcher
- Включите опцию «Браузер других игр» (нужно сделать только один раз)
- Выйдите из меню настроек
- Теперь на главной странице SS14 появится вкладка «RobustHub» или «Другие игры» в углу, которую игроки могут выбрать
- Найдите и выберите OpenDream из списка игр
- Выберите сервер и подключитесь к нему
Улучшения качества жизни, такие как возможность закреплять/добавлять в избранное определённые игры, подлежат дальнейшему проектированию и обсуждению.
Опционально: Game Jam для RobustHub
Как только RobustHub будет полностью реализован, стоит прорекламировать и провести game jam (1-2 недели) для разработки новых игр (однопользовательских или многопользовательских) для RobustHub, не связанных с SS14. В дополнение к разнообразию списка игр, это даст нам возможность протестировать систему и выявить болевые точки при создании новых проектов на Robust Toolbox.
В зависимости от уровня интереса, мы могли бы предложить призы за лучшие работы, например, крутую роль в Discord и/или подарочную карту Steam на $20.Последнее изменение 21 июня 2026 г.