Логотип проекта The Great Tribes

Дневник разработки №31

Дневник разработки №31

Всем привет!

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

Дневник разработки №31 — The Great Tribes — DevTribe: Разработка игр (3D, Java, open gl)

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

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

В конечном итоге получился вот такой набор моделей, который, в теории, должен учитывать все возможные варианты расширения для равнинной местности:

Дневник разработки №31 — The Great Tribes — DevTribe: Разработка игр (3D, Java, open gl)

Теперь стартовый вариант города выглядит так:

Дневник разработки №31 — The Great Tribes — DevTribe: Разработка игр (3D, Java, open gl)

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

Для тех, кому интересна логика использования моделей районов при расширении городов, далее приложен ряд технических скриншотов с пояснениями:

Начальный вариант жилого района:

Дневник разработки №31 — The Great Tribes — DevTribe: Разработка игр (3D, Java, open gl)

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

Дневник разработки №31 — The Great Tribes — DevTribe: Разработка игр (3D, Java, open gl)

Город может расширяться в любом направлении. Для примера предположим, что следующий городской район появляется справа от уже имеющегося. Текущая правая пристройка пропадет, а на ее месте появится район следующего типа:

Дневник разработки №31 — The Great Tribes — DevTribe: Разработка игр (3D, Java, open gl)

Если район появляется внизу слева по диагонали, то он будет иметь квадратную форму, а его дополнительные пристройки следующий вид:

Дневник разработки №31 — The Great Tribes — DevTribe: Разработка игр (3D, Java, open gl)

Если район строится сверху от изначального, город принимает следующую форму:

Дневник разработки №31 — The Great Tribes — DevTribe: Разработка игр (3D, Java, open gl)

Строится внизу справа по диагонали от стартового. Второй построенный район заменяется другой своей модификацией, а дополнительный район снизу на П-образный:

Дневник разработки №31 — The Great Tribes — DevTribe: Разработка игр (3D, Java, open gl)

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

Резюмируя, можно посмотреть скриншот крупного города, выстроенного в игре таким образом:

Дневник разработки №31 — The Great Tribes — DevTribe: Разработка игр (3D, Java, open gl)

В качестве дополнительного бонуса скриншот Аванпоста:

Дневник разработки №31 — The Great Tribes — DevTribe: Разработка игр (3D, Java, open gl)

Спасибо всем за внимание и до новых встреч!



Выглядит неплохо, интересно как выбирается следующая точка для расширения?

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

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

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

У нас есть диагональное движение, просто ход по диагонали стоит дороже.

Zemlaynin, тогда все круто :)

Города теперь однозначно лучше смотрятся - хорошее улучшение.

В качестве дополнительного бонуса скриншот Аванпоста:

Ммм.. всегда любил форты в Тотал Варах строить - выглядит аппетитно)

Не кажется ли вам, что юниты слишком большие - даже для абстракции и их выделяемости на карте?

Да, размер подберем, сейчас на тих хоть огрехи видны :) поэтому такой размер :)