Пятничные факты #280 – Визуал – рулит!

Spread the love

опубликовали kovarex, Twinsen

Привет,
как мы узнали бесчисленное количество времени назад: Визуал – рулит!
Особенно, когда графический интерфейс такой же сложный, как и в поездах

Интерфейс поезда часть 2 (kovarex)

Наибольшая недостающая часть, которую я мог определить в пользовательском интерфейсе поезда, – это то, что он не показывает путь, по которому идет поезд, поэтому это было первое, что мы сделали:

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

То же самое касается временных станций, удерживая Control (модификатор по умолчанию для добавления временных станций) показывает путь к этой точке. Это также может быть использовано для определения проблем в сети железных дорог, так как перемещение мыши может помочь вам определить, какой участок заблокирован из-за плохих сигналов, отсутствующих рельсов и т. Д.

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

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

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

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

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

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

Если вы хотите, чтобы поезд остановился, а затем продолжил, вы можете добавить условие «Ожидание 0 секунд».

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

Это означает, что путь поезда может опережать текущую станционную цель на много остановок, и, поскольку расписание работает по кругу, оно может планировать весь график 2 или более раз.

Тот факт, что все это уже закончено, означает, что глава Train GUI закрыта, и мы можем двигаться дальше. Есть несколько хороших идей о том, что можно сделать, чтобы сделать расписание поездов более мощным в эндшпиле (названия поездов, группы поездов, условные станции), но это придется подождать немного с этим. Я полагаю, что это был самый сложный пользовательский интерфейс, который мы сделали для 0.17, поэтому с этого момента нам будет только легче :).

Панель инструментов (Twinsen)

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

Панель инструментов – это небольшой раздел справа от панели быстрого доступа, который содержит настраиваемый набор кнопок для некоторых часто используемых действий или инструментов (или действий / инструментов, которые нигде не принадлежат). Вы можете увидеть инструменты, которые у нас  на изображении ниже.

Панель инструментов имеет 2 раздела: главная панель и список выбора инструментов. Список содержит все возможные инструменты и позволяет закрепить их на главной панели, отсортировать или использовать напрямую. Закрепленные инструменты видны на главном экране все время для простоты использования. Основная панель изменит свой размер в соответствии с выбранными инструментами. Если инструменты не выбраны, главная панель сворачивается в маленькую кнопку, которая открывает список выбора инструментов.

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

Некоторые инструменты будут отображать полезную информацию во всплывающих подсказках, например:
“Вставка” покажет всплывающую подсказку с планом в буфере обмена. Специальные ярлыки позволят вам перемещаться по «истории буфера обмена».
“Отмена” покажет текстовое представление (возможно, также визуальное представление) того, что будет отменено. Такие как «Отменить строительство конвейера», «Отменить строительство 35 объектов и 250 плиток».

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

Моды смогут добавлять свои собственные инструменты в список, что делает его удобным местом для игроков, чтобы получить доступ к инструментам, созданным модом.

Сообщите нам, какие другие быстрые инструменты вы хотели бы видеть добавленными в этот список, или какие-либо другие мысли на нашем форуме.


Комментарии: