Добавлен , опубликован
Вот и появилось у меня немного времени для работы над этим проектом.
Для начала о грустном и печальном: запустив карту после обновления до HotS я с ужасом обнаружил что поломалась добрая половина систем. Не знаю виной тому мои кривые руки или изменения движка, но оперативно исправить системы не получилось.
Результат: карта не работает, ресурсы исчезают в неизвестном направлении, тестовые зерлинги в ужасе разбегаются.
Теперь о хорошем: на волне исправлений сломавшихся систем была переделана система пошагового боя, которая сохранила работоспособность, но не обладала достаточной гибкостью для реализации новых идей.
Не буду вдаваться в подробности работы старой системы пошагового боя, скажу только, что раньше за каждым типом юнита жестко закреплялся эффект, который и выполнялся юнитом в конце хода. Мало того, что в конце хода юниты на поле перебирались триггерно, так еще и эффект к типу юнита необходимо было привязывать искусственно.
В противовес этому новая система использует систему пошагового боя, полностью выполненную в редакторе данных, в то время как триггеры используются для запуска боя и определения победителя. Вместо триггерного перебора юнитов используется эффект типа Search Area, а вместо триггерного наложения эффектов в конце хода - behavior-ы, выполняющие соответствующие эффекты при их снятии с юнита. Естественно, снятые behavior-ы сразу же накладываются обратно - их удаление это просто способ перехватить событие конца хода.
Не обошлось и без недостатков: работа с этой системой требует больше возни в редакторе данных - для каждого эффекта необходимо:
  • создать сам эффект.
  • создать баф-behavior, который будет активировать этот эффект при удалении.
  • создать эффекты для добавления и удаления behavior-а из предыдущего пункта.
  • создать составной эффект, который будет возвращать баф-behavior юниту и непосредственно выполнять эффект из первого пункта.
  • внести эффект удаления behavior-а в структуру эффектов, активируемых в конце хода.
  • выдать баф-behavior юниту непосредственно в редакторе данных или реализовать способ его выдачи во время игры.
Результат: новая система позволяет не только гибко настраивать поведение юнита, но и динамически менять его во время игры.
`
ОЖИДАНИЕ РЕКЛАМЫ...