PDA

Просмотр полной версии : Постройка городов в пределах культурных границ



bay
14.06.2007, 15:00
Переодически натыкался на форумах на вопрос типа: как ограничить количество городов в империи. Как я понимаю вопрос возник из за разрыва територии государства игроками АИ и как следствие засорение карты городами - раскиданными где непопадя.... :(

Вижу другое решение проблеммы этих разрывов територии:

На ранних этапах до начала эры великих географических открытий строительство новых городов производить только в пределах культурных границ государства..... Чтобы процесс ожидания расширения границы - не был столь тягостен, у двоца требе сильно увеличить вырабатываемые единицы культуры.
Остается открытым вопрос о том как реализовать сие условие, на этот счет вижу только 2 варианта-

1) Строительство городов как и строительство улучшений можно производить только в культурных границах. Тогда в свойствах техологий придется вводить тэг отменяющий это условие после изобретение данной технологии.

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

Вся проблемма - что оба способа невозможно реализовать на уровне xml - думаю что необходимые модификации требуется провести в sdk..... подскажите, плизз, где именно.

Solver
14.06.2007, 16:12
Проще всего в Питоне установить, что город строить нельзя вне своих границ. Туда же можно вставить условие, что это ограничение действует только до, скажем, эры Ренесанса, которая приблизительно соотбествует периоду географических открытий. Можно это условие поменять и на владение конкретной технологией.

bay
14.06.2007, 16:35
<div class='quotetop'>Цитата</div>
в Питоне установить[/b]

Направь пожалуйста - где именно в питоне можно прописать сие условие?

Solver
14.06.2007, 19:31
А, извинаюсь, нету доступной функции cannotFound. Очень удивило. Можно все равно создать в Питоне функцию, а можно тогда добавить и через SDK.

CvPlayer::canFound() определяет, можно ли строить город. Поменяв условие

if (pPlot->isOwned() && (pPlot->getOwnerINLINE() != getID()))

на

if (pPlot->getOwnerINLINE() != getID())

станет невозможным строительство городов вне территории.

Blacksun
15.06.2007, 00:58
<div class='quotetop'>Цитата(Solver * 14.6.2007, 20:31) 186322</div>

А, извинаюсь, нету доступной функции cannotFound. Очень удивило. Можно все равно создать в Питоне функцию, а можно тогда добавить и через SDK.

CvPlayer::canFound() определяет, можно ли строить город. Поменяв условие

if (pPlot->isOwned() && (pPlot->getOwnerINLINE() != getID()))

на

if (pPlot->getOwnerINLINE() != getID())

станет невозможным строительство городов вне территории.
[/b]


Ага... Тока после этого надыть ДЛЛ перекомпилировать... (С правильными настройками...) :harhar:

Lexad
15.06.2007, 02:15
Would you be able to found your first city then?

Blacksun
15.06.2007, 08:57
<div class='quotetop'>Цитата(Lexad * 15.6.2007, 3:15) 186374</div>

Would you be able to found your first city then?
[/b]

Lexad! Говори по русски, а то непонятно, чего ты хочешь. :whistle:

bay
15.06.2007, 09:46
<div class='quotetop'>Цитата</div>
Would you be able to found your first city then?[/b]

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

<div class='quotetop'>Цитата</div>
га... Тока после этого надыть ДЛЛ перекомпилировать... (С правильными настройками...)[/b]

гемор - неспорю....

Когда возникает возможность гемора - всегда есть простое решение.... (дык загнул :))
Вчера проэкспериминтировал с непроходимыми ланшафтами... Это натолкнуло на мысль - если для поселенца сделать все типы ланшафтов непроходимыми, но при этом создать условие: -"если на непроходимом ланшафте поставить дорогу - он становится вполне пригодным для движения, тогда новые города можно будет установить только на догоге". Первому поселенцу вобще не надо двигаться - он строется где стоит.
Возникант один вопрос - что дорогу можно строить и вне своих границ.... но АИ ее строит только там где она нужна - и вне своих границ только если есть удаленные города и их надо соединить.

BuDDaH
15.06.2007, 10:08
<div class='quotetop'>Цитата(Blacksun * 15.6.2007, 9:57) 186401</div>

<div class='quotetop'>Цитата(Lexad * 15.6.2007, 3:15) 186374

Would you be able to found your first city then?
[/b]

Lexad! Говори по русски, а то непонятно, чего ты хочешь. :whistle:
[/b][/quote]
Да ясное дело и без этого, чего он хочет...Денг, баб и пива...и все нахаляву...

White Hawk
15.06.2007, 11:00
<div class='quotetop'>Цитата</div>
Вопрос по существу - как быть с первым городом, который по любому без культурных границ строется.....[/b]
ИМХО просто по числу УЖЕ основанных городов ;) Список их в наличии имеем? Если он пуст, тады ой :) Забиваем на условие о культурных границах.

NeverMind
15.06.2007, 11:16
Ну да, если уж ковыряться в SDK, то почему бы не поставить и условие проверки количества городов. Больше 0 - значит можно строить только в культурных границах.

А вообще, интересная идея. Игра, наверное, немного по другому будет развиваться.

bay
15.06.2007, 11:17
<div class='quotetop'>Цитата</div>
ИМХО просто по числу УЖЕ основанных городов Список их в наличии имеем? Если он пуст, тады ой Забиваем на условие о культурных границах.[/b]

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

зы:
С первым городом можно поступить проще - по дефолту установить его на карте.... :)

bay
15.06.2007, 11:32
<div class='quotetop'>Цитата</div>
А вообще, интересная идея. Игра, наверное, немного по другому будет развиваться.[/b]

Более чем уверен - во всяком случае не нужно примянять ограничений типа - чем больше городо - тем больше расход казны (в реале города наоборот приносят налог и след. доход - а не расход) - сдержывать рост государства будет его собственное культурное расширение. Отсюда 2 выхода - либо рост, либо война (кому что). В колониальный периуд - должен быть другой фактор: "дальние города будут склонны к отпадению от метрополии и терзаемы корупцией - из за чего иметь низкую или отрицательную доходность (расход на здания есть - а налог сьела корупция)"

NeverMind
15.06.2007, 13:46
Это интересно, но не так просто реализовать, к сожалению.

У меня была другая идея по ограничению числа городов на гигантских картах. Увеличить минимальное расстояние между городами с 2 до ...скажем, 10. Попутно увеличить стартовую культуру города с нуля до 1-2-3, резко уменьшить дистанционную коррупцию. Можно применить и расширение до 3 клеток городского радиуса. Благо это уже сделано.

Получим где то раз в 5 меньше городов. Тоже другая игра пойдет. Надо будет потестировать. :)

White Hawk
15.06.2007, 14:16
<div class='quotetop'>Цитата</div>
логично,но это дополнительное условие - думаю чем больше условий в sdk тем больше возможностей для косяка.... - мне сие сложно оценить - я с sdk ами не знаком вообще - тут скорее вопрос к Blacksun -у[/b]
Тут главное знакомиться не СДК а с Визуал Це-два креста :)

Простое сравнение с нулём (на Це ваще if(Список.count) - типа того) ИМХО принципиально не может стать причиной косяка. Хотя бы потому, что в этом случае (когда список городов пуст) мы идём по УЖЕ ЗАЛОЖЕНОМУ в игре варианту.

Кстати, я с Питоном тово, слабо знаком, но наверное даже в СДК лезть могёт не понадобится...

bay
15.06.2007, 14:50
Народ - а может всеж кто нибудь работал с вопросам движением юнита только по дорогам?


<div class='quotetop'>Цитата</div>
с Питоном тово, слабо знаком, но наверное даже в СДК лезть могёт не понадобится...[/b]

да вроде знающие люди говорят что с питоном здесь не все просто:

<div class='quotetop'>Цитата</div>
А, извинаюсь, нету доступной функции cannotFound. Очень удивило. Можно все равно создать в Питоне функцию, а можно тогда добавить и через SDK.[/b]

NeverMind
15.06.2007, 16:06
В RFC некоторые особенности ландшафта (джунгли, болота) непроходимы для большинства юнитов, но постройка дорог от этого не спасает.

bay
15.06.2007, 16:26
<div class='quotetop'>Цитата</div>
но постройка дорог от этого не спасает.[/b]

Да вот знаю сие - непроходимые ланшафты и особенности ланшафта указываются в тегах юнита :TerrainImpassables и FeatureImpassables - и есть на них дороги или нет - пофигу.

bay
18.06.2007, 08:25
И все же тут дело в дорогах - в цив 3 все было четко реализовано- я сие в моде по средиземью реализовавал - ели местность непроходима для юнита, то постройка дороги делает ее пригодной для движения..... в принципе это логично :( .

Здесь же блин все через ж... получается - скажем если юнит не может двигаться по тундре - то по лесу в тундре (если лес не закрыт как и ланшафт в FeatureImpassables) - юнит движется.... лес срубили - недвижется :( , а по дорогам в той же тундре ему двигаться - недосуг.

Народ подскажите - если кто сталкивался - где может быть прописано, это отношение проходимости и непроходимости - чтоб как в цив 3 сдклать дорогу проходимой при непроходимости ланшафта???

Линник
18.06.2007, 16:52
Культурные границы - хорошая идея.
Токмо стоило бы +1 тайл к культурным границам, а то тесновато будет.
Поселенец по дорогам: не вижу смысла, т.к. АИ так же по-китайски будет плодить рабочих.

bay
18.06.2007, 17:03
<div class='quotetop'>Цитата</div>
Токмо стоило бы +1 тайл к культурным границам, а то тесновато будет[/b]

В принципе не тесно - пробовал спецально - в течении первых 20-30 ходов можно уже город строить - помещается... :) . Хотя в принципе можно +1 культуры к вдворцу добавить - а остальное оставить как есть - тогда центр на первых порах будет рости сильно - а окраины сравнительно медленно и так по очереди....

По сути это уравновесит границы государства и даст вволю разгулятся варварам - особенно на ранних этапах.

bay
19.06.2007, 08:26
<div class='quotetop'>Цитата</div>
Поселенец по дорогам: не вижу смысла, т.к. АИ так же по-китайски будет плодить рабочих.[/b]

Нет этот вопрос вполне решен - я рабочих разделил по функциям - сильно плодятся только рабоче что фермы и пастбища делают - после чего исчезают


*****

Двинул пост с результатами работы в "Компоненты": http://www.civfanatics.ru/forum/index.php?showtopic=6066

NM.