Дневник разработки №31
Всем привет!
В этом коротком внеочередном дневнике мы решили рассказать вам о новой системе расширения городов, которая была добавлена в игру. Как вы, возможно, помните, изначальная структура городских районов имела ярко выраженную квадратную структуру:
Для начала этого было вполне достаточно, но, так как этот графический элемент довольно сильно бросался в глаза и вызывал закономерные вопросы у части пользователей, было принято решение придать ему более осмысленную форму, тем более, что это и так было в наших ближайших планах.
Для этого понадобилось разработать набор городских районов и их частей, которые бы придавали растущему городу визуально более естественный и приятный вид, а так же логику их взаимосвязей.
В конечном итоге получился вот такой набор моделей, который, в теории, должен учитывать все возможные варианты расширения для равнинной местности:
Теперь стартовый вариант города выглядит так:
Как видите, за счет дополнительных пристроек жилых районов, которые фактически ими не являются и служат лишь для художественного оформления, город получил более естественный и визуально приятный силуэт.
Для тех, кому интересна логика использования моделей районов при расширении городов, далее приложен ряд технических скриншотов с пояснениями:
Начальный вариант жилого района:
Чтобы сгладить его квадратный вид, к нему добавляются дополнительные элементы. Эти элементы, как выше уже было отмечено, не являются самостоятельными районам, а служат лишь графическим оформлением:
Город может расширяться в любом направлении. Для примера предположим, что следующий городской район появляется справа от уже имеющегося. Текущая правая пристройка пропадет, а на ее месте появится район следующего типа:
Если район появляется внизу слева по диагонали, то он будет иметь квадратную форму, а его дополнительные пристройки следующий вид:
Если район строится сверху от изначального, город принимает следующую форму:
Строится внизу справа по диагонали от стартового. Второй построенный район заменяется другой своей модификацией, а дополнительный район снизу на П-образный:
Хотя здесь наглядно и не представлены все возможные варианты развития, следование такой логике, теоретически, позволяет выстраивать города любой возможной формы.
Резюмируя, можно посмотреть скриншот крупного города, выстроенного в игре таким образом:
В качестве дополнительного бонуса скриншот Аванпоста:
Спасибо всем за внимание и до новых встреч!
Смотрите также:
Комментарии
Выглядит неплохо, интересно как выбирается следующая точка для расширения?
Следующая точка для расширения города? Тут очень много влияющих факторов, в первую очеред это потребность города в каком либо ресурсе, до готорого городу нужно дотянутся своей административной зоной. Второй - это наличие свободного места как можно ближе к центральному району. И третий - это затраты на создание в этом субтайле данной постройки. Конечно это не все факторы, есть еще много других которые вляют на вем принимаемого решения.
Zemlaynin, ага, т.е. Проход по окружающим клеткам с функцией оценки значимости... Думал выбирается случайно. Самому просто предстоит делать подобное,только в чуть более упрощенной форме.
Обратил внимание, что клетки квадратные, обычно в пошаговых используются 6 гранники для возможности диагонального движения
У нас есть диагональное движение, просто ход по диагонали стоит дороже.
Города теперь однозначно лучше смотрятся - хорошее улучшение.
В качестве дополнительного бонуса скриншот Аванпоста:
Ммм.. всегда любил форты в Тотал Варах строить - выглядит аппетитно)
Не кажется ли вам, что юниты слишком большие - даже для абстракции и их выделяемости на карте?
Да, размер подберем, сейчас на тих хоть огрехи видны :) поэтому такой размер :)
CollectableItemData.cs
[CreateMenuItem(fileName = "newItem", menuName = "Data/Items/Collectable", order = 51]