Skip to content

[Технологии] Создание стен

В предыдущих записях дневников разработчиков мы подробно рассматривали, как все работает и выглядит в игре. Но мы никогда не обсуждали, какая же игра у нас получилась. Как все там устроено за кулисами? То, что вам кажется простым и очевидным, не так-то легко было выдумать и создать.

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

Полученный ответ был не таким понятным, как мы рассчитывали. Потому что не так-то просто объяснить принципы этой работы. «Он пытается найти решение проблем для художников, чтобы в конечном итоге в игре все выглядело красиво. Кроме того, внедряет особые или настраиваемые эффекты».

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

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

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

Во время работы ему нужно сфокусироваться на нескольких пунктах.

  1. Плавный переход между частями стен.
  2. Стены должны быть выровнены относительно поверхности.
  3. Трава и все соприкасающееся с поверхностью должно функционировать нормально.
  4. Боевые подразделения на стене должны нормально передвигаться.

Вот тут и начинается сама работа. Флориан сядет и начнет генерировать различные идеи. Мир The Settlers довольно динамичен, и объекты должны адаптироваться к окружающей обстановке, особенно к системе поверхности. Потому стены должны соответствовать рельефу земли под собой. Конечная часть стены также может изменяться. Все зависит от того, где игрок разместит следующий кусок. Так что стены должны быть достаточно гибкими и настраиваемыми.

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

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

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

Что думаете о работе программиста компьютерной графики? Хотите ли вы узнать об этом что-нибудь еще? Какие темы для следующих записей дневников разработчиков были бы вам интересны? Расскажите нам об этом в комментариях ниже.

de en es fr it pl ru

2 комментария

  1. TakumiTay

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

    Antworten zum Kommentar anzeigen