Пятничные факты #279 – Интерфейс поездов и современный плевака

Поделиться

опубликовали kovarex, Albert, Ernestas, V453000

Мотивация FFF  (kovarex)

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

Интерфейс поездов (kovarex)

Мы представили план и макеты для интерфейса довольно давно в FFF-212. С тех пор многое изменилось, окончательный стиль и правила графического интерфейса теперь другие, и мы также повторили его UX. Но основная общая идея макета осталась.

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

Нажмите и перетащите

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

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

Визуализация состояния ожидания

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

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

  • Прошедшее время – наиболее очевидное, поскольку известно, сколько времени поезд провел на станции и сколько еще осталось.
  • Время бездействия – также просто, похоже на прошедшее время.
  • Инвентарь заполнен – мы можем рассчитать наполненность отдельных грузовых вагонов и усреднить ее.
  • Инвентарь пустой – просто (1 – дробь полная) 🙂
  • Количество предметов – Здесь это становится сложно. Если компаратор > (больше) или (больше или равен), мы просто вычисляем сумму этого элемента и делим ее на цель. Если компаратором является что-то еще, я не могу показать прогресс. Я знаю, как далеко я от цели, но я не знаю, с чем ее сравнивать, поэтому в этом случае мы просто показываем, либо не завершено, либо полностью завершено.
  • Состояние жидкости – в основном то же, что и количество предметов.
  • Логическое состояние – здесь мы просто ничего не показываем или не показываем полностью, так как не можем знать.

Результат довольно хорош для простых случаев:

А в более сложных случаях это может быть отличным инструментом для быстрого выявления проблемы:

Временные станции

Вторая наиболее желательная особенность – временные станции. Основной мотивацией для них является использование поездов для личного транспорта. Когда я хочу сделать это сейчас, я должен:

  • Открыть карту и найти, куда я хочу пойти, и найти ближайшую станцию.
  • Запомнить название станции.
  • Ввести локомотив и добавьте эту станцию (путем поиска по списку) в расписание.
  • Подтвердить случайное условие ожидания.
  • Нажать кнопку «перейти на станцию».
  • Когда он туда попадет, снова удалить станцию из расписания.

С временной поддержкой станции я делаю следующее:

  • Ввожу локомотив и нахожу место, куда я хочу пойти прямо в предпросмотре карты.
  • Ctrl + клик ближайшей железной дороги / станции.

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

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

Современный плевака (Ernestas, Albert)

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

Примечание: цвета не обязательно окончательные.

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

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

Мы также добавили этот большой рот с зубами, которые открываются и закрываются при плевке. Остальное просто весело выглядит. Мы также были с Вацлавом у них на пути, когда они плевали …

Потоковая атака Червей и Плевак (V453000)

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

Хотя визуально это имеет гораздо лучший смысл, а кислота выглядит намного лучше благодаря работе Доминика (из банды GFX, а не из бригады программистов) и Эрнестаса, поток кислоты имеет обратную сторону – ее можно легко избежать. На самом деле, пока вы продолжаете двигаться, поток никогда не ударяет вас. Поэтому мы добавили прогнозирующее нацеливание на потоки – чтобы черви, плеваки и огнеметы могли поражать цель, если она не меняет направление. Игрок все еще может увернуться от них, если он попытается, но с большим количеством червей становится намного сложнее.

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

Там, где попадает поток кислоты, он создает кислотный всплеск на земле. Кислотный всплеск наносит урон нарушителям (в настоящее время не зданиям) и применяет дебафф замедления . Враги не подвержены воздействию кислотных брызг.

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

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

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

Как всегда, дайте нам знать, что вы думаете на нашем форуме.


Поделиться

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