PDA

Просмотр полной версии : Миграция населения



Peter
04.10.2010, 09:51
Вот собираюсь заняться на досуге.
Смысл мода в том чтобы население мигрировало из несчастных стран в счастливые.
Алгоритм будет такой:
1. от величины несчастья Н зависит то, сколько жителей в данном ходу захотят покинуть страну: Round(Б*Rnd(0..Н)), где Б - базовая вероятность эмиграции.
2. эмигранты выбирают самую счастливую страну и вселяются в один из ее городов.
3. если все страны несчастны (бывает же такое) эмигранты расселяются по ГГ.
4. эмигранты не могут ехать в страну с которой у их родины идет война.

предлагаю всем желающим обсудить алгоритм.

зы: готово
http://forums.civfanatics.com/showthread.p...579#post9734579 (http://forums.civfanatics.com/showthread.php?p=9734579#post9734579)
http://i283.photobucket.com/albums/kk312/mogendovid/emigration.jpg
культура и открытые границы пока не учитываются. думаю как лучше сделать.

NetStranger
04.10.2010, 09:54
Интересная идея. Надо тогда добавить еще возможность закрыть границы, чтобы при этом снижался отток населения, но еще больше увеличивалось несчастье, например.
Ну и к цивикам как-то привязать тоже.
В общем, тема благодатная, я считаю, в связи с введением общего счастья всей империи.

Peter
04.10.2010, 10:08
<div class='quotetop'>Цитата(NetStranger * 4.10.2010, 9:54) 355989</div>

Интересная идея. Надо тогда добавить еще возможность закрыть границы, чтобы при этом снижался отток населения, но еще больше увеличивалось несчастье, например.
Ну и к цивикам как-то привязать тоже.
В общем, тема благодатная, я считаю, в связи с введением общего счастья всей империи.
[/b]
с границами идея правильная но так сразу не придумаешь как это считать.
нужно подумать над этим.

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

bartalbe
04.10.2010, 10:10
Хорошая задумка. Я про такое мечтал еще в четверке, переиграв в Цезаря, - только отталкивался от культуры: чем сильней культурное влияние на чужой город, тем больше жителей к нам переселяется. Думал, может, разработчики когда-нибудь это реализуют, но видно у них есть дела поважней :)

Касательно пятерки... нужно это, наверное, как-то контролировать, чтобы от избытка эмигрантов не сесть в лужу. Например, открытые границы открывают дорогу эмигрантам. Или добавить дополнительную опцию в окно дипломатии, но, думаю, это чересчур сложно будет.

Peter
04.10.2010, 10:23
<div class='quotetop'>Цитата(bartalbe * 4.10.2010, 10:10) 355994</div>

Касательно пятерки... нужно это, наверное, как-то контролировать, чтобы от избытка эмигрантов не сесть в лужу. Например, открытые границы открывают дорогу эмигрантам. Или добавить дополнительную опцию в окно дипломатии, но, думаю, это чересчур сложно будет.
[/b]
культуру (а точнее разницу в культуре) можно использовать как дополнительный модификатор.
в общем, при выборе страны для эмиграции можно учитывать:
А. счастье (С)
Б. культуру нормированную к культуре родины (К/Кр) + 1
В. открытые границы ОГ (есть/нет): 1 за наличие, 0.5 за отсутствие.
1. для каждой страны с положительным счастьем получаем "вес" В: С*(К/Кр + 1)*ОГ.
2. для каждой страны определяем случайное значение З: Rnd(В).
3. выбираем страну с наибольшим З
4. смотрим, больше ли З определенного порога П. если меньше - эмиграция не произошла. т.о. при закрытых границах эмигранты будут иметь меньше шансов куда-то переселиться.
так как введен порог, можно всех несчастных проверять на эмиграцию а не случайное их число.

Flake
04.10.2010, 10:40
Стоит добавить модификаторы от:
-Расстояния между городами( скорее даже от времени в пути). Само-собой, обратно-пропорциональный. Если путь от цивы к циве не известен, то не мигрируют.
-Время знакомства цивилизаций + длительность соглашения об открытых границах. После контакта будет накапливаться модификатор, скажем до 50%. При открытых границах будет расти до 100%, но если они закроются, то будет снова падать до 50%.

Вселять лучше не в 1 город, а сделать счётчики для каждой цивы и города. Скажем, если у одной цивы 10 счастья, а у другой 20, то, при прочих равных, 1 житель пойдёт в 1, и 2 во 2.

bartalbe
04.10.2010, 10:45
Можно еще не одну страну выбирать, а несколько - самых счастливых и культурно развитых, чтобы они равномерно по ним растекались :) А то получится, что все будут заселять маленькие страны из двух-трех городов, у которых всегда наблюдается избыток счастья.

Стоит ли учитывать удаленность стран друг от друга? Если между ними океан - проверять наличие прибрежных городов и портов в них (как при связке столица-город).

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

<div class='quotetop'>Цитата(Flake * 4.10.2010, 9:40) 356005</div>

-Время знакомства цивилизаций + длительность соглашения об открытых границах. После контакта будет накапливаться модификатор, скажем до 50%. При открытых границах будет расти до 100%, но если они закроются, то будет снова падать до 50%.
[/b]
Я тоже про это подумал, но как этот модификатор считать? По количеству ходов или по количеству прошедших лет?

Peter
04.10.2010, 10:50
расстояние довольно трудно учитывать: расстояние между чем и чем?
вычисления из поста 5 выполняются для каждого эмигранта, так что растекаться и так будут в разные цивы (но больше в более счстливые/культурные/открытые).

недавнюю войну также не понятно как учитывать.

bartalbe
04.10.2010, 10:54
<div class='quotetop'>Цитата(Peter * 4.10.2010, 9:50) 356007</div>

расстояние довольно трудно учитывать: расстояние между чем и чем?
недавнюю войну также не понятно как учитывать.
[/b]
1. Между столицами?
2. Ну, модификатор какой-то. Как в четверке, когда АИ помнил недавние военные события. Не знаю, твой мод - тебе и карты в руки, а то советовать легко :)

Flake
04.10.2010, 10:56
Расстояние можно считать между столицами.

На войну ввести модификатор, который после её начала падает, скажем, на 5% в ход, а в мирное время восстанавливается 1% в ход.

almuk
04.10.2010, 10:57
И еще добавить цивик запрещающий эммиграцию. Железный занавес типа :)

Peter
04.10.2010, 11:08
расстояние между столицами может быть гораздо меньше/больше чем расстояние между городами между которыми фактически происходит миграция. такой грубый подсчет мало пользы даст имхо.

запрет миграции можно будет в одну из политик автократии засунуть.

mathematician
04.10.2010, 14:40
А города могут исчезать если мигрируют жители из города размером 1?

Peter
04.10.2010, 14:51
вполне возможно

Milex
04.10.2010, 15:13
С компьютером по счастью тяжело тягаться. Не видел я у него несчастных.

Периодически выходит доклад, кто лучше в науке/военной силе/цивиках.
Играю на immortal, так в докладе по счастью, я с +11 счастьем на 7 последнем месте был. Лидер с 15-20 городами имел 53 счастья. Города у него размером 8-12 в ренессансе.

Gesse
04.10.2010, 15:45
В четверке подобное реализовано давно уже...
Миграция, культура от торговых путей и много прочего... на их фанатиках советую обратить внимание на Community Civ 5 в ветке модов цив 4.
Думаю так же может быть полезным пообщаться с создателем этого мода. Может объяснит как это было реализовано на четверке, и станет понятнее как сделать то же на пятерке...

Триффид
04.10.2010, 18:50
ИМХО, без открытых границ миграция должна быть (почти) невозможна, так что различие всего в 2 раза с открытыми границами - крайне мало. Надо бы раз в 10, вероятно...

Nipel-47
04.10.2010, 21:05
В принципе суть мода состоит в том, что счастливая империя растет намного быстрее, чем несчастные, становясь несчастной постепенно. Автор, что скажешь по этому поводу?

Peter
04.10.2010, 21:26
<div class='quotetop'>Цитата(Nipel-47 * 4.10.2010, 21:05) 356195</div>

В принципе суть мода состоит в том, что счастливая империя растет намного быстрее, чем несчастные, становясь несчастной постепенно. Автор, что скажешь по этому поводу?
[/b]
на ихфанатиках есть темы где люди играют с нечастьем минус 100 и выигрывают, то есть оно не больно то и мешает. а в моем моде счастье становится более важным т.к. за несчастье наказывают пропорциональным оттоком населения :) и особо уже не разгуляешься. несчастной она не может стать, т.к. порог П предусматривает эмиграцию в империи счастье в которых не ниже определенного уровня.

зы: я тут еще подумал, лучшее - враг хорошего. может, сделать эмиграцию из счастливых стран в еще более счастливые? :)

<div class='quotetop'>Цитата(Триффид * 4.10.2010, 18:50) 356169</div>

ИМХО, без открытых границ миграция должна быть (почти) невозможна, так что различие всего в 2 раза с открытыми границами - крайне мало. Надо бы раз в 10, вероятно...
[/b]
если был бы мод который вызывает гражданские войны, тогда бы можно было сделать и в 10. а иначе никакого не будет эффекта. открытые границы это чисто военный договор. в пятерке большую часть времени страна находится с закрытыми границами, открывать их просто не выгодно. поэтому мод просто не будет никакого эффекта иметь если сделать такой большой модификатор к закрытым границам. т.е. тут 3 выхода - 1. небольшой модификатор 2. увеличить негативные эффекты от закрытых границ 3. увеличить позитивные эффекты от открытых границ. так как я никаких модов пока не планирую, то выбираю пункт 1.

зы: кто нибудь знает как создавать из Lua уведомления? (круглые кнопки извещающие о произошедших событиях справа экрана).

Nipel-47
04.10.2010, 21:46
зы: я тут еще подумал, лучшее - враг хорошего. может, сделать эмиграцию из счастливых стран в еще более счастливые?

Как правило местное население всегда раздражается, когда "панаехалитут".


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


ПС Мод развала империи и последующей революции бы не помешал. Но ведь революция подразумевает смену правительства, а при нынешней системе цывиков (на мой взгляд долбоебической*) нельзя. Надо будет систему цывиков переделывать.


*Извиняюсь за метерный-русский

Peter
07.10.2010, 08:38
обновление в нулевом посте

Папа
08.10.2010, 00:51
Хорошая идея мода!

bro
08.10.2010, 14:01
Эмигрируют ТОЛЬКО в страны с САМЫМ высоким настроением?

Peter
08.10.2010, 14:08
<div class='quotetop'>Цитата(bro * 8.10.2010, 14:01) 357227</div>

Эмигрируют ТОЛЬКО в страны с САМЫМ высоким настроением?
[/b]
чем выше настроение тем больше вероятность что поедут именно туда.
а теоретически куда угодно может эмигрант поехать, где счастье больше нуля.