PDA

Просмотр полной версии : ДЛЛмод 1.4.



NeseryozniyVET
04.04.2010, 20:10

NeseryozniyVET
11.04.2010, 03:51
Версия 1,1
1) Заметно улучшил быстродействие по сровнению с прошлой версией.
2) Доработал алгоритм вычисляющий лучший участок для постройки города ИИ.
3) Город может строить несколько юнитов за ход (ограничение на количество юнитов учитывается)
4) Вместимость форта для авиаюнитов регулируется отдельно от города
5) Сделал отдачу для недовольных жителей. Теперь можно сделать чтоб недовольные устраивали не голодовку, а забастовки: уменьшали производство молотков и монет

Более детально в заголовке.

GroM@BoY
11.04.2010, 10:27
NeseryozniyVET, а в РоМ этот мод можно без проблем импортировать?

Павел I
11.04.2010, 11:11
Думаю не очень просто. Надо совмещать исходники, а потом
комплиировать новую ДЛЛ.

GroM@BoY
11.04.2010, 11:32
ну а хотя бы городской радиус в 3 клеточки.

NeseryozniyVET
11.04.2010, 16:07
<div class='quotetop'>Цитата(GroM[на]BoY * 11.4.2010, 9:27) 332472</div>
NeseryozniyVET, а в РоМ этот мод можно без проблем импортировать?[/b]Нужен SDK от ROMа.

Snake_B
11.04.2010, 16:49
<div class='quotetop'>Цитата(NeseryozniyVET * 11.4.2010, 2:51) 332462</div>

Версия 1,1
1) Заметно улучшил быстродействие по сровнению с прошлой версией.
2) Доработал алгоритм вычисляющий лучший участок для постройки города ИИ.
3) Город может строить несколько юнитов за ход (ограничение на количество юнитов учитывается)
4) Вместимость форта для авиаюнитов регулируется отдельно от города
5) Сделал отдачу для недовольных жителей. Теперь можно сделать чтоб недовольные устраивали не голодовку, а забастовки: уменьшали производство молотков и монет

Более детально в заголовке.
[/b]

а можно сделать чтобы регулировалось макс. количество крылатых ракет в городе/форте?

NeseryozniyVET
11.04.2010, 17:01
<div class='quotetop'>Цитата(Snake_B * 11.4.2010, 15:49) 332514</div>
а можно сделать чтобы регулировалось макс. количество крылатых ракет в городе/форте?[/b]Это в XML делается Assets\XML\Units\CIV4UnitInfos.xml - - <iAirUnitCap> - Габарит (размер) авиаюнита.

Snake_B
11.04.2010, 19:06
<div class='quotetop'>Цитата(NeseryozniyVET * 11.4.2010, 16:01) 332518</div>

<div class='quotetop'>Цитата(Snake_B * 11.4.2010, 15:49) 332514
а можно сделать чтобы регулировалось макс. количество крылатых ракет в городе/форте?[/b]Это в XML делается Assets\XML\Units\CIV4UnitInfos.xml - - <iAirUnitCap> - Габарит (размер) авиаюнита.
[/b][/quote]

блин точно... а в "вопросах к мододелам" так ни кто об этом и не подсказал...

NeseryozniyVET
16.04.2010, 00:42
Версия 1.2

1) Правилная прорисовка траиктории движения для MEMORIZE_SURPLUS_MOVEMENT

2) Возможность передвигатся по непроходимым участкам, если там есть дорога.

3) Ограниченая дальность перебазировки. Авиаюниты могут менять место базирования только в пределах двойного радиуса действия. Рекомендуется использовать вместе с MEMORIZE_SURPLUS_MOVEMENT и MAX_MISSION_MOVES
LIMIT_REBASE Если больше нуля то включено

4) Многоразовость мисий. Если авиаюнит выполнил мисию на растоянии меньшем чем радиус действия, то он может выполнить мисию еще раз. Рекомендуется использовать вместе с MEMORIZE_SURPLUS_MOVEMENT
MAX_MISSION_MOVES Максисальное количество очков движений (iMoves в XML) затрачиваемых на одну мисию. Если у юнита iMoves болше этого значения то он может выполнять мисии на максимальном растоянии несколько раз. При 0 используется стандартный алгоритм.

5) Блокировка движения. Юниты не могут двигатся в направлении 45* к вражескому отряду. Надо или нападать (0*), или уходить в сторону (90*), или отступать (135* и 180*). Исключения составляют случаи когда юнит невидим, на тайле присутствует свой боеспособный юнит или дружественный город.
BLOCADE_UNIT Если больше 0 то включено. Влючение этого режима сильно меняет стратегию игры, так как теперь можно без проблем перекрывать проход вражеской армии (стек окружается всего 3 стеками), а форты становятся намного полезнее.

swan
16.04.2010, 03:19
<div class='quotetop'>Цитата</div>
5) Блокировка движения. Юниты не могут двигатся в направлении 45* к вражескому отряду. Надо или нападать (0*), или уходить в сторону (90*), или отступать (135* и 180*). Исключения составляют случаи когда юнит невидим, на тайле присутствует свой боеспособный юнит или дружественный город.
BLOCADE_UNIT Если больше 0 то включено. Влючение этого режима сильно меняет стратегию игры, так как теперь можно без проблем перекрывать проход вражеской армии (стек окружается всего 3 стеками), а форты становятся намного полезнее.[/b]
А ты научил ИИ этим пользоваться? Или создал очередной крутой чит? ;)

NeseryozniyVET
18.04.2010, 06:33
<div class='quotetop'>Цитата(swan * 16.4.2010, 2:19) 333081</div>
А ты научил ИИ этим пользоваться? Или создал очередной крутой чит? ;)[/b]У меня под аватором написано "Создатели модов", а не "Создатели читов"!! Это во-первых. А во-вторых там и учить нечему, просто во время войны стекам будет трудно вглубь вражеской територии заходить.

P.S. Компонент сыроват и нуждается в доработке.

swan
18.04.2010, 07:35
<div class='quotetop'>Цитата</div>
У меня под аватором написано "Создатели модов", а не "Создатели читов"!![/b]
Одно другому не мешает ;)

Просто может возникнуть ситуация, когда АИ может просчитаться и решить, что на узком перешейке нет прохода, чем создастся очень нехороший чит.

NeseryozniyVET
18.04.2010, 22:21
<div class='quotetop'>Цитата(swan * 18.4.2010, 6:35) 333336</div>
Просто может возникнуть ситуация, когда АИ может просчитаться и решить, что на узком перешейке нет прохода, чем создастся очень нехороший чит.[/b]Такая ситуация не возникнет. ИИ посчитает что проход есть, а когда подойдет вплотную - облом: или атакуй, или отступай.

swan
18.04.2010, 23:01
Просто толи в тройке толи в двойке - уже не помню был баг с долговременным стратегическим АИ, который просчитывая путь армии для вторжения натыкался на поставленного на перешейке юнита и считал его препятствиев в результате чего вместо сухопутного вторжения стеком из пары десятков юнитов по суше начиналось курсирование нескольких транспортников, перевозящих по паре юнитов

NeseryozniyVET
24.04.2010, 18:04
Версия 1,3
Подправил реалистичное передвижение и блокировку юнитов.

Добавил модкомпы от Peter
1) Отступление при защите. Юниты могут отступать даже когда защищаются.
DEFENDER_WITHDRAWAL если больше 0 то включено.
2) Автопрокачивание. Юниты автоматически получают звания. Тип звания зависит от условий боя и местности.
OCCASIONAL_PROMOTIONS если больше 0 то включено.
3) Игрок получает денежную компенсацию за роспуск юнита в пределах своих культурных границ.
GOLD_FOR_DISBANDING если больше 0 то включено. Количество золота равно стоимости юнита в молотках деленное на это число.

NeseryozniyVET
30.04.2010, 01:06
Версия 1,4
Исправил баг в блокировке юнитов и ...
... покусился на святая святых :shock: :shock: :shock: - РЭНДОМ БОЯ !! Да простит меня Сид :worthy: !!
Теперь вы сами можете управлять непредсказуемостью исхода битвы.
RANDOM_COEFICIENT если меньше 0 используется стандартный алгоритм. Чем больше это число, тем непредсказуемый исход боя. Коэффициент непредсказуемости равен:
(100 + (случайное число от 0 до RANDOM_COEFICIENT)) / 100. Урон, получаемый юнитом в бою равен: текущее здоровье * на вероятность проиграть * 2.
Далее вычесленый урон умножается или делится (зависит от того как повезет) на коэффициент непредсказуемости. Например: Ваш шанс проиграть битву равен 40% (шанс выиграть 60%), коэффициент непредсказуемости равен 5 и вам повезло (ваш урон умножается на коэффициент, а противника делится). В бою вы получите урон 2 * 40% / 1,05 = 76,2% и у вас останется 23,8% жизни.

Snake_B
30.04.2010, 01:23
<div class='quotetop'>Цитата(NeseryozniyVET * 30.4.2010, 0:06) 334726</div>

Версия 1,4
Исправил баг в блокировке юнитов и ...
... покусился на святая святых :shock: :shock: :shock: - РЭНДОМ БОЯ !! Да простит меня Сид :worthy: !!
Теперь вы сами можете управлять непредсказуемостью исхода битвы.
RANDOM_COEFICIENT если меньше 0 используется стандартный алгоритм. Чем больше это число, тем непредсказуемый исход боя. Коэффициент непредсказуемости равен:
(100 + (случайное число от 0 до RANDOM_COEFICIENT)) / 100. Урон, получаемый юнитом в бою равен: текущее здоровье * на вероятность проиграть * 2.
Далее вычесленый урон умножается или делится (зависит от того как повезет) на коэффициент непредсказуемости. Например: Ваш шанс проиграть битву равен 40% (шанс выиграть 60%), коэффициент непредсказуемости равен 10 и вам повезло (ваш урон умножается на коэффициент, а противника делится). В бою вы получите урон 2 * 40% / 1,05 = 76,2% и у вас останется 23,8% жизни.
[/b]

Вет.... а DCM ты в этот мод включать не собираешься?

тут меня просили в RF добавить better ai... я наверно этот твой мод и добавлю...
ещё бы DCM туда...

все эти элементы нормально работают в сетевой игре?

NeseryozniyVET
30.04.2010, 19:48
<div class='quotetop'>Цитата(Snake_B * 30.4.2010, 0:23) 334727</div>
Вет.... а DCM ты в этот мод включать не собираешься?[/b]Трудно сказать -- исходников нету.
<div class='quotetop'>Цитата(Snake_B * 30.4.2010, 0:23) 334727</div>
все эти элементы нормально работают в сетевой игре?[/b]Если у игроков будет одинаковая версия DLL, думаю, проблем небудет.

Версия 1.4.1
Теперь в логах битвы полный отчет о сражении.

Snake_B
30.04.2010, 20:38
<div class='quotetop'>Цитата(NeseryozniyVET * 30.4.2010, 18:48) 334810</div>

<div class='quotetop'>Цитата(Snake_B * 30.4.2010, 0:23) 334727
Вет.... а DCM ты в этот мод включать не собираешься?[/b]Трудно сказать -- исходников нету.
[/b][/quote]

а этот... а если RevDCM?
или там до кучи и bug-мод...

Snake_B
11.05.2010, 00:24
<div class='quotetop'>Цитата(NeseryozniyVET * 4.4.2010, 19:10) 331469</div>

2) Радиус города 3 клетки
[/b]

это отключаемое?

<div class='quotetop'>Цитата(NeseryozniyVET * 4.4.2010, 19:10) 331469</div>

7) Производство нескольких юнитов за ход. Если город производить молотков, которых хватит на постройку нескольких юнитов,то он будет штамповать по несколько юнитов за ход.
[/b]

одинаковые юниты будет производить или из очереди?

<div class='quotetop'>Цитата(NeseryozniyVET * 4.4.2010, 19:10) 331469</div>

8) Новый алгорит перехвата воздушных юнитов (GlobalDefines.xml).
....
Для нормального использования нового алгоритма надо правит юнитов.
[/b]

как именно править?

NeseryozniyVET
11.05.2010, 01:35
<div class='quotetop'>Цитата(Snake_B * 10.5.2010, 23:24) 335690</div>
<div class='quotetop'>Цитата(NeseryozniyVET * 4.4.2010, 19:10) 331469
2) Радиус города 3 клетки[/b]это отключаемое?<div class='quotetop'>Цитата(NeseryozniyVET * 4.4.2010, 19:10) 331469</div>
7) Производство нескольких юнитов за ход. Если город производить молотков, которых хватит на постройку нескольких юнитов,то он будет штамповать по несколько юнитов за ход.[/b]одинаковые юниты будет производить или из очереди? <div class='quotetop'>Цитата(NeseryozniyVET * 4.4.2010, 19:10) 331469</div>
8) Новый алгорит перехвата воздушных юнитов (GlobalDefines.xml). ....Для нормального использования нового алгоритма надо правит юнитов.[/b]как именно править?[/b][/quote]1) Нет

2) Одинаковые

3) Допустим команда А пытается разбомбить участок команды Б. У самолета А увертливость (EvasionProbability) = 40%, у самолета Б перехват (InterceptionProbability) = 80%. Вероятность того что между ними произойдет воздушный бой расчитуется так:
Оригинал: (100% - 40%) * 80% / 100% = 48%.
Мой вариант. 80% - 40% = 40%.
Мой алгоритм позволяет создать гонку вооружений, так как можно использовать числа больше 100. В оригинальном варианте числа больше 100 работают так же как и 100. Вобщето в оригинале установлен лимит 90% поэтому всегда есть вероятность перехвата, а в моем варианте крутые самолеты могут небоятся "кукурузников".
Например параметры равны соответственно 140% и 180%.
Оригинал: (100% - 140%) * 180% / 100% абрезается до (100% - 90%) * 90% / 100% = 9%
Мой вариант. 180% - 140% = 40%. То же самое что и при 80% и 40%.


Обновил до версии 1.4.2, в которой убил 2 бага.

Snake_B
11.05.2010, 12:04
<div class='quotetop'>Цитата(NeseryozniyVET * 11.5.2010, 0:35) 335694</div>

<div class='quotetop'>Цитата(Snake_B * 10.5.2010, 23:24) 335690
<div class='quotetop'>Цитата(NeseryozniyVET * 4.4.2010, 19:10) 331469
2) Радиус города 3 клетки[/b]это отключаемое?[/b][/quote]
1) Нет
[/b][/quote]

а может стоит сделать? или слишком трудно?

NeseryozniyVET
11.05.2010, 13:35
<div class='quotetop'>Цитата(Snake_B * 11.5.2010, 11:04) 335725</div>
а может стоит сделать? или слишком трудно[/b]Во-первых радиус города это не переменная, а макрос. А я в макросах слабоват.
Во-вторых никаких негативных эффектов радиус в 3 клетки ненесет и его наличие надо расценивать как исправления бага, которое позваляет более свободно выбирать место для города.

Snake_B
13.05.2010, 00:28
<div class='quotetop'>Цитата(NeseryozniyVET * 11.5.2010, 12:35) 335748</div>

<div class='quotetop'>Цитата(Snake_B * 11.5.2010, 11:04) 335725
а может стоит сделать? или слишком трудно[/b]Во-первых радиус города это не переменная, а макрос. А я в макросах слабоват.
Во-вторых никаких негативных эффектов радиус в 3 клетки ненесет и его наличие надо расценивать как исправления бага, которое позваляет более свободно выбирать место для города.
[/b][/quote]

гм... а как ей AI пользуется... нормально? в хмл не надо менять минимальное расстояние между городами?

и ещё вопросики...
1. на счет шансов перехвата ясно... а как там влияет сила юнитов?
2. была там у меня задумка одна... сделать манхеттенский проект национальным чудом.. и чтобы его постройка давала ЯО только тем кто его построил (ну чтобы каждый строил)... ты такое в этом моде не хочешь реализовать? (отключаемо конечно)
3. отношения стран ты же там тоже можешь изменить? может стоить увеличить влияние ЯО на дипломатию... ну если у AI есть ЯО, то его отношение ко всем -10... если у кого то другого есть, то +10...
4. терраморфинги и посадки леса добавлять не будешь?

NeseryozniyVET
13.05.2010, 14:26
<div class='quotetop'>Цитата(Snake_B * 12.5.2010, 23:28) 335880</div>
гм... а как ей AI пользуется... нормально? в хмл не надо менять минимальное расстояние между городами[/b]ИИ пользуется отлично, мало того играть стал еще лучше. Увеличеный радиус позволяет захватиь те тайлы которые в обычной игре у ИИ были вне зоны города. А такие тайлы часто были с ресурсами. В отличие от других модов с R=3, тут ИИ адаптирован под увеличеный радиус и строит города не тах редко.
Я посоветовал бы убрать возможность появления ресурсов в океане (китов перенести на мелководье), так как они могут оказатся очень далеко от берега.<div class='quotetop'>Цитата(Snake_B * 12.5.2010, 23:28) 335880</div>
и ещё вопросики...
1. на счет шансов перехвата ясно... а как там влияет сила юнитов?
2. была там у меня задумка одна... сделать манхеттенский проект национальным чудом.. и чтобы его постройка давала ЯО только тем кто его построил (ну чтобы каждый строил)... ты такое в этом моде не хочешь реализовать? (отключаемо конечно)
3. отношения стран ты же там тоже можешь изменить? может стоить увеличить влияние ЯО на дипломатию... ну если у AI есть ЯО, то его отношение ко всем -10... если у кого то другого есть, то +10...
4. терраморфинги и посадки леса добавлять не будешь?[/b]1) Сила влияет только на исход боя.
2) Я больше склоняюсь к тому чтоб ЯО можно было строить сразу после открытия соответствующей технологи. А манхеттенский проэкт вобще убрать. Сид его в игру наверно из-за патриотизма ввел.
3) В алгоритмы отношений я пока нелазил.
4) Для их реализации надо править XML, а это выходит за рамки этого мода: - "Только SDK".

Snake_B
14.05.2010, 20:45
<div class='quotetop'>Цитата(NeseryozniyVET * 13.5.2010, 13:26) 335910</div>

4) Для их реализации надо править XML, а это выходит за рамки этого мода: - "Только SDK".
[/b]

вот тут у меня ещё идейка была... она уже давно висит в "Вопросы к мододелам.", может это можно реализовать?

<div class='quotetop'>Цитата</div>
1. Флот/авиация/крылатые ракеты - при захвате городов не уничтожаются, а выкидываются из города (подводные лодки и стэлс-эсминцы в bts 3.17 так и делают).[/b]
или
<div class='quotetop'>Цитата</div>
2. Флот/авиация/крылатые ракеты - при захвате городов:
33% - уничтожены
33% - выкинуты из города
33% - захвачены.[/b]

NeseryozniyVET
15.05.2010, 14:58
<div class='quotetop'>Цитата(Snake_B * 14.5.2010, 19:45) 336023</div>
вот тут у меня ещё идейка была... она уже давно висит в "Вопросы к мододелам.", может это можно реализовать?[/b]Можно, но как нибудь розже. Сейчас, если есть время, я своим основным модом занимаюсь.

Snake_B
25.05.2010, 20:31
<div class='quotetop'>Цитата(NeseryozniyVET * 4.4.2010, 19:10) 331469</div>

10) Ограниченая перебазировка. Авиаюниты могут менять место базирования только в пределах двойного радиуса действия.[/b]

а это на AI тестировалось? он пользоваться этим умеет?

NeseryozniyVET
25.05.2010, 21:30
<div class='quotetop'>Цитата(Snake_B * 25.5.2010, 19:31) 336943</div>
а это на AI тестировалось? он пользоваться этим умеет?[/b]Не тестировалось. Но, думаю, пользоватся умеет.

Snake_B
27.05.2010, 02:11
<div class='quotetop'>Цитата(NeseryozniyVET * 25.5.2010, 20:30) 336951</div>

<div class='quotetop'>Цитата(Snake_B * 25.5.2010, 19:31) 336943
а это на AI тестировалось? он пользоваться этим умеет?[/b]Не тестировалось. Но, думаю, пользоватся умеет.
[/b][/quote]

хотелось бы всё таки точно знать... =)

ну да ладно...

> MIN_CITY_TILES Минимальное количество хороших тайлов в планируемом городе, при котором город может быть построен ИИ. Чем меньше число тем гуще ИИ будет строить города.

какое значение оптимально или наиболее близкое к стандартной циве?
и какие пределы имеет смысл для них установить? (максимальное/минимальное значения)

> 6) Возможность менять отдачу (еда, молотки, монеты) за каждого недовольного жителя.
___а) FOOD_PER_ANGRY Еда
___б) PRODUCTION_PER_ANGRY Молотки
___в) COMMERCE_PER_ANGRY Монеты

какие значения по умолчанию в циве? и рекомендуемые пределы то же...

> 14) Автопрокачивание. Юниты автоматически получают звания. Тип звания зависит от условий боя и местности.
___а)OCCASIONAL_PROMOTIONS если больше 0 то включено.

это параллельно обычному прокачиванию... вроде?

NeseryozniyVET
27.05.2010, 02:29
<div class='quotetop'>Цитата(Snake_B * 27.5.2010, 1:11) 337043</div>
хотелось бы всё таки точно знать... =)[/b]Если город под завязку набит самолетами то внего нельзя перебазировать новый самолет. ИИ умеет этим пользоваться. Я добавил новое условие до стандартного для запрета перебазировать самолеты и невижу причин для того, чтоб ИИ несмог этим воспользоватся.<div class='quotetop'>Цитата(Snake_B * 27.5.2010, 1:11) 337043</div>
какое значение оптимально или наиболее близкое к стандартной циве?
и какие пределы имеет смысл для них установить? (максимальное/минимальное значения)
[/b]9 (Стандартный алгоритм цывы неприспособлен к радиусу 3 клетки)
7-11<div class='quotetop'>Цитата(Snake_B * 27.5.2010, 1:11) 337043</div>

какие значения по умолчанию в циве? и рекомендуемые пределы то же...[/b](-2),0,0
Пределов нет<div class='quotetop'>Цитата(Snake_B * 27.5.2010, 1:11) 337043</div>
это параллельно обычному прокачиванию... вроде?[/b]Да.

Snake_B
27.05.2010, 02:42
<div class='quotetop'>Цитата(NeseryozniyVET * 27.5.2010, 1:29) 337044</div>

<div class='quotetop'>Цитата(Snake_B * 27.5.2010, 1:11) 337043
хотелось бы всё таки точно знать... =)[/b]Если город под завязку набит самолетами то внего нельзя перебазировать новый самолет. ИИ умеет этим пользоваться. Я добавил новое условие до стандартного для запрета перебазировать самолеты и невижу причин для того, чтоб ИИ несмог этим воспользоватся.<div class='quotetop'>Цитата(Snake_B * 27.5.2010, 1:11) 337043</div>
какое значение оптимально или наиболее близкое к стандартной циве?
и какие пределы имеет смысл для них установить? (максимальное/минимальное значения)
[/b]9 (Стандартный алгоритм цывы неприспособлен к радиусу 3 клетки)
7-11<div class='quotetop'>Цитата(Snake_B * 27.5.2010, 1:11) 337043</div>

какие значения по умолчанию в циве? и рекомендуемые пределы то же...[/b](-2),0,0
Пределов нет<div class='quotetop'>Цитата(Snake_B * 27.5.2010, 1:11) 337043</div>
это параллельно обычному прокачиванию... вроде?[/b]Да.
[/b][/quote]

всё таки склоняюсь к более обрезанному варианту... что то вроде такого...
[attachmentid=6624]

и ещё вопрос... упоминания в read me хватит или куда-нить ссылку вставить? =)

NeseryozniyVET
27.05.2010, 19:40
<div class='quotetop'>Цитата(Snake_B * 27.5.2010, 1:42) 337046</div>
упоминания в read me хватит или куда-нить ссылку вставить? =)[/b]Упоминания хватит.