Приветствие
Приветствую тебя, читатель, меня зовут Вадим Бельский, и я уже больше полугода делаю свою небольшую 4-x стратегию MyCivGame, вдохновленную играми Civilization и Total War, про которую я рассказывал в этой статье. Сейчас я расскажу тебе, как устроен мир в нашей любимой игре Civilization, и мы с тобой вместе подумаем, можно ли сделать его лучше (а самое главное, нужно ли это)!
Очень странная планета Civilization
На данный момент, игра Civilization является самой распространенной 4-x стратегией, что ставит её в пример остальным похожим играм, в том числе и для моей стратегии MyCivGame. В Civilization игроку необходимо исследовать неприветливый мир и вступить в борьбу за господство на этом маленьком шарике... Шарике? Разве это шарик?
В Civilization мир состоит из шестиугольных клеток (гексов), по которым двигаются юниты и на которых предстоит строить города. Мир представляет собой плоскую карту, которую, однако, можно обойти по кругу, что позволяет нам отправиться в кругосветное путешествие (если конечно, сгенерированная процедурно карта нам это позволит). Получается, прямоугольную карту свернули в цилиндр, для того чтобы создать впечатление круглой планеты у игрока и немного разнообразить игровой процесс. По-умному, такая фигура называется цилиндрической поверхностью, а по обыденному, просто трубой, давай вместе с тобой, читатель, назовем такой мир - труба Сида Мейера.

Планета в форме цилиндра без оснований, помимо того, что удивляет как любителей астрономии, так и фанатов плоской Земли, накладывает ряд ограничений на игровой процесс на такой карте.
Что не так с миром-трубой
Во-первых, Мир-труба приводит к большим искажениям карты в полярных регионах. Это приводит к странной генерации карты на верхнем и нижнем краях карты или большим искажениям на реалистичной карте Земли. Это приводит к тому, что полярные регионы становятся неудобными для игры, на них появляются артефакты в виде прямых береговых линий, а карта сверху и снизу покрыта непрерывной тонкой полоской льда, которая обрезается прямой линией границы карты, что выглядит странно и неестественно.

Мир-труба позволяет отправиться в кругосветное путешествие вдоль экватора, что, несомненно является хорошей игровой механикой, поскольку появляется возможность приплыть на другой конец карты совершенно новым маршрутом, что на поздних этапах игры приводит к появлению нескольких направлений противостояния и появлению большого количества новых игровых ситуаций. В то же время, в таком мире нет возможности плавать и летать через полюса, что на современных этапах игры смотрится странным, поскольку лишает возможности прокладывать полярные торговые маршруты и отправлять ядерные ракеты в неприятеля на другой стороне земного шара через полюса планеты.
Насколько удобен мир-труба для разработчиков
Теперь посмотрим на мир-трубу с точки зрения разработчиков и попробуем порассуждать насколько сложно реализовать такой мир в игре.
Если стратегия с миром трубой представлена 3D миром, то для его отображения можно использовать цилиндр, на боковую поверхность которого будет нанесена карта, с текстурами и всеми вспомогательными элементами. На нем можно будет разместить остальные 3D объекты, такие как юниты, 3D постройки, линии границ, надписи и тому подобное. Такой мир удобно крутить вокруг своей оси (или перемещать вокруг и вдоль него камеру).
Однако, если такая игра является 2D игрой, то для отображения такого мира простыми инструментами, нам необходимо будет решить задачу его бесшовного соединения, для чего будет необходимо разрезать его на несколько частей, которые будет необходимо перемещать по отдельности. Или просто телепортировать юниты с одного края карты на другой при их перемещении у краев, что выглядит чуть-чуть не так атмосферно, но является допустимым.
Мир-труба обеспечивает достаточное количество игровых возможностей, при этом прост в реализации на 3D карте, поэтому и использован в последних Civilization, кроме того, такой цилиндр легко разбить на одинаковые шестиугольные и квадратные клетки, которые являются незаменимой частью таких игр.
И забавный факт - в Civilization IV цилиндр немного исказили, чуть чуть раздув посередине и сжав к полюсам, визуально сделав его немного похожим на сферу, однако это просто визуальный эффект, который не приносит новых игровых механик, а только немного искажает пропорции клеток и улучшает атмосферу.

Мир-труба странный с точки зрения логики (представьте себе огромную космическую трубу бороздящую просторы вселенной), но при этом удобен для разработчиков и способен дать игроку хотя бы отправиться в кругосветное путешествие, что уже является интересной игровой механикой, всё это делает его неплохим компромиссным вариантом для самой Civilization или других стратегических игр.
Однако, есть ли у трубы конкуренты? Давайте вместе подумаем, как можно попробовать решить проблемы такого мира.
Для любителей погонять шары
Первое, что приходит на ум всем людям, которые верят в то, что космос существует, это взять сферу и использовать её в качестве игрового мира. Сфера решит все проблемы с игровым процессом в полярных регионах, можно будет спокойно исследовать и осваивать полюса, беспрепятственно плавать, летать, делить Антарктиду, строя полярные колонии, запускать ракеты в другое полушарие планеты! Можно будет практически без искажений загрузить реальную карту земли, на которой отыгрывать за северные страны и чувствовать себя комфортно. Однако, у всего есть своя цена, и чтобы предоставить игроку эти такие возможности, разработчикам придется проявить творчество и решить несколько сложных задач.

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

Если, в 3D игре, отобразить такую сферу, правильно построить сетку и UV развертку для всех клеток является творческой, но посильной задачей, то как отображать такой мир в 2D игре, на данный момент я не знаю, наверное, можно, каким-то особенным шейдером рисовать на текстуре проекцию карты. Если у тебя, дорогой читатель, есть идеи как это сделать, расскажи в комментариях как решать эту задачу!
Забавная попытка решить проблемы мира-трубы
Мир-труба позволяет отправиться в кругосветное путешествие по горизонтали (параллельно экватору), при этом, юниты просто телепортируются с одного края карты на другой если подходят к краю слева или справа. А что если добавить такой же телепорт по горизонтали?
Предположим, что телепортация будет происходить сверху вниз (и наоборот), то есть, юнит при достижении края карты сверху будет появляться на той же X координате, но внизу карты. Если такую фигуру представить в 3D, то мы получим цилиндрическую поверхность которая будет замкнута сверху и снизу, такая фигура называется "тор". Поздравляю, дорогой читатель, мы вместе докатились до космической баранки, и дадим ей название такой карте мир-баранка.

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

Для любителей плоской земли
Давайте попробуем поработать с самой простой плоской картой, где мир просто является прямоугольником, где вместо сложных соединений, по краям карты проходит жёсткая граница, которую пересечь нельзя. Такой мир очень просто отрисовать как в 2D, так и в 3D, а также совместить 2D карту и 3D объекты на ней, что дает множество простых и интересных вариантов для отрисовки такого мира. Кроме того, чтобы порадовать представителей Общества плоской Земли, какие особенности игрового процесса дает этот тип мира?
Главный недостаток такой карты, это её края. Границы обрезают карту, что делает её странной, особенно, если учесть, что на этой карте пытается уместиться Земной шар (стоит отметить, что если речь идет не о карте мира, а о каком-то его регионе, то такой тип игрового мира является вполне логичным и удобным). Жесткая граница мира может привести к тому, что по краям появятся некрасивые прямые линии, а игроки, расположенные по краям или в углах, могут получить преимущество просто потому, что имеют меньше общих границ с другими государствами и полностью защищены от нападений с одной или нескольких сторон из-за ограничений игровой карты.
Давайте попробуем доработать края такой карты. Для этого отодвинем сушу от границ карты на определенное расстояние, чтобы можно было спокойно плавать вокруг суши, а значит никто не забьется в угол из которого его будет сложно выковыривать, поскольку теперь игроки по краям уязвимы для атаки с моря. Также, это приводит к тому, что границы государств больше не проходят по ровным краям карты, что на плоской карте портило игровую атмосферу. На такой карте, мы получаем "бесконечное море за краями мира", которое может дать новые возможности государствам на его берегах, так и являться бесконечной угрозой, что придаст существенно больше разнообразия игровому процессу. Такое улучшение плоской карты будем называть плоская карта +.
На такой карте можно исправить ещё один некрасивый момент - острые углы карты, которые выглядят неестественно, так как в природе не бывает прямых линий и таких углов. Давайте скруглим их, и так получим круглую (или овальную) карту без искусственных прямых углов. Кроме того, под такую форму очень х��рошо помещается черепаха, что делает эту карту миром из легенд и фольклора, что существенно добавляет атмосферы игры и не может не радовать. Я дал такой карте название мир блин.

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

Сравнение миров
Конечно я не мог пройти мимо сравнения разных миров, поскольку такое разнообразие карт ставит перед нами новую задачу - понять, как из этого выбрать лучшие варианты для 4x стратегии. Я определил несколько критериев мира и буду оценивать их по 5-бальной системе их для каждого из миров. Во всех критериях чем выше оценка - тем лучше.
Геймплей - показывает, насколько интересные и разнообразные игровые механики можно реализовать в таком мире, и насколько игрокам будет удобно и сбалансировано играть на такой карте.
Сложность в 2D - показывает, насколько сложно реализовать такой мир в 2D игре. Чем выше оценка, тем создание такой игры проще, а разработчикам предстоит решать меньше нестандартных задач и придумывать что-то совершенно новое взамен общепринятого и хорошо работающего старого.
Сложность в 3D - аналогичен предыдущему критерию, но только по отношению к 3D играм.
Логичность - насколько адекватный такой мир с точки зрения нашего мира, его физики, и истории. Чем ближе мир к нашему, тем приятнее в нем играть.
Мир |
Геймплей |
Сложность в 2D |
Сложность в 3D |
Логичность |
Средняя |
---|---|---|---|---|---|
Мир-труба Сида Мейера |
3 |
3 |
5 |
1 |
3 |
Сферический мир |
5 |
1 |
3 |
5 |
3.5 |
Мир-баранка |
3 |
3 |
4 |
0 |
2.5 |
Замкнутая карта |
3 |
3 |
4 |
1 |
2.75 |
Плоская карта |
2 |
5 |
5 |
1 |
3.25 |
Плоская карта + |
3 |
5 |
5 |
1 |
3.5 |
Мир-блин |
3 |
5 |
5 |
4 |
4.25 |
Два блина |
4 |
5 |
5 |
3 |
4.25 |
Вся оценка является моим субъективным мнением, и я буду рад, если, ты, дорогой читатель, напишешь в комментариях, что думаешь об этом, а пока что я дам небольшой комментарий как я принимал решения о начислении баллов.
Мир-труба Сида Мейера крайне странный с точки зрения логики, за что получил низкую оценку, при этом его достаточно просто реализовать в 3D игре и на нем достаточно приятно играть в той же Civilization, однако, игра около полюсов крайне неудобная, а значит игровой процесс за северные страны на реалистичной карте не самый впечатляющий.
Сферический мир сложен в реализации но самый интересный для игры и самый логичный для карты мира.
Мир-баранка, как и Замкнутая карта появились в результате неудачного мысленного эксперимента, и серьезно относиться к ним не стоит.
Плоская карта простой в реализации мир, который хорошо подходит для региональных карт. Плоская карта + является простейшей модификацией плоской карты, и позволяет простыми действиями решить проблемы обрезанных границ плоской карты, что положительным образом влияет на игровой баланс и атмосферу.
Мир-блин является ещё одной модификацией плоской карты, в результате которой, такая планета становится похожей на планету из легенд и мифов, что делает этот мир более красивым и интересным.
Два блина - этот мир позволяет получить очень интересный игровой процесс, при этом, он пытается отобразить сферическую планету по полушариям, хоть и с искажениями.

Какой мир будет в моей 4x стратегии MyCivGame?
Идея сделать стратегию пришла ко мне несколько лет назад, после игры в Civilization 6 с модом на реалистичную карту, на которой я хотел построить полярную колонию, но столкнулся с тем что Антарктида была тонкой полоской вдоль всего нижнего края карты, что не позволило мне полностью реализовать задумку, да и игра в заполярье северного полушария была тоже неинтересной так как кусок материка был обрезан, а северного ледовитого океана не было. Тогда я решил разобраться почему так происходит, и с удивлением для себя обнаружил, что планета в игре является трубой... Моему возмущению не было предела! Я очень захотел сделать свою 4x стратегию со сферической планетой, и приближенной к реальности математической моделью экономики.
И когда я в начале этой зимы (2025 года) вернулся к идее попробовать реализовать задуманное, я понял, что сферическая Земля сложна в реализации а настоящая модель экономики душная и непонятная для игрока. Так начался долгий и увлекательный путь по поиску компромиссов.
На данный момент, в прототипе MyCivGame реализована Плоская карта +, поскольку её легко было сделать в Godot (да и с помощью любых других инструментов), и при этом на ней уже интересно играть. Но моя любовь к программированию и построению мешей кодом постоянно подталкивает меня в сторону сферической планеты, так что я не исключаю того, что игра может перейти в 3D или получить сферическую карту в 2D проекции в будущем.
Если же я решу остаться в 2D на плоской карте, то, скорее всего, я перейду к мир-блину, которому придам красивое оформление в виде карты на спине черепахи и водопадами по краям. Возможно, в качестве эксперимента, попробую добавить два блина в качестве альтернативного режима игры.
В любом случае, я буду рад любым новым идеям по реализации карты, как в 2D формате так и в 3D, так и советам по реализации моих идей, если вам есть чем поделиться и чего рассказать, смело оставляйте комментарии, буду рад любой обратной связи!

До встречи
На этом мой рассказ о мирах закончен, в будущем я планирую написать ещё несколько статей, в которых я расскажу про ролевые системы в стратегиях, и мы порассуждаем о том какая ролевая система должна быть в MyCivGame, а так же обязательно поговорим про экономику в 4x стратегиях и я расскажу какая она будет в моей игре. А пока что можно:
Посмотреть на геймплей в прототипе моей игры на YouTube-канале
А также прочитать мою прошлую статью, в которой я подробнее рассказывал про MyCivGame
На этом, я говорю тебе, мой дорогой читатель, до свидания! Обязательно напиши в комментариях всё что думаешь про большую трубу Сида Мейера и мои попытки придумать ей альтернативы!
Комментарии (0)
Wiggin2014
25.09.2025 13:49А что такое 4х стратегия? Четырёх чего?
Vielsk Автор
25.09.2025 13:49Civilization и похожие на неё игры, где необходимо играть за государство, развивать его и мир захватывать :)
PavelVaych
25.09.2025 13:49Специально зарегался на Хабре, чтобы следить за проектом
Респект!
Vielsk Автор
25.09.2025 13:49Спасибо большое! Вы вчера в телеграмме про диссертацию спрашивали, прошу прощения, не успел ответить, мы ещё до конца не сформулировали тему, но в ней будет описан опыт разработки большого программного обеспечения для работы с измерительными приборами на предприятиях, в основном будет идти речь об управлении работой его компонентов и то, как это влияет на надежность и стабильность программного продукта
Format-X22
25.09.2025 13:49Любопытно, можно ли разместить шестиугольник на одном полюсе, второй на другом, а от них спиралью вести чуть неровные шестиугольники вокруг полюса до тех пор пока они не закончат вращение на сфере у другого полюса? Получается что будут только чуть-чуть деформированные шестиугольники, а экватор с небольшим наклоном по спирали. Или это математически недостижимо?
Skigh
25.09.2025 13:49В Civilization мир состоит из шестиугольных клеток (гексов)
Зануда mode on/ В игре Civilization (1991) мир состоит из квадратных клеток.
На шестиугольники серия перешла только в пятой части, в 2010 году.
lgorSL
25.09.2025 13:49Можно в одной игре сделать одновременно мир-баранку, трубку и замкнутую карту.
Я тоже когда-то хотел сделать клон цивилизации и пришёл к идее, что просто нужен интерфейс и за ним можно спрятать любую плоскую топологиюMapView{ getCell(position): Cell; getDistance(pos1, pos2): int getShortestPath(pos1, pos2): List<Cell> }
Тогда просто при "провороте" направо или налево карта будет делать pos.y = pos.y % width и возвращать те же клетки. Рендер даже не будет подозревать подвоха.
Единственный нюанс - замкнутая карта интереснее, при переходе через полюс мир поворачивается на 180 градусов и это надо будет отдельно обработать.Но вообще мне кажется, что если делать именно глобальную стратегию, то хочется возможность обойти землю по кругу, непроходимый угол карты выглядит искусственным ограничением. С плоским миром на черепахе ладно, с современным миром - не очень.
tbl
Для мира-сферы наличие пятиугольников не мешает. Математически доказано, что пятиугольников необходимо и достаточно 12, все остальное покрытие будет из шестиугольников. Пятиугольники обычно при генерации мира угоняют в далекие точки океана, там они не мешают геймплею.
Vielsk Автор
Да, пятиугольников будет всего 12, спасибо за идею про размещение их в океанах! В принципе, они и так и так не особо мешают игровому процессу, однако, как мне кажется, создают разработчику много дополнительной работы.
tbl
Да, здесь надо голову немного поломать, как правильно работать с координатами на такой сфере
Jijiki
с помощью кватерниона запомнить вершины, ну а дальше какой-то алгоритм
всё равно 3д-2д это еще и скейл
проще просто творить как в даггерфоле большой мир на плоскости и скейлить, рисуя ориентиры наверно(я понимаю что тут тайлы 2д)
DemonInside
Где-то видел идею, что на этих пятиугольниках можно разместить непроходимые горы
Vielsk Автор
Можно, мне кажется в принципе возможно использовать эти клетки так же, как и остальные шестиугольные