Особенности контурных карт, часть I

Теперь поговорим о том, как работает игровая карта ZSG, а как ещё не работает, хотя должна.
Проблема этой игры в том, что при всей простоте геймплея - просто берёшь кисть и рисуешь границы страны или область распространения веры или культуры - её движок сталкивается в своей работе задачами, с которыми не сталкиваются даже игры Paradox Interactive, причём сталкивается именно из-за этой простоты для пользователя. Смотрите сами: карта любой - абсолютно любой, даже очень ожидаемой мной Economic Miracle - глобальной стратегии состоит из провинций, просто в Europa Universalis V и Crusader Kings III их меньше, чем в Victoria 3 и Hearth of Iron IV, а в тех - меньше чем в Economic Miracle. На провинции эти карта поделена изначально, игра всегда знает их границы, знает, где стоят и где могут появиться города, как пройдут дороги между двумя провинциями и так далее, даже цвет предопределённых стран, культур и религий в тех же Crusader Kings известен заранее и записан в файлах игры, а если и меняется, то только если появилась граница двух разных областей одного цвета. У глобальной стратегии обычно не так много параметров, которые она меняет для каждой провинции, в тех же Crusader Kings их и десятка не наберётся, причём игру это хуже не делает, потому что всё, что реально нужно менять, в рамках своего игрового процесса, игра менять позволяет, а возможность отпилить от графтва Шампань графство Северная Шампань никакого игромеханического смысла не имеет: пригодится это может разве что для лютого ролеплея на тему дробления феодов, но ничего принципиально нового, кроме тормозов в игру не принесёт. Для экономических стратегий, вроде Geopolitical Simulator и Economic Miracle параметров на сущность тоебутся гораздо больше, но список если не самих сущностей, то базовых единиц их формирования изветен заранее и статичен в рамках одной игры - и то только потому, что между играми можно накатить модов, так-то он статисен абсолютно всегда.
Но в ZSG основная механика, вокруг которой строится игра - не война и не экономика, а свободное рисование границ кистью, как если бы карта была холстом графическом редакторе. Ограничения есть, но они чисто логические и созданы для удобства самих игроков: смотреть за сражением двух государств-смайликов, конечно, весело, но для программы идеальная закраска карты - это посто покрасить в нужный цвет заданнре число случайных пикселей, планомерно превращая холст в помехи на цветном телевизоре, а если ИИ будет больше ограничен чем игрок технически, и так не имея его воображения, то играть с таким ИИ игроку будет просто неинтересно.
То есть, никаких заданных границ у нас не может быть по самой логике игры. Тогда, скажет, пытливый читатель, просто сделайте каждый пиксель экрана провинцией, делов-то! В Economic Miracle, к слову, примерно этот подход, провинции - буквально мельчайшие ячейки-точки на карте, и чтобы вообще заметить их существование надо в карту очень внимательно всматриваться.
Так сейчас, собственно, и реализовано - карта мира в стандартном масштабе в ZSG - это холст 1024х1024 пикселя, каждый из которых для движка является набором данных не только о цвете, но и о состоянии точки карты. Вот только это не пиксели экрана и на приложеной иллюстрации вы уже можете видеть проблему: при изменении масштаба границы пикселизируются и игра, которая выглядит холстом на экране мобильника, на экране геймерского 4к монитора будет выглядеть набором квадратных ячеек, спасибо хоть без мыла (и даже мыло там ещё вчера было, кстати). Для того, чтобы карта работала, как реальный холст, она должна переживать операции вида "увеличить масштаб, нарисовать вольное село Кукуево, уменьшить масштаб" так, чтобы это творчество игрока продолжало существовать и обсчитываться в реальном времени, даже если сам игрок без подсказки интерфейса это Кукуево найдёт на карте разве что случайно. Конечно, чудес не бывает и если дотошный игрок перенесёт в игру все муниципальные образования всех стран мира, то либо приложение рухнет, либо компьютер этого экспериментатора сгорит к чертям, либо один игровой год будет идти один реальный.