Перейти к содержанию
Друзья, важная новость! ×

Рекомендуемые сообщения

megazogg

Спасибо за мод и его обновления! Я вот уже давненько не играл, года с полтора в СС, т.к. на Дов2 перешёл, а теперь заинтересовался. Родные иги выглядят ооочень близко к кодексу, и довольно интересно.

Вобщем благодаря моду вернулся интерес к дов1 =)

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 5,3 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

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

megazogg, по поводу вылетов - может дело в железе? Вроде ты там какую-то накрутку на графику используешь, пробовал без нее? На второй ДоВ сейчас кое-какой мод тестируем, так вот там та же проблема (и так же не у всех), и решилась сменой настроек графики на более низкие

Ссылка на комментарий
Поделиться на другие сайты

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

megazogg, по поводу вылетов - может дело в железе? Вроде ты там какую-то накрутку на графику используешь, пробовал без нее? На второй ДоВ сейчас кое-какой мод тестируем, так вот там та же проблема (и так же не у всех), и решилась сменой настроек графики на более низкие

Да, пробовал, итог такой же. Щаз попробую грф. настройки ниже поставить, но раньше-то все нормально было и на тех, что сейчас стоят... Странно все как-то происходит - по всем признакам похоже, что вылетает из-за как раз из-за нехватки мощности (что честно говоря странно - у меня свежий комп, собранный только в январе этого года и кроме видеоадаптера (GeForce 280), у меня все железо на грани макс. возможного. Да и карточки 280 ДОВ1 хватает выше крыши), т.к. при наличии на карте любого размера любых 3 компов (или 2 ИИ + 1 человек) все работает нормально. Но при этом, если ставить 4 ИИ и больше, если они не являются КД, Тау или ИГ - все нормально. Правда я пару раз сумел и с ИГ запустить скирмиш на 4-х. Т.е. повторюсь - ситуация жутко путанная, т.к. при запуске 2 следующих друг за другом тестов, на одной и той же карте, с одинаковыми условиями, первый запуск может быть удачным, а второй нет.

На всякий случай скажу, что я уже успел попробовать:

1. Заменил папку AI в моде на аналогичную из SkirmishAI - несколько тестов положительные, несколько отрицательные, ergo - проблема не в нем.

2. Отключал ENBS путем его удаления из папки с игрой - не помогло.

3. Переустановил игру, причем на другой физ. диск - не помогло.

4. Попытался отследить изменения по changelog'у совершенные с выхода 1.53 - они никак не могли повлиять на стабильность игры, в еррор логах нет никаких репортов об ошибках, проверил код - все нормально - не помогло.

5. Запускал тесты на ванильном СС - все нормально, следовательно проблема все же в моде.

6. Пробовал разные комбинации условий победы, откл./вкл. Heroes, Fallback, Auto Abilities - без результата.

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

Изменено пользователем megazogg
Ссылка на комментарий
Поделиться на другие сайты

А чем этот мод от фока отличается?

фок это настолка (или попытка ее воспроизвести) в дов,а ревайзд это "толстый" сс

Ссылка на комментарий
Поделиться на другие сайты

КД, ИГ и Тау используют самое большое количество (если и не самое, то просто очень много уж точно) новых текстур и моделей. Т.к. ты постоянно обновляешь мод, добавляешь новые модели/текстуры, то в какой-то момент на них перестало хватать оперативы/видеопамяти (поэтому раньше вылетов небыло). Не буду утверждать стопроцентно, но повторюсь у нас в моде на второй ДоВ абсолютно такая же ситуация:

ok after testing this on my older computer which can only play normal Chaos rising on lowest graphics settings i found that when i play a 3v3 wit all races present i also get a "cannot create dump file: " (error 183)" message pop up, am going to try wit my usual computer and again on the older computer only 2v2 etc

Right, tested a 2v2 wit 4 out of 5 races present and it worked fine even on my old computer. A bit of lag but worked all right.

Попробуй обновить драйвера на видеокарту, так же можно поудалять из мода неиспользующиеся модели

Ссылка на комментарий
Поделиться на другие сайты

КД, ИГ и Тау используют самое большое количество (если и не самое, то просто очень много уж точно) новых текстур и моделей. Т.к. ты постоянно обновляешь мод, добавляешь новые модели/текстуры, то в какой-то момент на них перестало хватать оперативы/видеопамяти (поэтому раньше вылетов небыло). Не буду утверждать стопроцентно, но повторюсь у нас в моде на второй ДоВ абсолютно такая же ситуация:

Попробуй обновить драйвера на видеокарту, так же можно поудалять из мода неиспользующиеся модели

В общем, поставил я настройки текстур и моделей на средние вместо высоких, все три расы + орки нормально запустились, но это дико... У меня сейчас Intel Core i7 920 2.66Ghz @ 3.60GHz, OCZ Intel XMP Edition DDR-III 6Gb kit PC-12800, мать ASUS P6T Deluxe V2 1366 + ASUS GeForce GTX 280 1024 Mb, дрова самые последние на данный момент (197.45) для моей видюхи - тот же самый DOW2 у меня без всяких проблем работает на ультра настройках, а игре 6-летней давности этого и подавно должно хватать. Сейчас проверю, как сам ФОК работает, если он тоже будет вылетать, то пойду жаловаться камрадам по команде. :oops:

Да, так и есть - ФОК тоже вылетает. Мля, вот говорил же я всем, что нафиг не нужны эти рандомные хрени в АР и такое безумное кол-во варгира.

Изменено пользователем megazogg
Ссылка на комментарий
Поделиться на другие сайты

На самом деле ничего удивительного) У меня комп AMD Athlon 64 X2 Dual Core 5200, 4gb оперативы, видео - ATI Radeon HD 4850 1024mb. Первый ДоВ жутко лагает в больших битвах, выдавая в среднем 10 фпс (без модов на 5-7 фпс больше). Второй ДоВ идет без тормозов на ультре

Ссылка на комментарий
Поделиться на другие сайты

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

Судя по описанию проблемы -- проблема конечно же в AI мода. По своему опыту моддинга могу сказать, что такие ошибки отловить не всегда просто. Но в конце концов они всегда отыскиваются. У меня в ходе модификации AI случалось всякое, но в конце концов ошибки локализовывались и устранялись. Для начала локализовать ошибку надо четче. Например, попробовать четко выяснить с каким расами глючит, а с какими нет. И еще попробуйте откат на старые версии AI. Если говорить об AI для SS, то версии 3.0 я более менее доверяю, но вот 3.2 уже нет. Что-то они там напороли не то. Тюдо скромно промолчал на мои вопросы по глюкам в AI 3.2 в обсуждении на Реликньюсе.

То, что якобы компу не хватает ресурсов это ИМХО бред. У компа ресурсов с учетом файла подкачки навалом. У меня мод тоже весьма монстрообразный. Моделей, текстур, FX и прочих данных навалом. И работаю я на гораздо худшем, чем у Мегазогга компе (у меня Athlon 3000+ и даже не 64, и всего 1 гиг оперативки). Ничего не вылетает, если AI создан как надо. Я часто запускаю автобой в Titanium Wars на 4 компа и вылетов нет. Меньше ли мой мод чем Ревизед? Вот системная статистика:

Titanium Wars 0.95.06 (unpublished ver.)

Folders 990

Files 9196

Size 1,41 Gb

Revised 1.53

Folders 1257

Files 10327

Size 1,78 Gb

ИМХО размеры сравнимые. Мой мод даже получается немного больше в расчете на расу, так как у меня 7 рас, а не 9 (или 10 с темпларами) как в Ревизеде. Если добавить к TWM расы SS, то получим бОльший размер.

Конечно вопрос может состоять в том, есть ли в двигле DoW 1 программные ограничения на размер используемых данных? Вроде никто еще реально не упирался в такие ограничения. Да и с чем они могут быть связаны надо еще обосновать. Для Винды ХРюши наши размеры явно не критичны. Сама программа (DoW1) вряд ли содержит в себе искусственные ограничители (хотя конечно кто их знает этих девелоперов). Обычно программеры заставляют работать свои проги до исчерпания ресурсов и ставят заглушки по ерролевелам их нехватки. Тогда ошибка явно выдается и она системная. Тут явно не тот случай.

Так что остается пожелать камрадам, как грит Жванецкий, тщательнЕе относиться к AI-кодингу. ;) У меня иногда тоже бывали случаи, когда ошибки приходилось искать за несколько запусков DoW. И всегда выяснялось, что накосячил я, а не Релики. :) (Ну разве что за редкими исключениями :) каковые тоже конечно же есть.) Надо просто внимательнее отслеживать новые добавки к AI и сразу их тестить. Если добавлять и добавлять, а тестить потом все скопом, то замучаетесь ошибки находить.

Ах да! Есть же еще разница в том, что я то работаю со старым добрым DC, а все прогрессивное человечество сидит на Iron Lore-вском моде под названием SS. ;) Ну тут ничего не могу сказать. :) Кто их знает этих подельников, как они шедевр от Реликов могли запортить... :)

Изменено пользователем GrOrc
Ссылка на комментарий
Поделиться на другие сайты

Судя по описанию проблемы -- проблема конечно же в AI мода. По своему опыту моддинга могу сказать, что такие ошибки отловить не всегда просто. Но в конце концов они всегда отыскиваются. У меня в ходе модификации AI случалось всякое, но в конце концов ошибки локализовывались и устранялись. Для начала локализовать ошибку надо четче. Например, попробовать четко выяснить с каким расами глючит, а с какими нет. И еще попробуйте откат на старые версии AI. Если говорить об AI для SS, то версии 3.0 я более менее доверяю, но вот 3.2 уже нет. Что-то они там напороли не то. Тюдо скромно промолчал на мои вопросы по глюкам в AI 3.2 в обсуждении на Реликньюсе.

То, что якобы компу не хватает ресурсов это ИМХО бред. У компа ресурсов с учетом файла подкачки навалом. У меня мод тоже весьма монстрообразный. Моделей, текстур, FX и прочих данных навалом. И работаю я на гораздо худшем, чем у Мегазогга компе (у меня Athlon 3000+ и даже не 64, и всего 1 гиг оперативки). Ничего не вылетает, если AI создан как надо. Я часто запускаю автобой в Titanium Wars на 4 компа и вылетов нет. Меньше ли мой мод чем Ревизед? Вот системная статистика:

Titanium Wars 0.95.06 (unpublished ver.)

Folders 990

Files 9196

Size 1,41 Gb

Revised 1.53

Folders 1257

Files 10327

Size 1,78 Gb

ИМХО размеры сравнимые. Мой мод даже получается немного больше в расчете на расу, так как у меня 7 рас, а не 9 (или 10 с темпларами) как в Ревизеде. Если добавить к TWM расы SS, то получим бОльший размер.

Конечно вопрос может состоять в том, есть ли в двигле DoW 1 программные ограничения на размер используемых данных? Вроде никто еще реально не упирался в такие ограничения. Да и с чем они могут быть связаны надо еще обосновать. Для Винды ХРюши наши размеры явно не критичны. Сама программа (DoW1) вряд ли содержит в себе искусственные ограничители (хотя конечно кто их знает этих девелоперов). Обычно программеры заставляют работать свои проги до исчерпания ресурсов и ставят заглушки по ерролевелам их нехватки. Тогда ошибка явно выдается и она системная. Тут явно не тот случай.

Так что остается пожелать камрадам, как грит Жванецкий, тщательнЕе относиться к AI-кодингу. ;) У меня иногда тоже бывали случаи, когда ошибки приходилось искать за несколько запусков DoW. И всегда выяснялось, что накосячил я, а не Релики. :) (Ну разве что за редкими исключениями :) каковые тоже конечно же есть.) Надо просто внимательнее отслеживать новые добавки к AI и сразу их тестить. Если добавлять и добавлять, а тестить потом все скопом, то замучаетесь ошибки находить.

Ах да! Есть же еще разница в том, что я то работаю со старым добрым DC, а все прогрессивное человечество сидит на Iron Lore-вском моде под названием SS. ;) Ну тут ничего не могу сказать. :) Кто их знает этих подельников, как они шедевр от Реликов могли запортить... :)

Я конечно тоже все еще надеюсь, что все-таки проблема в ИИ, но тогда как объяснить, что при снижении граф. настроек игра вылетать перестала, а так же то, что ФОК вылетает точно также? У них конечно есть нечто общее - в ФОК нет нормального ИИ сейчас вообще, а в Ревайзде ИИ писал я, особенно в этом вопросе не разбирающийся, так что себе я тоже не особо дверяю... O_o У меня кстати не XP, а Виста 64. С самим движком игры тоже проблем никаких быть не может, тут не важно, ДК это или СС. На родном СС-то все нормально.

Сейчас попробую откатится сначала до версии 1.53 собственного мода, если не поможет, то заменю Сркимиш ИИ 3.2 на 3.0, я так понимаю, что достаточно будет только core-файлы заменить, да? Т.е. тактики и стратегии рас можно оставить?

И еще - у меня есть еще подозрения на кряк. Так как на СС 1.2 так и не вышло нормального ехешника, я пользуюсь RSSS.DLL кряком, которй вобще-то изначально был сделан для КоХ, но энтузиасты обнаружили, что он работает и на СС 1.2. Я давно заметил, что у меня после установки этой dll в папке с игрой каждый раз генерируются errorlog'и и dump'ы. Там как раз говорится о том, что Soulstorm.exe caused an Access Violation in module ntdll.dll at 0023:7720ac6c. Создаются эти файлы при выходе из игры, следовательно получается, что программа каждый раз пр выходе вылетает.

Но нет худа без добра, я сейчас порезал всякие ненужные файлы (код, модели, текстуры), м сжал мод до таких размеров:

Folders: 1,175

Files: 8,561

Size: 2,24 Gb :P

Да и еще, ГрОрк - скинь мне в личку или здесь свой код для тестирования ИИ, который игрока компом заменяет. Тот что есть в ридми к СкримишИИ, немного другой и работает немного глючно.

Изменено пользователем megazogg
Ссылка на комментарий
Поделиться на другие сайты

GrOrc

Я, конечно, далеко не спец в этом деле, но мне тоже непонятно каким образом баги ИИ могут провоцировать вылеты из игры. И тем более непонятно как эти же баги ИИ "исправляются" посредством простого снижения графических настроек. Тут уж дело скорее действительно в СС, но опять же у некоторых людей никаких вылетов нет, СС, мод и ИИ в нем у всех одинаковые, а вот компы разные...

Изменено пользователем UnknownLOL
Ссылка на комментарий
Поделиться на другие сайты

GrOrc

Я, конечно, далеко не спец в этом деле, но мне тоже непонятно каким образом баги ИИ могут провоцировать вылеты из игры. И тем более непонятно как эти же баги ИИ "исправляются" посредством простого снижения графических настроек. Тут уж дело скорее действительно в СС, но опять же у некоторых людей никаких вылетов нет, СС, мод и ИИ в нем у всех одинаковые, а вот компы разные...

AI реализован на функциях ядра игры, и AI-скрипты -- это текстовый интерфейс с ними. Фактически внешний программинг в рамках готовой системы. Если писать скрипты некорректно, то можно добиться самых разных внутренних коллизий движка разной степени тяжести. Когда я косячил с AI, то чаще всего игра у меня не вылетала, а вставала на холд и/или ругалась. Но думаю, что вылет тоже можно спровоцировать. Наверняка в DoW1 есть такие баги, о которых и сами Релики не подозревают, да и для нас они не часто проявляются. Боюсь соврать, но вроде у меня подобные вылеты пару раз были когда-то давно в моей собственной практике программирования AI, но мне конечно сейчас уже не вспомнить те ситуации. А так, честно говоря, я давно уже не видел серьезных глюков в своей практике AI-программинга. Сейчас если я где-то и ошибаюсь, то это чаще всего приводит просто к тому, что накосяченная раса стоИт и не развивается.

Мегазоггу. Лови содержимое моего autoexec.lua :

autoexec.lua from GrOrc

screenmode = 0

function toggle_screenmode()

if screenmode == 0 then

taskbar_hide()

message_hide()

screenmode = 1

else

taskbar_show()

message_show()

screenmode = 0

end

end

bind("shift+tab", "toggle_screenmode()")

run = Cpu_ControlLocalPlayer()

run = setsimrate(35)

bind("F1","setsimrate(5)")

bind("F2","setsimrate(12)")

bind("F3","setsimrate(20)")

bind("F4","setsimrate(30)")

bind("F5","test()")

bind("F6","test1()")

bind("F7","test2()")

bind("F8","test3()")

bind("F9","test4()")

function test()

local count=World_GetPlayerCount()

g_Player1=World_GetPlayerAt(0);

if count>1 then

g_Player2=World_GetPlayerAt(1);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player2,0);

end

if count>2 then

g_Player3=World_GetPlayerAt(2);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player3,0);

end

if count>3 then

g_Player4=World_GetPlayerAt(3);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player4,0);

end

if count>4 then

g_Player5=World_GetPlayerAt(4);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player5,0);

end

if count>5 then

g_Player6=World_GetPlayerAt(5);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player6,0);

end

if count>6 then

g_Player7=World_GetPlayerAt(6);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player7,0);

end

if count>7 then

g_Player8=World_GetPlayerAt(7);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player8,0);

end

Player_SetResource(g_Player1,RT_Requisition,9999);

Player_SetResource(g_Player1,RT_Power,9999);

end

function test1()

local count=World_GetPlayerCount()

g_Player1=World_GetPlayerAt(0);

if count>1 then

g_Player2=World_GetPlayerAt(1);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player2,0);

end

if count>2 then

g_Player3=World_GetPlayerAt(2);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player3,0);

end

if count>3 then

g_Player4=World_GetPlayerAt(3);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player4,0);

end

if count>4 then

g_Player5=World_GetPlayerAt(4);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player5,0);

end

if count>5 then

g_Player6=World_GetPlayerAt(5);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player6,0);

end

if count>6 then

g_Player7=World_GetPlayerAt(6);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player7,0);

end

if count>7 then

g_Player8=World_GetPlayerAt(7);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player8,0);

end

Player_SetResource(g_Player2,RT_Requisition,9999);

Player_SetResource(g_Player2,RT_Power,9999);

end

function test2()

local count=World_GetPlayerCount()

g_Player1=World_GetPlayerAt(0);

if count>1 then

g_Player2=World_GetPlayerAt(1);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player2,0);

end

if count>2 then

g_Player3=World_GetPlayerAt(2);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player3,0);

end

if count>3 then

g_Player4=World_GetPlayerAt(3);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player4,0);

end

if count>4 then

g_Player5=World_GetPlayerAt(4);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player5,0);

end

if count>5 then

g_Player6=World_GetPlayerAt(5);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player6,0);

end

if count>6 then

g_Player7=World_GetPlayerAt(6);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player7,0);

end

if count>7 then

g_Player8=World_GetPlayerAt(7);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player8,0);

end

Player_SetResource(g_Player3,RT_Requisition,9999);

Player_SetResource(g_Player3,RT_Power,9999);

end

function test3()

local count=World_GetPlayerCount()

g_Player1=World_GetPlayerAt(0);

if count>1 then

g_Player2=World_GetPlayerAt(1);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player2,0);

end

if count>2 then

g_Player3=World_GetPlayerAt(2);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player3,0);

end

if count>3 then

g_Player4=World_GetPlayerAt(3);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player4,0);

end

if count>4 then

g_Player5=World_GetPlayerAt(4);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player5,0);

end

if count>5 then

g_Player6=World_GetPlayerAt(5);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player6,0);

end

if count>6 then

g_Player7=World_GetPlayerAt(6);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player7,0);

end

if count>7 then

g_Player8=World_GetPlayerAt(7);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player8,0);

end

Player_SetResource(g_Player4,RT_Requisition,9999);

Player_SetResource(g_Player4,RT_Power,9999);

end

function test4()

local count=World_GetPlayerCount()

g_Player1=World_GetPlayerAt(0);

if count>1 then

g_Player2=World_GetPlayerAt(1);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player2,0);

end

if count>2 then

g_Player3=World_GetPlayerAt(2);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player3,0);

end

if count>3 then

g_Player4=World_GetPlayerAt(3);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player4,0);

end

if count>4 then

g_Player5=World_GetPlayerAt(4);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player5,0);

end

if count>5 then

g_Player6=World_GetPlayerAt(5);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player6,0);

end

if count>6 then

g_Player7=World_GetPlayerAt(6);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player7,0);

end

if count>7 then

g_Player8=World_GetPlayerAt(7);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player8,0);

end

Player_SetResource(g_Player5,RT_Requisition,9999);

Player_SetResource(g_Player5,RT_Power,9999);

Player_SetResource(g_Player6,RT_Requisition,9999);

Player_SetResource(g_Player6,RT_Power,9999);

Player_SetResource(g_Player7,RT_Requisition,9999);

Player_SetResource(g_Player7,RT_Power,9999);

Player_SetResource(g_Player8,RT_Requisition,9999);

Player_SetResource(g_Player8,RT_Power,9999);

end

Ссылка на комментарий
Поделиться на другие сайты

У меня тут возник наверное боянистый вопрос: при грейдах на силовое оружие, а потом на кулаки у сержантов простых тсм модель пиломеча не заменяется на силовой меч\кулак. Посмотрев файлы я понял, что именно проблема в моделях, а не в апгрейде, он вроде-бы всё должен грейдить нормально.

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

Или такие проблемы только у меня?

Изменено пользователем RuW)Leclerc
Ссылка на комментарий
Поделиться на другие сайты

AI реализован на функциях ядра игры, и AI-скрипты -- это текстовый интерфейс с ними. Фактически внешний программинг в рамках готовой системы. Если писать скрипты некорректно, то можно добиться самых разных внутренних коллизий движка разной степени тяжести. Когда я косячил с AI, то чаще всего игра у меня не вылетала, а вставала на холд и/или ругалась. Но думаю, что вылет тоже можно спровоцировать. Наверняка в DoW1 есть такие баги, о которых и сами Релики не подозревают, да и для нас они не часто проявляются. Боюсь соврать, но вроде у меня подобные вылеты пару раз были когда-то давно в моей собственной практике программирования AI, но мне конечно сейчас уже не вспомнить те ситуации. А так, честно говоря, я давно уже не видел серьезных глюков в своей практике AI-программинга. Сейчас если я где-то и ошибаюсь, то это чаще всего приводит просто к тому, что накосяченная раса стоИт и не развивается.

Мегазоггу. Лови содержимое моего autoexec.lua :

autoexec.lua from GrOrc

screenmode = 0

function toggle_screenmode()

if screenmode == 0 then

taskbar_hide()

message_hide()

screenmode = 1

else

taskbar_show()

message_show()

screenmode = 0

end

end

bind("shift+tab", "toggle_screenmode()")

run = Cpu_ControlLocalPlayer()

run = setsimrate(35)

bind("F1","setsimrate(5)")

bind("F2","setsimrate(12)")

bind("F3","setsimrate(20)")

bind("F4","setsimrate(30)")

bind("F5","test()")

bind("F6","test1()")

bind("F7","test2()")

bind("F8","test3()")

bind("F9","test4()")

function test()

local count=World_GetPlayerCount()

g_Player1=World_GetPlayerAt(0);

if count>1 then

g_Player2=World_GetPlayerAt(1);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player2,0);

end

if count>2 then

g_Player3=World_GetPlayerAt(2);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player3,0);

end

if count>3 then

g_Player4=World_GetPlayerAt(3);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player4,0);

end

if count>4 then

g_Player5=World_GetPlayerAt(4);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player5,0);

end

if count>5 then

g_Player6=World_GetPlayerAt(5);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player6,0);

end

if count>6 then

g_Player7=World_GetPlayerAt(6);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player7,0);

end

if count>7 then

g_Player8=World_GetPlayerAt(7);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player8,0);

end

Player_SetResource(g_Player1,RT_Requisition,9999);

Player_SetResource(g_Player1,RT_Power,9999);

end

function test1()

local count=World_GetPlayerCount()

g_Player1=World_GetPlayerAt(0);

if count>1 then

g_Player2=World_GetPlayerAt(1);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player2,0);

end

if count>2 then

g_Player3=World_GetPlayerAt(2);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player3,0);

end

if count>3 then

g_Player4=World_GetPlayerAt(3);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player4,0);

end

if count>4 then

g_Player5=World_GetPlayerAt(4);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player5,0);

end

if count>5 then

g_Player6=World_GetPlayerAt(5);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player6,0);

end

if count>6 then

g_Player7=World_GetPlayerAt(6);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player7,0);

end

if count>7 then

g_Player8=World_GetPlayerAt(7);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player8,0);

end

Player_SetResource(g_Player2,RT_Requisition,9999);

Player_SetResource(g_Player2,RT_Power,9999);

end

function test2()

local count=World_GetPlayerCount()

g_Player1=World_GetPlayerAt(0);

if count>1 then

g_Player2=World_GetPlayerAt(1);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player2,0);

end

if count>2 then

g_Player3=World_GetPlayerAt(2);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player3,0);

end

if count>3 then

g_Player4=World_GetPlayerAt(3);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player4,0);

end

if count>4 then

g_Player5=World_GetPlayerAt(4);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player5,0);

end

if count>5 then

g_Player6=World_GetPlayerAt(5);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player6,0);

end

if count>6 then

g_Player7=World_GetPlayerAt(6);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player7,0);

end

if count>7 then

g_Player8=World_GetPlayerAt(7);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player8,0);

end

Player_SetResource(g_Player3,RT_Requisition,9999);

Player_SetResource(g_Player3,RT_Power,9999);

end

function test3()

local count=World_GetPlayerCount()

g_Player1=World_GetPlayerAt(0);

if count>1 then

g_Player2=World_GetPlayerAt(1);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player2,0);

end

if count>2 then

g_Player3=World_GetPlayerAt(2);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player3,0);

end

if count>3 then

g_Player4=World_GetPlayerAt(3);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player4,0);

end

if count>4 then

g_Player5=World_GetPlayerAt(4);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player5,0);

end

if count>5 then

g_Player6=World_GetPlayerAt(5);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player6,0);

end

if count>6 then

g_Player7=World_GetPlayerAt(6);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player7,0);

end

if count>7 then

g_Player8=World_GetPlayerAt(7);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player8,0);

end

Player_SetResource(g_Player4,RT_Requisition,9999);

Player_SetResource(g_Player4,RT_Power,9999);

end

function test4()

local count=World_GetPlayerCount()

g_Player1=World_GetPlayerAt(0);

if count>1 then

g_Player2=World_GetPlayerAt(1);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player2,0);

end

if count>2 then

g_Player3=World_GetPlayerAt(2);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player3,0);

end

if count>3 then

g_Player4=World_GetPlayerAt(3);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player4,0);

end

if count>4 then

g_Player5=World_GetPlayerAt(4);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player5,0);

end

if count>5 then

g_Player6=World_GetPlayerAt(5);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player6,0);

end

if count>6 then

g_Player7=World_GetPlayerAt(6);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player7,0);

end

if count>7 then

g_Player8=World_GetPlayerAt(7);

World_EnablePlayerToPlayerFOW(g_Player1,g_Player8,0);

end

Player_SetResource(g_Player5,RT_Requisition,9999);

Player_SetResource(g_Player5,RT_Power,9999);

Player_SetResource(g_Player6,RT_Requisition,9999);

Player_SetResource(g_Player6,RT_Power,9999);

Player_SetResource(g_Player7,RT_Requisition,9999);

Player_SetResource(g_Player7,RT_Power,9999);

Player_SetResource(g_Player8,RT_Requisition,9999);

Player_SetResource(g_Player8,RT_Power,9999);

end

Спасибо за конфиг. Скачал и поставил 1.53. Все работает прекрасно, без всяких вылетов. На настоящий момент я уже скопировал в 1.53 и проверил в игре на вылеты файлы (ИИ, текстуры и модели, код) из 1.53.2 для ИГ и КД - игра стабильна при игре против любой расы. Теряюсь в догадках... <_<

Ссылка на комментарий
Поделиться на другие сайты

GrOrc

Тогда ИИ может быть виноват только если в ИИ скриптах есть специальные алгоритмы поведения при игре с определенным союзником. Т.е. например, конкретно КД с ИГ, или КД с Тау (чего я лично не замечал), потому что вылетов 1 на 1 вроде не было. Если я не ошибаюсь проблема в 2 на 2 и больше (можно было еще попробовать 1 на 2).

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

Спасибо за конфиг. Скачал и поставил 1.53. Все работает прекрасно, без всяких вылетов. На настоящий момент я уже скопировал в 1.53 и проверил в игре на вылеты файлы (ИИ, текстуры и модели, код) из 1.53.2 для ИГ и КД - игра стабильна при игре против любой расы. Теряюсь в догадках...

O_o

Хех, ладно, хорошо, что хорошо закончилось, а то я бы все равно стоял на своем =)

Изменено пользователем UnknownLOL
Ссылка на комментарий
Поделиться на другие сайты

O_o

Хех, ладно, хорошо, что хорошо закончилось, а то я бы все равно стоял на своем =)

Плюсуем к списку стабильных рас Хаос. Пока еще не закончилось. Тем более, что это не нормальное решение проблемы - причина вылета пока не понятна все равно, а если ее не найти, то где гарантии, что я ее случайно не повторю снова. <_<

Изменено пользователем megazogg
Ссылка на комментарий
Поделиться на другие сайты

Так, я нашел причину вылетов... Как бы это не казалось маловероятным, но причина вылетов кроется в музыкальном моде. Удалите папку data\sound\music из мода и playlist файл и все станет в порядке. Жаль конечно, мне музыка из ДОВ2 нравилась гораздо больше чем из ДОВ1, но видимо я когда кодировал ее под стандарт ДОВ1, что-то не правильно сделал.

Ах да, и специально для ГрОрка... :image045: А то развел тут панимаш, разговоры про ядра и прочее. А все в итоге оказалось намного экзотичнее! :image040: Но зато в процессе было выполнено куча нужной оптимизации и меня посетило вдохновение о том, как можно нарисовать знамя ИГ и как именно его сделать окрашиваемым, так что завтро пожалуй попробую, а то посмотрел я на текстуру знамени от Баззззза... Ох. :oops:

Изменено пользователем megazogg
Ссылка на комментарий
Поделиться на другие сайты

Так может в самом файле плэй-листа ошибка где-нибудь?

Ты когда выкладывал музыку из ДоВ II я себе сразу ее поставил, все работает. Треки только тише чем остальные (заметно тише, раза в 1.5).

P.S. Версия GrOrc'а, имо, самая логичная, мы когда у Темпларов сталкивались с вылетами в систему - проблемы находили именно в ИИ.

Изменено пользователем Skinnie
Ссылка на комментарий
Поделиться на другие сайты

Так, я нашел причину вылетов... Как бы это не казалось маловероятным, но причина вылетов кроется в музыкальном моде. Удалите папку data\sound\music из мода и playlist файл и все станет в порядке. Жаль конечно, мне музыка из ДОВ2 нравилась гораздо больше чем из ДОВ1, но видимо я когда кодировал ее под стандарт ДОВ1, что-то не правильно сделал.

Ах да, и специально для ГрОрка... :image045: А то развел тут панимаш, разговоры про ядра и прочее. А все в итоге оказалось намного экзотичнее! :image040: Но зато в процессе было выполнено куча нужной оптимизации и меня посетило вдохновение о том, как можно нарисовать знамя ИГ и как именно его сделать окрашиваемым, так что завтро пожалуй попробую, а то посмотрел я на текстуру знамени от Баззззза... Ох. :oops:

Собственно "разговоры про ядра и прочее" я завел только для того, чтобы морально вас поддержать и направить на путь истинный. ;) А то ваши мысли тогда уже зашли в совсем гиблое русло, и вы пали духом. Начали винить игру в грехах, которые она не имеет. ;) Проблема, как я и говорил, не в ресурсах компа, а в некорректном моддинге. Тебе просто повезло, что это в данном случае оказался не AI. ;) Но суть то все та же. Если что-то некорректное ядру DoW-а совать, то оно будет капризничать и не кушать это. Так что "разговоры про ядра и прочее" оказались весьма к месту. ;)

Ссылка на комментарий
Поделиться на другие сайты

Так может в самом файле плэй-листа ошибка где-нибудь?

Ты когда выкладывал музыку из ДоВ II я себе сразу ее поставил, все работает. Треки только тише чем остальные (заметно тише, раза в 1.5).

P.S. Версия GrOrc'а, имо, самая логичная, мы когда у Темпларов сталкивались с вылетами в систему - проблемы находили именно в ИИ.

Не знаю, это все равно по отдельности не проверишь - без плейлиста музыка не будет работать, а без музыки не будет работать плейлист. Да и что можно было напутать в плейлисте?

"Тырк"
playlist =

{

tracks =

{

"ch_race",

"credits_music",

"el_theme",

"endtheme",

"hulk_song_1",

"hulk_song_2",

"hulk_song_3",

"hulk_song_4",

"or_theme",

"sm_theme",

"space_hulk",

"ty_theme",

"world_chaos_a",

"world_chaos_b",

"world_chaos_c",

"world_chaos_d",

"world_chaos_e",

"world_e_v2_ork",

"world_h_v2_ork",

"world_j_v2_el",

"world_k_v2_tyr",

"worlda_sm",

"worldb_tyr",

"worldc_sm",

"worldd_ork",

"worldf_sm",

"worldgnew_ty",

"worldi_el",

"worldl_el",

},

silence_min = 5.0,

silence_max = 10.0,

order = false,

}

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

[ Добавлено спустя 5 минут 54 секунды ]

Собственно "разговоры про ядра и прочее" я завел только для того, чтобы морально вас поддержать и направить на путь истинный. ;) А то ваши мысли тогда уже зашли в совсем гиблое русло, и вы пали духом. Начали винить игру в грехах, которые она не имеет. ;) Проблема, как я и говорил, не в ресурсах компа, а в некорректном моддинге. Тебе просто повезло, что это в данном случае оказался не AI. ;) Но суть то все та же. Если что-то некорректное ядру DoW-а совать, то оно будет капризничать и не кушать это. Так что "разговоры про ядра и прочее" оказались весьма к месту. ;)

Да я все понимаю, не боись. Хотя имо лучше бы проблема была именно в коде ИИ, ее бы я все таки быстрее нашел и она более ожидаема. Просто мне повезло, что как человек постоянно сталкивающийся со сгорающими компами из-за скачков напряжения, я привык мыслить нестандартно =) У меня когда прошлый комп начал зависать каждые 5-30 минут, по всем признакам тоже было похоже на погоревшую видюху или в крайнем случае на проц, а в итоге оказалось что сгорел северный мост.

Ссылка на комментарий
Поделиться на другие сайты

Так, я нашел причину вылетов... Как бы это не казалось маловероятным, но причина вылетов кроется в музыкальном моде. Удалите папку data\sound\music из мода и playlist файл и все станет в порядке. Жаль конечно, мне музыка из ДОВ2 нравилась гораздо больше чем из ДОВ1, но видимо я когда кодировал ее под стандарт ДОВ1, что-то не правильно сделал.

Кстати, а проблема точно исчезла? Насколько хорошо ты в этом убедился? Сколько было игровых тестов? ;)

Revised 1.53

Folders 1257

Files 10327

Size 1,78 Gb

Но нет худа без добра, я сейчас порезал всякие ненужные файлы (код, модели, текстуры), м сжал мод до таких размеров:

Folders: 1,175

Files: 8,561

Size: 2,24 Gb :P

Хе-хе. Интересный подход к удалению файлов. Первый раз в жизни вижу человека, у которого после удаления файлов размер вырос на полгига. ;) Слово "сжал" надо понимать со знаком минус? ;)

Изменено пользователем GrOrc
Ссылка на комментарий
Поделиться на другие сайты

Кстати, а проблема точно исчезла? Насколько хорошо ты в этом убедился? Сколько было игровых тестов? ;)

Десять вчера, все игроки - ИИ, во всех комбинациях, какие я смог придумать, на 2-х стандартных картах (Cape of Despair (4p) и Не помню как называется, про столицу из кампании СС что-то (8)). Сегодня буду еще тестировать потому что пока пытался разбираться в чем причина, слегка запорол ИИ ИГ, он при выборе тактики для отрядов (я там закоментил кое что, но судя по всему не до конца) фризится.

Хе-хе. Интересный подход к удалению файлов. Первый раз в жизни вижу человека, у которого после удаления файлов размер вырос на полгига. ;) Слово "сжал" надо понимать со знаком минус? ;)

Это с музыкой вместе размер. Без нее папка сейчас весит 1.44 Гб.

Кстати, как только разберусь с ИИ ИГ, грянет очередной полновесный релиз 1.54 мода. После всей этой эпопеи с вылетами я решил, что мод заслуживает нового порядкового номера (вместо 1.53.2) и полного релиза, т.к. существенно переработалась его файловая структура. Изменения будут следующие:

Версия 1.54

- Всем видам огнеметов, а так же Chem Cannon'у включен модификатор start_from_caster, что позволяет исправить застарелый баг движка, когда повреждения от огнеметов (или любого другого оружия с моделью стрельбы конусом) начинали обсчитываться не от стреляющего оружия и дальше, а от цели.

- Изменена дальность стрельбы всех тяжелых огнеметов с 15 ед. до 25 ед.

- Исправлена проблема с вылетами игры при игре против 2 и более ИИ оппонентов. Проблема заключалась в неправильно портированной музыке из ДоВ2.

- Угол конуса тяжелых огнеметов у Хаоса, Элдар, ИГ и частично у КД приведен в соответствие с остальными расами и теперь составляет 40 градусов.

- Изменена горячая клавиша для Call for Extraction с "T" на "Y".

- Увеличен урон бомб способности Call in an Air Strike!, радиус поражения снижен с 6 до 4, изменена таблица пенетрации брони для нее.

- Изменен текст описания Special Weapons Squad.

- Изменено описание Command Squad КД, исключены ссылки на Апотекария, уточнен текст.

- Изменена цена отряда Dire Avenger с 130 req. до 200 req.

- Пенетрация Chem Cannon (Banewolf) всех типов брони снижена на 10 единиц.

- Исправлены неправильно указаные имена отрядов HWT в guardbuildbasestrategy.ai

- Исправлена ошибка, приводившая к вылету игры при игре против Элдар на картах с 2 или более компьютерными оппонентами.

- Исключен War Walker Элдар в виду своей общей убогости как вида так и анимации. Подождем когда в ФОК появится своя, нормальная модель.

- Command Squad КД перенесен на Т1, пехотный кап увеличен с 2 до 3 ед.

- Дальность действия Hunter-Killer Missile у Dreadnought и Chimera снижена с 1000 до 100 ед.

- Увеличено время перезарядки Call in an Air Strike! со 120 до 180 сек., растояние вызова снижено с 50 до 40.

- Изменены условия покупки специального (Sniper Rifle и Shotgun) и тяжелого (Heavy Bolter и Missile Launcher) оружия для отрядов Scouts - теперь им для этого сначала нужно купить исследование Special and Heavy Weapons Training (бывшее Sniper Training), наличие Armory не требуется.

- Исключен Chapter Master КД и его Honor Guard, модель Captain КД заменена на модель Chapter Master.

- Изменена пенетрация брони бомб абилки Call in an Air Strike! увеличена с 0 до 100.

- Исключены исследования Veteran Infiltration Research и Tank Hunters Research для ветеранов КД - оказывается в 5-ой редакции кодекса их больше нет. Из текстов описаний этих отрядов исключены строки с соответствующими отсылками на эти исследования.

- Добавлен Standard Bearer в Command Squad ИГ.

- Количество единиц в отряде Wraithguard изменено с 3-6 до 1-3. Увеличена скорость передвижения с 10 до 16, убран "сержант" Warlock.

Изменено пользователем megazogg
Ссылка на комментарий
Поделиться на другие сайты

- Исключен Chapter Master КД и его Honor Guard, модель Captain КД заменена на модель Chapter Master.

Орбитальный удар,тогда будет снова у капитана? если я не путаю,он было только у чаптера...

Ссылка на комментарий
Поделиться на другие сайты

У меня тут возник наверное боянистый вопрос: при грейдах на силовое оружие, а потом на кулаки у сержантов простых тсм модель пиломеча не заменяется на силовой меч\кулак. Посмотрев файлы я понял, что именно проблема в моделях, а не в апгрейде, он вроде-бы всё должен грейдить нормально.

Да, это ошибка в модели сержанта. Просто в ФОК с 2008 года, аккурат перед тем как ушел Медес, он заменил "стандартные" модели сержантов на модели сержантов-ветеранов, т.е. с шлемами другго цвета, тряпкой и другим варгиаром (комбиоружие и т.п.), что не правильно. Поэтому я использую старую версию.

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

Или такие проблемы только у меня?

Пиломеч поправил, в игре правда еще не проверял, но все должно работать.

- Исключен Chapter Master КД и его Honor Guard, модель Captain КД заменена на модель Chapter Master.

Орбитальный удар,тогда будет снова у капитана? если я не путаю,он было только у чаптера...

Абсолютно верно, все так и есть.

Wraithguard'ы я так полагаю теперь будут аналогом облитов?

Не совсем. Это скорее мини-Wraithlord'ы. Я все еще не решил, как увеличить их живучесть - возможно поставлю им демонический тип брони вместо тяж. пехоты.

Изменено пользователем megazogg
Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти

×
×
  • Создать...