Mini mod - Long Battle - Игры от Unicorn Games - TWoW.Games - Сообщество любителей умных игр Перейти к содержанию
TWoW.Games - Сообщество любителей умных игр

Mini mod - Long Battle


NIKO

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

Вот сподобился , увеличил длительность битв так же как и Медивале 2 , тоесь увеличил всем хиты :D Пока всем в одинаковой пропорции, но могу и поменять , давайте предложения , можно сделать генерала поживучей или конницу или ополченцев , короче предлагайте ;)

 

Протестил в кастоме , для ориентира в кастоме 2 отряда сержантов бились ок 6 мин ( для прикола поставил в 50 раз больше , через пять мин был 1 ( ОДИН ! ) убитый :lol: )

 

Значит ставить так:

 

Скачать распаковщик из темы про моддинг, распокавать по тутору.

 

Скачать мод - http://www.rapidshare.ru/447727

 

Распоковать затем скопировать папку data в папку с игрой ( Внимание ! при распаковке может образоватся еще одна папка data , т.е ее нужно открыит и если там тоже папка data, то вторую папку data и нужно копировать :bangin: )

 

Удалить файл data.000.pak ( или перенести)

 

 

Пока что не удалось внедрить мод в компанию , работает только в кастоме , видимо надо что то доп ковырять ( или компания зашита в ядро ) завтра попробую разобратся ;)

 

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

 

ВНИМАНИЕ !!! РЕКОМЕНДУЕТСЯ ПОСЛЕ ПРОХОЖДЕНИЯ ИГРЫ В ОРИГИНАЛЕ !!! ибо играть сложнее, с учетом того что у противника всегда (почти) численный перевес !

 

Вот английская компания , для установки сделать как я писал выше - распоковать игру, далее кликнуть на файле с модом и указать директор игры, распаковать(заменить), ИГРАТЬ !

 

линк ( 3,5 Мб ) http://www.rapidshare.ru/447941

 

Сильно не стал хиты поднимать, ибо ето скажтся на геймплее отрицательно. Сражения длятся дольше , но не критически для сути игры , хотя некотор моменты мне так больше понравились , например кава вся не дохнет от наезда на "ежик" , а очень так долго рубится( кто после наскока выжил ;) ) , а то страсть к суицидальным атакам напрегает ;) Сражения кавы между собой тоже стало более епическим , видно как она гоняется ддруг за другом по полю битвы :) видно как мечами машут, долго рубятся ;) Мечники тоже долго мечами махают , в Линкольне один отряд рынделей сдерживал натиск войск противника превосх его в 4 раза в узких воротах более 15 мин ! правда ему еще 2 отряда арбов помогали ;) но ето все равно довольно долго ;). Значение лучников не утрачено ! Они еффективны , но восновном с близкой дистанции . Вобщем поиграйте и отпишитесь.

Изменено пользователем pavlik
Ссылка на комментарий

2NIKO

Так: правильный порядок установки:

файлы мода никуо скопировать в папку дата...

 

Дата.пак не распаковывать и не удалять

 

Второй вариант: создать из файлов мода файл дата_001.пак

B)

Ссылка на комментарий

2NIKO

Только что скачал мод - он не полон...

 

1. Расчёт усталости нужно доделать

2. Повреждения от луков

3. Доделать монголов...

Ссылка на комментарий

2Maxim Suvorov

Так: правильный порядок установки:

 

Незнаю, но может быть ;) Я в отличие от тебя такой инфой не владею , так что не предирайся ;) Я вобще вчера в час ночи редактор впервый раз открыл :bleh: ( Учтите я так как пишет Максим не тестил , гарантию по такой установке не даю :) )

 

2Maxim Suvorov

Только что скачал мод - он не полон...

1. Расчёт усталости нужно доделать

2. Повреждения от луков

3. Доделать монголов...

 

Слишком поспешное утверждение :) конечно не полон, много что хотелось бы сделать :lol: ( но не за час знакомства с редактором :D )

 

1. Усталость нормальная: дольше дерутся - больше устают.

2. А чем не устроило ? У меня на бегу отряд мечников(60) 2 отряда лучников(250*2) покрошили, они и подбежать не успели !

3. Все сделано, не мути воду ;)

Ссылка на комментарий

2NIKO

3. Доделать монголов...

Эт мои уже недоработки ))

Зафтыкал - монголы используют одну стейт машину для всех.

Ссылка на комментарий

Как раз вчера сам сваял аналогичный мини-мод. Увеличил всем ХП поровну в пять раз, соответственно увеличил убойную силу стрелы и уменьшил усталость в рукопашке.

 

В кастоме тестил на двух усиленных отрядах пеших рыцарей. Рубятся до победы около 15 минут. Длительность индивидуального поединка сильно варьируется, но по субьективному ощущению как раз то, что надо. Теперь действительно верится, что это сражаются закованные в железо профессионалы, дожившие до своих лет только за счет умения парировать и расчетливо наносить удары.

 

Потом провел несколько мини-сражений с комбинациями разных родов войск. И действительно, это стала совсем другая игра! Видишь настоящую средневековую сечу, а не фантасмагорическую свалку джедаев-недоучек, которым выдали лайтсэйбры, но не научили парировать чужие удары... Здесь еще много работы, например, бездоспешные ополченцы должны гибнуть все же быстрее, чем оказывается при пропорциональном увеличении ХП, и т.п. Но общее впечатление от игры радикально улучшилось - смело бы поставил "девятку", но пока достаточно сильно раздражает один момент - патологическая пассивность солдат, не связанных в данный момент боем. Если строй нарушается и битва превращается в набор индивидуальных поединков, воины могут тупо стоять в метре от неприкрытого и незагороженного противника, если он не на напрвлении атаки их отряда. Это можно как-нибуть поправить? Наверняка, существует некая "зона агрессивности", радиус которой можно увеличить...

Ссылка на комментарий

2Peregrinus и 2NIKO

 

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

 

Это можно как-нибуть поправить? Наверняка, существует некая "зона агрессивности", радиус которой можно увеличить...

 

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

west.europe.groups.aix, там есть переменные количества юнитов достигших своих точек, количество юнитов в ожидании, которые застряли в пробке и общее количество юнитов в отряде.

var UnitFightCount : Integer = GetIntValueByIndex(100); // Количество юнитов в отряде в текущий момент времени находящихся в рукопашной схватке

var UnitFightWaitCount : Integer = GetIntValueByIndex(101); // Количество юнитов в отряде в текущий момент времени находящихся в ожидании в бою, заколлайденные с своими юнитами в бою

var grCount : Integer = GetGroupCountGameObjectsByHandle(grHandle);

 

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

 

Для того, чтоб увеличить физический стык юнитов в бою, нужно либо их в properties файлах установить customboundingsphere другой, либо в инициализации юнитов в стейте Initial юнита запустить функцию установки его. SetGameObjectMyCollisionRadius(r : Float);

Ссылка на комментарий

Пока что не удалось внедрить мод в компанию , работает только в кастоме , видимо надо что то доп ковырять ( или компания зашита в ядро ) завтра попробую разобратся wink.gif

 

характеристики юнитов записанны в map файлах.

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

посмотри скрипт \scritps\editor.aix в нем много подобных скриптов делали раньше и они там висят,

Через debug окошко можна попасть в стейт машину для редактора. Как раз с помощью этой стейт машины все подобные вопросы и решали.

Ссылка на комментарий

2Unicorn

 

Спасибо за информацию. Буду разбираться дальше.

 

И сразу такой вопрос: если я увеличу customboundingsphere, то не получится ли так, что в сватке юниты будут махать оружием на расстоянии нескольких метров друг от друга?

Ссылка на комментарий

2Peregrinus

Ну здраствуй конкурент ;) добро пожаловать на ТВОВ ! :)

 

2unicorn

Спасибо ;)

И за инфу спасибо , учтем ;)

 

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

( Peregrinus, чето мы с тобой в одном напр думаем ;) )

 

вот видео сделал ;) (3мб)

http://www.rapidshare.ru/448916

 

Мой скрипт пока оч сырой , я еще можно сказать не начал разбиратся , пока даже не знаю как через редактор битвы играть , приходится через кажд 3-4 минуты после исправлен скрипта по пол часа игру запускать ;) . Завтра начну разбиратся поглубже . Пока могу только сказать, что движок ВНУШАЕТ ! ;) там много чего можно натворить :) Я седня всякие експеременты делал, смотрел как да че , делал пехоту она при беге сбивает противника с ног :) потом сделал сверх агресивн аи , он атакует все что шевелится . Кстати иногда пасивн АИ происходит из за того, что в игре есть для него зона видимости, т.о он на некотор большом расстоянии "не видит" ваши юниты . Если ето убрать, он будет просто монстром :) Я думаю если бы авторы ввели огр по видимости для игрока( туман войны ) , появился бы новые фишки на такт карте - засады , и соотв разведка была бы необходима ;) Конечно для текущ соотн сил ето будет фатально для игрока :) Но на будущее думаю можно чето такое замутить ;)

Изменено пользователем NIKO
Ссылка на комментарий

Пару рекомендаций.

Распаковывайте data.000.pak в отдельную папку.

Не накрывайте текущую папку data.

Ибо вы перекроете те фиксы в data, которые внесены.

Если такое уже сделали, то проинстальте игру заново, распакуйте data.000.pak себе отдельно в другую папку и в папку data вносите файлы поправки только с тем же путем как он заложен в data.000.pak был.

Движок ищет файлы по приоритету в папке data, если не находит, то смотрит в pak файлы по приоритету сортировки.

Например : data\maps\menu.map приоритетнее чем в data.001.pak, а в пак файле data.001.pak файл data\maps\menu.map будет приоритетнее чем файл в паке data.000.pak.

Поэтому фиксы и мод варианты можна предоставлять файлами измененными с просьбой к юзеру (или через bat файл) закинуть их в папку data.

Не более. И не нужно распаковывать весь data.000.pak юзерам.

Время загрузки при таких раскладах будет значительно увеличин.

 

Редактировать и отлаживать скрипты удобнее в редакторе, более того он сам все вытаскивает из data.000.pak и если Вы сохраняете изменение, то оно и поступит само собой в папку data, а не в pak.

 

Отлаживать удобнее еще и тем, что не нужно перегружать движок, можна пользоваться debug и точками останова и всеми прелестями debug режимов.

 

Даю пример как удобно отлаживать collideRadius юнитов.

 

Сразу оговорюсь, подкиньте в корень где лежит editor.exe файл editor.ini.

 

Запускаем редактор.

После этого загружаем карту data\maps\menu.map

Нажимаем Ctrl+T (File=>Test Map).

Запускаем кастом батл на самой маленькой карте,

ставим себе отряд пеших рыцарей и для ИИ отряд пеших рыцарей, только ИИ включите в режим обороны, чтоб он сразу не рванулся в бой.

Запускаем батл. Вот уже в редакторе запущен кастом батл на два отряда. Снимаем с паузы.

Заходим в File=> и снимаем режим Test Map. (Ctrl+T).

 

Перемещение камерой используем правую кнопку мышки и перемещаем камеру.

 

Теперь стоит двум отрядам этим включить коллизию.

 

Можна либо выбрать юнитов отряда и правой кнопкой мышки попросить их отряд открыть (Select Group).

Либо зайти в Module=>Groups.

Выбираем по очереди Player и выбираем отряд и выбираем стейт отряду (по умолчанию там стоит Main) DoCollideOn и нажимаем на кнопку ">" (запустить).

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

 

Я написал к примеру скрипт для тестов радиуса коллизии.

 

Для того чтоб его применить стоит открыть debug окно.

Window => Show Debug.

Клик по окну Debug правой кнопкой мышки.

И выбираем StateMachine=>Edit.

Появится коно редактора стейт скриптов для редактора.

Создаем новый стейт.

Кнопка там такая есть :)

Добавится еще один state "New State".

Переименовываем его например в ScaleColRad.

Сейчас этот скрипт пустой.

 

Copy/Paste вот этот скрипт.

 

const scaleRad = 1.5;

var i, j, k : Integer;

 

for i := GetCountOfPlayers-1 downto 0 do

begin

var plHandle : Integer = GetPlayerHandleByIndex(i);

 

for j := CountGroupByHandle(plHandle)-1 downto 0 do

begin

var grHandle : Integer = GetGRHandleByPlayerHandleByIndex(plHandle, j);

 

for k := GetGroupCountGameObjectsByHandle(grHandle)-1 downto 0 do

begin

var goHandle : Integer = GetGroupGOHandleByGOIndexByHandle(grHandle, k);

SetGameObjectCollisionRadiusByHandle(goHandle, 0.15*scaleRad);

//SetGameObjectCollisionRadiusByHandle(goHandle, GetGameObjectCollisionRadiusByHandle(goHandle)*scaleRad);

// 0.3 - радиус для конницы по умолчанию

// 0.15 - радиус для пехоты

end;

end;

end;

 

Я прокоментил.

Нажимаем кнопку Compile All.

 

Скрипт готов.

 

Теперь его достаточно запустить и он пробежится по всем отрядам и их юнитам и изменит радиус коллайда.

 

Как протестить быстро ?

 

Не нужно даже запускать Test Map.

 

Можна выделить юнита отряда через Shift, появится список юнитов который был при выделении и выбрать одного из этого списка.

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

 

Меняйте в скрипте радиус и вытаскивайте юнитов на драку :)

 

После того, как найдете значения которые удовлетворяют.

Достаточно теперь прописать в скрипт юнитов в стейт Initial вконце функцию SetGameObjectCollisionRadiusByHandle(goHandle, <Ваше значение>);

 

Можна это не выходя из редактора сделать.

 

Module=>State Machine Collection и список всех aix файлов юнитов.

Открываем State Machine каждого, выбираем стейт Initial и вконце прописываем не хитрую функцию

SetGameObjectCollisionRadiusByHandle(goHandle, <Ваше значение>);

 

Compile All для проверки все ли ок.

И при закрытии можна согласиться на Save, это автоматом запишет вам в папку data\.... откоректированный файл aix.

Ссылка на комментарий

2NIKO

 

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

( Peregrinus, чето мы с тобой в одном напр думаем  )

 

Это просто здорово. Я пока еще в этом механизме не разбирался, это в каком файле и в каком месте смотреть?

 

С теми же, кто стоит в очереди, нужно тоже обязательно что-то делать.

 

Я вообще фанат игрушек такого типа, еще в 90-х делал нечто похожее сам. Естественно, в 2D. Каждый юнит обозначался одним пикселем... Так вот, даже мои боевые пиксели так не тупили. Попав в пробку, они рыпались влево-вправо, пытаясь освободиться. И если на заданной дистанции оказывался пиксель вражеского цвета, стремились к нему сами... после чего один из них приобретал цвет фона :angel:

 

А в остальном, повторюсь, игра класс. Если косяки поправить, будет просто супер.

 

 

2unicorn

 

Огромное спасибо за новую информацию. Множество вопросов снято.

Изменено пользователем Peregrinus
Ссылка на комментарий

Внимательно проанализировал ряд кастом битв. На уровне отрядов все отлично, но вот поведение юнитов иначе как абсурдным назвать сложно. Нелепые пробки и очереди, когда иногда десяток воинов выстраиваются в колонну по одному точно в затылок друг другу, проходы в тыл, игнорирование противника, до которого три шага, и т.д и т.п. Но в конце концов понял, в чем основная причина такого поведения юнитов. Оно на самом деле не абсурдное, а в высшей степени логичное. Просто мы наблюдаем драку слепцов... 8(

 

Поэтому вопросы такие:

 

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

 

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

 

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

Ссылка на комментарий

2Peregrinus

, но вот поведение юнитов иначе как абсурдным назвать сложно.

 

Ето пока тактика на уровне отрядов , но и на ур человеков все недостатки исправят , будь спокоен , будут и охваты и грамотная рубка ;)

Ссылка на комментарий

2Peregrinus

 

Бой слепцов - это оптимизация. И в TW он бой слепцов и в 13м Веке.

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

 

Но и в таком виде можно много чего доработать.

Я опишу пару рецептов и идей как стоит попробывать детально в скрипте потестить чуть позже.

 

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

Смотреть стейт юнита Collide.

Таким образом отряд есстественно будет растекаться по флангам расширия линию фронта и уменьшая глубину свою.

 

Времени мало сейчас на подробный саппорт.

Ссылка на комментарий

Чем больше вникаю в движок 13 века , тем больше восхищаюсь , возможности поистине не исчерпаемы ! :)

 

Вот пример как за 1 мин сделать отряд более разнообразным :)

 

Кто не понял , я рост сделал у юнитов разный :rolleyes:

 

i-223.jpg

i-224.jpg

Изменено пользователем NIKO
Ссылка на комментарий

2NIKO

Кто не понял , я рост сделал у юнитов разный 

Ракурс неудачный, сфоткай лучше не с перспетивы а с одной линии опустив камеру пониже к земле. А вообще идея суперская, помню Николай говорил что с самого начала они планировали делать юнитов разного роста и комплекций, но потом отказались от этой фишки потому что пузатые воины смотрелись смешно :D

Ссылка на комментарий

2NIKO

 

Можешь еще добавить им в скрипт использовать больше вариаций текстурок. Можешь кстате еще и размер головы масштабировать случайно :) И причем по разным осям. :) Допиши скрипт пробежки по чилдам и по имени BaseName находя helm слово, умножай вектора скела. :)

Только осторожно, могут еще те уроды получится. :)

Ссылка на комментарий

2unicorn

Можно и без скриптов ;)

 

2NIKO

Найди файл пропортей гоовы и там измени скейл B)

Ссылка на комментарий

2NIKO

Это уже интересно. Будет готовый мод, куплю игру.

 

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

 

Я не про кастом, я про кампанию

Ссылка на комментарий

2Period

Нужно будет переделывать карты...

 

ЗЫ: скоро будет готов мануал редактор+контент..

Ссылка на комментарий

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...

Важная информация

Политика конфиденциальности Политика конфиденциальности.