PDA

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



MaxRiga
04.08.2007, 22:47
кто подскажет, кто покажет, где она, где онааа ?

ищу файл который отвечает за рост города, ну типо нужно 100 еды чтобы вырости с размера 3 на 4 и тд, никак не могу найти этот файл

спасибо

NeverMind
04.08.2007, 23:15
GlobalDefines.xml

BASE_CITY_GROWTH_THRESHOLD = 20
CITY_GROWTH_MULTIPLIER = 2

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

Зависит также от скорости и стартовой эры. При стандартном старте с нормальной скоростью 2-ой житель требует 22food, 3-ий - 24food, и тд.

Функция в SDK
[code]int CvCity::growthThreshold()
{

MaxRiga
05.08.2007, 02:47
ага! спасибо за исчерпывающий ответ! )))

Kirill
11.06.2008, 15:44
Кстати, товарищи: а почему это скорость роста городов зависит от количества в них еды?

Lexad
11.06.2008, 16:06
Для дискретности. Мог бы просто расти (или уменьшаться) по чуть-чуть каждый ход - была бы квази-непрерывность.

Kirill
11.06.2008, 16:33
Нет, я понимаю, что для дискретности. Я про то, почему для роста городов ключевым ресурсом выбрана еда? Разве, обложившись батонами и булками (хлеба, разумеется :)), мы сможем решить демографическую проблему? Что-то в этой модели неправильно.

Lexad
11.06.2008, 16:45
Рост города здесь = рост населения. Если нечего есть, чем кормить прибавок? Остальные проблемы (счастье, здоровье, эффективность труда) решают здания и цивики.

Kirill
11.06.2008, 18:33
Это понятно, что если нет еды, то нечем кормить население и город расти не будет. ИМХО еда необходимое, но не достаточное условие для роста города. В определённой мере это реализовано путём снижения скорости роста населения при низком здоровье (-1 еды за каждую единицу нездоровья) и при недовольстве населения (1 недовольный житель - это по сути -2 еды). Т.е. получается интересная ситуация: большое количество еды увеличивает скорость роста, низкое количество еды соответственнно уменьшает. Однако высокий уровень счастья или здоровья скорость роста населения не увеличивает (правда, низкий уровень счастья и здоровья все же влияет на скорость роста - уменьшает его).
ИМХО как минимум со здоровьем должно быть наоборот. Насколько я помню, рост успехов медицины в странах третьего мира (строительство больниц, т.е. рост здоровья) сопровождался демографическим бумом: высокая рождаемость и низкая смертность вели к росту населения.
М.б. стоит переработать эту схему: определить все факторы (переменные), которые влияют на население, вывести функциональную зависимость количества населения в городе от этих переменных, внедрить это в игру. Первые два пункта я с грехом пополам готов взять на себя :)

IL2T
11.06.2008, 18:44
Можешь попробовать! :applau2:

ИМХО Хотя разработчики критерий "игра как симулятор реальности" ставят совсем не на первый план
при принятии решений.

Kirill
11.06.2008, 23:24
<div class='quotetop'>Цитата(IL2T * 11.6.2008, 18:44) 250384</div>

Можешь попробовать! :applau2:
[/b]
А пункт 3 ты реализушь, если я составлю формулу? :umnik:

IL2T
12.06.2008, 11:03
<div class='quotetop'>Цитата(Kirill * 11.6.2008, 23:24) 250406</div>

<div class='quotetop'>Цитата(IL2T * 11.6.2008, 18:44) 250384

Можешь попробовать! :applau2:
[/b]
А пункт 3 ты реализушь, если я составлю формулу? :umnik:
[/b][/quote]
Питон файл я могу изменить.

Kirill
12.06.2008, 13:34
Ну что ж, тогда я буду думать над формулой. Надо обратиццо к Марксу и полазить по википедии :)

Kirill
18.06.2008, 23:56
Ну что ж, промежуточный вариант готов. Пока что предполагается, что рост происходит при неограниченном количестве ресурсов. Кроме того, пока не отработана зависимость продожлжительности жизни от внешних условий.
Как видно из прилагаемой таблицы, численность населения за 254 хода возрастёт с 10 до 146 тысяч человек. Для скорости, на которой я играю, такой рост населения в самый раз. Для более быстрых скоростей надо будет подредактировать формулу.
Очевидный минус, который я вижу - неестественный возрастной состав. Имхо это из-за пресловутой неограниченнойсти ресурсов. Будем эту решать проблему.
Ваши предложения/замечания/пожелания?

T2Ton
19.06.2008, 11:13
дохнут мало.. нужно больше и чаще :) хотя жизнь до 55ти - это ты как-то загнул... если бы так было, пенсии выплачивать не было бы нужды вовсе :)

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

хотя всё это, конечно, излишки...

IL2T
19.06.2008, 12:09
<div class='quotetop'>Цитата(Kirill * 18.6.2008, 23:56) 251491</div>

Ну что ж, промежуточный вариант готов. Пока что предполагается, что рост происходит при неограниченном количестве ресурсов. Кроме того, пока не отработана зависимость продожлжительности жизни от внешних условий.
Как видно из прилагаемой таблицы, численность населения за 254 хода возрастёт с 10 до 146 тысяч человек. Для скорости, на которой я играю, такой рост населения в самый раз. Для более быстрых скоростей надо будет подредактировать формулу.
Очевидный минус, который я вижу - неестественный возрастной состав. Имхо это из-за пресловутой неограниченнойсти ресурсов. Будем эту решать проблему.
Ваши предложения/замечания/пожелания?
[/b]
Как численность населения города связана с размером города (с количеством обрабатываемых тайлов в цив понимании)?

Kirill
20.06.2008, 00:11
<div class='quotetop'>Цитата(Tushcan * 19.6.2008, 11:13) 251576</div>

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

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

хотя всё это, конечно, излишки...
[/b]
1. Продолжительность жизни тоже будет меняться в зависимости от разности здоровье - заболеваемость.
2. По поводу коэффициентов для эпох - рассматривалось три варианта:
а) продолжительность жизни и смертность зависят от эпохи (или даты);
б) продолжительность жизни и смертность зависят от определённых наук;
в) продолжительность жизни и смертность зависят от зданий.
Выбрал третий вариант как наиболее реалистичный. Дело в том, что в стране, к примеру, может быть технология по выпуску какого-либо лекарства, но доступно оно может быть только узкому кругу лиц (богатым, членам партии и т.п.). Если же у нас есть, например, больница, то ясно, что её присутствие отразится на большом количестве населения. Что же касается эпохи, то достаточно вспомнить, что смертность от болезней в Российской империи была выше, чем в СССР 20-х - 30-х годов, по той простой причине, что медицина стала более "массовой", если можно так выразиться.
ЗЫ И это далеко не излишки, а реалистичность!
ЗЗЫ Кстати, ни у кого нет примерной информации о продолжительности жизни в разные исторические периоды?

<div class='quotetop'>Цитата(IL2T * 19.6.2008, 12:09) 251585</div>

Как численность населения города связана с размером города (с количеством обрабатываемых тайлов в цив понимании)?
[/b]
Скорость роста численности населения тем меньше (не обратно пропорциональна, а именно тем меньше), чем больше население.
Как вычислить размер города исходя из количества населения, я не знаю. Если кто-то выложит таблицу либо напишет формулу, как это делается в Циве, буду благодарен.

IL2T
20.06.2008, 10:41
<div class='quotetop'>Цитата(Kirill * 20.6.2008, 0:11) 251715</div>

<div class='quotetop'>Цитата(IL2T * 19.6.2008, 12:09) 251585

Как численность населения города связана с размером города (с количеством обрабатываемых тайлов в цив понимании)?
[/b]
Скорость роста численности населения тем меньше (не обратно пропорциональна, а именно тем меньше), чем больше население.
Как вычислить размер города исходя из количества населения, я не знаю. Если кто-то выложит таблицу либо напишет формулу, как это делается в Циве, буду благодарен.
[/b][/quote]
Таблица в циве сделана по обратному принципу, не размер населения пересчитывается в размер города, а наоборот. Поэтому смысла брать его как основу нет. Сейчас коэффициенты взяты с потолка. :)

Попробуй применить, то что ты хочешь сделать, к реалиям игры. Возьми несколько стартовых позиций (много еды, мало еды, горы, пустыня).
У тебя есть один поселенец, ты ставишь город.
Когда размер города станет 2? через сколько ходов? Как рассчитывать этот момент?

Kirill
20.06.2008, 21:01
Я играю на сверхмедленной скорости (1 ход - 1 год), поэтому и формулу пишу под такую скорость.
Основная формула имеет вид P (n+1) = B (n+1) + P (n) - D (n+1), где P - население города, n - номер хода, B - количество родившихся жителей, D - количество умерших жителей. При этом P по своему составу неоднородно: в нём имеются дети C (0-18 лет; едят, не работают, потомство не производят), взрослые R (18-45 лет; едят, работают, производят потомство), пожилые люди O (едят, в воспроизводстве населения не участвуют, работают или нет - активно над этим думаю).
B зависит от количества взрослых людей и коэффициента рождаемости m (я использую его в перерасчёте только на взрослых, т.к. все остальные все равно не репродуктивны). D, соответственно, от коэффициента смертности d.
Сейчас думаю по поводу того, от каких величин зависят m и d. Пока известно, что m находится в отрезке [0; 2/3].

sergius33
24.08.2008, 11:43
Послушайте!
Помнится во 2-ой циве города росли как на дрожжах, если в городе праздновался день правителя. Сам не раз пользовался (очень приятно, когда количество населения зашкаливает за миллиард). А в 4-ой есть что-нибудь подобное? И вообще: что дает День президента (короля, тирана) в городе?

Lexad
24.08.2008, 12:05
<div class='quotetop'>Цитата</div>
И вообще: что дает День президента (короля, тирана) в городе?[/b]
На этот ход стоимость содержания города = 0.

sergius33
24.08.2008, 12:09
Конечно не мало, но...
А как-нибудь можно устроить гипер-рост в городах?