Можно выделить два этапа сжатия, и в каждом свои особенности: 1. Переход от девяти галактик к семи. На выходе получаем семь галактик с ~642 системами (разбиение). 2. Переход от ~642 систем к 399 системам в галактике (уменьшение). Я не знаю, как на самом деле будет происходить сжатие в плане последовательности действий, потому что можно сделать наоборот (с тем же результатом, если не вводить никаких изменений): сначала уменьшить число систем от 4491 (9*499) до 2793 (7*399), а потом их разбить, это, кстати, более вероятный вариант, но тогда сложнее отследить, что же произойдет с каждым конкретным игроком, поэтому буду основываться на последовательности "разбиение-уменьшение", а не на обратной. Спойлер: Что произойдет при разбиении: 1 галактика: системы 1:1 - 1:499 - 2:1 - 2:142; 2 галактика: системы 2:143 - 2:499 - 3:1 - 3:285; 3 галактика: системы 3:286 - 3:499 - 4:1 - 4:428; 4 галактика: системы 4:429 - 4:499 - 5:1 - 5:499 - 6:1 - 6:71; 5 галактика: системы 6:72 - 6:499 - 7:1 - 7:214; 6 галактика: системы 7:215 - 7:499 - 8:1 - 8:356; 7 галактика: системы 8:356 - 8:499 - 9:1 - 9:499; Изначально выделю подмножества игроков (*), для которых выполняются любые преобразования без оглядки: 1. Игрок с так называемой "фермерской системой" - все планеты игрока в одной системе. 2. Игроки в отпуске больше месяца/иного срока (не по дате захода, а по дате становления отпуска). 3. Игроки, не заявившие о желании применения "особого подхода" (добавить в опции). и особый вид системы: 4. Полностью заполненные планетами системы (альянсовые анклавы, и просто заполненные) - особая пометка у игрока, назовем её "анклав". Оставшееся множество игроков по прогнозам будет раза в три меньше исходного. К ним и будет применено все последующее. Изначально нужно будет провести по ним сортировку (**), с присвоением одного/два идентификатора в качестве параметра. При разбиении есть два очевидных желания: 1. Планеты игрока, которые были в одной гале, должны остаться в одной гале. 2. Планеты игрока, которые были в разных галактиках, должны остаться в разных. Решение: 1: Игроки, с параметром, говорящим о том, что они в одной галактике, и эта галактика 1, 5 и 9 переносятся без изменений. У остальных одногалактиковых по большинству планет в одной новой галактике, остальные (если они есть) переносятся относительно последней/первой вперед/назад (смотря где был разрыв), с заворотом по кольцу, если нужно (***). 2: Игроки с планетами в двух галах: Игроки с параметром, говорящих о том, что планеты в разных галах, и эти галактики отличаются на число больше 2х, переносятся без изменений. Игроки с параметром, показывающем разницу 2 (для новой четвертой) и 1 для всех остальных: бОльшая часть остается в текущей галактике (новой), остальное - переносится в соседнюю (например, на те же координаты или на то же расстояние от конца и т.д. - не принципиально) (***). Игроки с планетами в трех галах и больше (***): Действия производятся только относительно галы с бОльшим числом систем и соседней (вариант двух соседних мал - 70 систем в оба конца относительно пятой старой галы), остальные - без изменений. Теперь в каждой галактике по ~642 систем. Нужно получить 399. Текущий вариант: просто уменьшить расстояние с коэффициентом 0.6. Например, если сейчас расстояние между средними фалангами одного атакующего игрока 50-100, то будет 30-60. При этом предлагаемое решение уменьшить дальность фаланг сработает, только если это будет глобальное уменьшение параметров дальности фаланг (как вариант, почему нет, но надо думать, насколько это будет сбалансированно, т.к. коэффициент новой дальности фаланг будет равен 0.6, а коэффициент размеров галактики 0.8), а если это уменьшение только для существующих лун, то это вообще несправедливость. Решение: системы таких игроков (****) (может еще добавить класс межпланетников, но вряд ли они есть на ДМ) расположить по бублику галактики относительно планеты с пометкой "анклав"/мэйна/первой по счету с прежними расстояниями (если "анклавов" одного игрока в одной галактике больше одного, действия не производятся). з.ы. конечно, лучше (относительно тех игроков, у которых расположение планет не случайно) не менять число галактик и расположение систем, но раз выбора нет, то почему бы не минимизировать потери? И еще, думаю, теперь очевидно (и мне тоже), учесть отношения враги/друзья и большинство межальянсовых отношений вряд ли полноценно возможно. з.з.ы. возможно, вариант выглядит трудоемким. На самом деле здесь всего три этапа - сортировка, разбиение, уменьшение, и все относительно одного/двух параметров. Насколько это будет трудоемким, будет зависеть от числа игроков, которым это нужно взамен исходного сжатия (если их будет мало, многие упоминаемые подмножества будут пустыми). Так как зависимость прямопропорциональная, то есть ощущение, что усилия будут оправданы. Все-таки такое кардинальное решение более оправданно после вайпа, а не после года игры. з.з.з.ы. всегда остается запасной вариант - дать возможность переноса одной/двух планет с лунами/без на ограниченное количество систем, но на мой взгляд это последний вариант. _____________________________________________________________________ (*) Есть варианты, как это реализовать на уровне "добавить параметр/флаг". Естественно, в этом намного больше заморочек, чем при простом пересчете. (**) Есть сырые варианты механизма сортировки игроков. (***) Для планет с пометкой "анклав" действия не производятся. (****) Возможно для них выделить отдельный идентификатор, не знаю, всем ли это надо будет.
как ни крути , а разногалактикость сохранить не удастся полностью ( галактик семь , а планет девять )) в формуле дальности фаланг добавить умножить на коэффициент сокращения с округлением в меньшую сторону ) и думается было бы неплохо иметь макет , на котором было бы видно как будет выглядеть вселенная после сжатия , чтоб можно было утрясти пожелания до сжатия )
долго читал, думал и осмысливал, в конце понял что это предложение детально обдумано и к нему больше нечего добавить. в процессе написания данного сообщения всё-таки пришла мысль в голову - в конкретно моём случае есть два "анклава", 2 и 7 планет соответственно. хотелось бы чтобы они так и остались в одних системах. "разногалактикость" никуда не денетсо, просто в двух галактиках будет по две планеты. хотя могу ошибаться. не вижу смысла трогать фаланги. сжатие осуществляется для увеличения динамики - фаланги подстегнут... макет - гут, но сложно реализуемо.. хотя, опять же, могу ошибаться... зы: в цитатах спойлеры не открываются, печаль... ну да ладно=)
нужно тупо убрать пустые солнечные системы со сдвигом в лево и все, вот и останется 4-5 галактик +1 пустую для новичков.
Vaal, Вы в суть проблемы вообще вникали? Ну там про фаланги, межпланетки, продуманное расположение планет....
Вы неправильно видите проблему, проблема только в том что щас жизнь только на островах есть, и от этого мало движения, если же из островов сделать континент, то поживее будет игра.
Не знаю, пусть Necra анонсирует, я что могла, предложила Vaal, спасибо, что открыли истину, проблема же всегда одна, и смотреть нужно только с одной стороны.