Некоторое время назад я читал стратегическую статью, в которой подробно объяснялось, как распространяется крип в Starcraft 2, я изо всех сил пытаюсь найти его сейчас, но я помню, что он довольно простой и работает примерно так
- Карта Starcraft 2 разбита на тайлы
- Для каждого источника ползучести каждый «тик» выбирает случайный тайл, который можно распространять на ползучесть и распространять на него
- Крип может распространиться на любую плитку, которая
- Рядом с другой плиткой с ползучестью или рядом с источником ползучести
- В пределах заданного диапазона источника ползучести
- Не скала
Самый простой способ отследить, к чему распространился ползучий тайл, - это, вероятно, просто флаг для каждого тайлса - не пытайтесь пересчитывать его каждый ход.
Время между «тиками» можно использовать для контроля скорости распространения крипа, в качестве альтернативы вы можете позволить крипу распространяться на несколько плиток в каждом «тике» или даже рандомизировать время между тиками.
Вышеприведенный алгоритм имеет эффект, заключающийся в том, что крип распространяется быстрее, если он заблокирован скалами с обеих сторон, однако вместо этого вы можете выбрать случайный тайл в пределах диапазона источника крипа, а затем распространять крип на этот тайл только в том случае, если он не является обрывом. ,