Завлекалочка:
Warband Expantion - рабочее название разрабатываемой модификации.
Сопсна, данный топик является воплощением моих фантазий о том, как можно было бы улучшить оргинальный Warband. И сопсна, я намерен улучшать его по мере желания (а не перебалансировать, перетекстурировать и тыды), в связи с чем приму в этом топике любую помощь и дельный совет. Особенно расчитываю на помощь квестописателей. Надеюсь, также, что мои задумки могут быть кому то интересны и могут быть реализованы в других модах. Данный пост является, своего рода, сформулированным техническим заданием на разработку.
Небольшое вступление. Бегло ознакомившись с чудотемкой "Идеи для модов", после фильтра предложений, аля "больше текстур", "новые текстуры", "хочу играть в звездные войны на этом движке", вывел для себя несколько пожеланий, реализация которых, на мой взгляд, возможна. Сразу говорю, мои пожелания практически никак прямо не связаны с текстурами и прочей ботвой, я хочу плотно поработать с модульной системой.
Хочу попросить читателей данной темы НЕ БОЯНИТЬ!! Где находятся руководства мододела я знаю, читать умею (и даже на английском!!11). Если хотите дать совет или добавить свои 5 копеек, пожалуйста, сформулируйте свою мысль на РУССКОМ языке. Давайте ссылки на конкретный текст с конкретной информацией, а не на сайт или разделы. В случае, если, на ваш взгляд, какой либо тезис нереализуем, прошу подробно пояснить, почему. Желающие помочь могут выкладывать свои идеи и предложения. Итак, основные задачи, подлежащие реализации:
1. Переработка интерфейса взаимодействия с НПС в отряде ГГ. Задалбывает клацать N-ое количество раз мышкой, чтобы раздать моим имба спутникам новый обвес. Хочется прикрутить в меню инвентаря НПС пару стрелочек, чтобы прокручивать инвентарь текущего НПС по списку тудасюда без перехода в текстовое меню. Тоже самое, кстати, относится к меню распределения очков умения при повышении уровня. С радостью приму советы о том, в какие файлы следует заглядывать.
2. Добавить глобальный квест. Мне представляется, что этот квест не должен как то сурово влиять на процесс завоевания страны, но должен вносить приятный вклад в этот замечательный процесс. На мой взгляд, поиск утраченных кальрадианских артефактов станут идеальной темой таких квестов. Кальрадианскими артефактами могут быть:
- знамена старой империи (дабавляют немного известности)
- кальрадианские библиотеки (несколько новых книг)
- кальрадианские сокровища (золото на первую красильню)
- кальрадианские склады, казармы, и места эпичных битв (оружие и доспехи, типа убитый латный доспех; что то вроде самурайского доспеха но находится по квесту)
С радостью приму в дар и постараюсь реализовать рассказы форумных писателей, которые могут лечь в основу квестов.
3. Добавить новые фракции. Новые фрации не должны напрямую влиять на политическую обстановку, то есть речь идет не о новых королевствах. Минорные фракции должны стать источником новых квестов, альтернативных рекрутов для ГГ, и вообще, наполнить мир движением и жизнью. Новыми фракциями будут:
- Разбойники. В принципе, нынешним бегающим бандам добавить пару отрядов с неубиваемыми главарями, с которыми можно корешиться, брать в союзники и через которых можно вербовать армию бандитов. Имеют преимущество при перемещении и повышенную скрытность/разведку (об этих фишкам смотрим ниже). Агрессивные и бросаются на все живое, что слабее их.
- Наемники - фракция наемных солдат. Можно сделать несколько отрядов с главарем, которого можно нанимать, и через которого можно вербовать разных наемников. Неагрессивные, но могут нападать на другие отряды.
- Вольные торговцы (большее количество торговых караванов, перевозят товары между городами). Сопсна, эта фракция должна создать дополнительную движуху на дорогах (см ниже) и чтобы корованов, которые можно грабить было больше. Основной лут с этих парней - голд, еда и товары. Плохо/средне защищены. Добавляют магазин в города. Неагрессивные.
- Авантюристы - свободные аналоги ГГ. На счет эти парней есть кое какие идеи (см ниже) но пока просто зарезервированная фракция.
- Ремесленники - корованы, закупающие товары в деревнях и производящие товары. Добавляют больше корованов, которые можно грабить, основной лут оружие и доспехи. Средне/хорошо защищены. Добавляют магазин в города. Неагрессивные.
Сопсна, новые фракции как альтернативный источник рекрутов нужны. Ибо если отыгрывать роль плохого парня, который грабит все живое, особенно деревни, то со сбором армии по ранее ограбленным деревням могут возникнуть проблемы. Должна быть альтернатива, в виде армии бандитов, наемников, и т.д. Предложения по новым веткам юнитов (кроме наемников, у них все ок), а также связанные с новыми фракциями квесты приветствуются. Можно обдумать идеи с противостоянием разных фракционных кланов, типа вольные торговцы против ремесленников и т.д.
4. Добавить в игру дороги. Как я заметил, дороги в игре вообще то есть, и ИИ при передвижении старается их придерживаться, но их назначение неясно. В общем, надо переделать глобальную карту, соединить дорогами населенные пункты, и сделать бонус к скорости при перемещении по дорогам. И вообще пересмотреть скорость передвижения по разным месностям, а также (при необходимости) объяснить ИИ что дороги - это хорошо, а бездорожье плохо. Сочетание различных типов местности с временем суток даст более широкий диапазон скорости передвижения отрядов. Тезисно, коэффициенты к скорости передвижения:
дорога - бонус к скорости
ровная местность - без изменений
лес - штраф к передвижению
горы - штраф к передвижению
темное время суток - большой штраф к передвижению
Максимальная скорость по дороге на ровной местности в темное время суток, минимальная ночью по бездорожью, в горах, покрытых лесом. Реализация дорог является шагом к приданию Warbandу некой новой стратегичности и важной вехой в создании нового элемента под названием "ЗАСАДА!!11". Как я много раз писал выше, приму совет на тему, какие файлы смотреть и править.
5. ЗАСАДЫ и грабить КОРОВАНЫ!!11 Как мне кажется, реализация достаточно проста. Необходимо пересмотреть механизм обнаружения одним отрядом другого. Вероятность (или дистанция) обнаружения отряда-цели должна зависеть от местности, времени суток (время суток и так реализовано, кстати), размера отряда-цели и отряда-наблюдателя, а также навыков следопыт/зоркость отряда-цели и отряда-наблюдателя. Крупный отряд имеет штраф на обнаружение мелкого, при прочих равных условиях. Крупный отряд игрока может видеть крупный отряд бандитов (или любой другой вражеский отряд), но не видеть мелкие отряды бандитов около крупного. Также, отряды должны иметь функцию "замаскироваться", при которой они не могут двигаться, но получают бонус к незаметности (или штраф к дистанции обнаружения отрядом-противником). В случае, если не удатся сделать функцию обнаружения вероятностной, можно попытаться решить задачу в лобовую, введя в функцию обнаружения дополнительные аргументы. Тезисно, факторы влияющие на обнаружение я бы изложил так:
- Крупный отряд имеет штраф на обнаружение мелкого.
- Лес и горы дают штраф на обнаружение расположенного или перемещающегося по ним отряда. Штраф может складываться, то есть обнаружить отряд в лесу в горах сложнее, чем просто в лесу или просто в горах.
- В режиме маскировка отряд труднее заметить, при этом он получает бонус на обнаружение вражеских отрядов, но не может двигаться.
- На обнаружение влияют навыки обоих отрядов.
- Отряд имеет модификатор на маскировку/обнаружение, в зависимости от своего качественного состава. Отряд новобранцев легко принять за крестьян (получает бонус на маскировку), отряду тяжеловооруженной кавалерии или пехоты трудно двигаться в тишине (получает штраф на маскировку).
Поскольку выше предполагается введение дорог, с правкой мозгов ИИ, потоки караванов должны быть локализованы в пределах дорог, а с новой механикой обнаружения становится возможным делать засады в полях, лесах и огородах. И не только на корованы. И не только игроку.
Сопсна, тут я вижу исключительно копание в модульной системе. Приветствуются намеки на то, какие файлы копать и править.
Название скрипта, который имеет отношение к изучению партией ГГ других партий #script_game_event_detect_party , #script_game_check_party_sees_party , #script_game_event_party_encounter
6. Переработать стратегическую ценность укрепленных пунктов, замков и городов. Точнее, придать им новую ценность, а именно, дать возможность замедлять перемещение вражеской армии в определенном радиусе. Радиус зоны влияния, назовем ее так, либо коэффициент торможения (в зависимости от того, что проще реализовать) связан с количеством и качеством расположенного в нем гарнизона. Соотвественно, грабить вражеские деревни, катаясь по полям как на внедорожнике, или захватывать слабозащищенные объекты в другой части королевства должно стать не так просто. Самый быстрый путь к деревне лежит по дороге, а на дорогах теперь стоят вражеские замки, которые сильно замедляют перемещения по вражеской территории и сигнализируют лордам государства о замеченных силах. Сделать сведения о численности гарнизонов недоступными для ГГ и других лордов, для того чтобы ценность кипа определялась его местоположением, и прилегающими территориями/дорогами. Наиболее интеллектуальная часть работы, на мой взгляд, поскольку надо будет серьезно поправить мозги ИИ чтобы он мог принимать адекватные стратегические решения и ходы.
Как обычно, советы и намеки приветствуются.
7. Немного поправить механизм осады замка. Осажденный замок не подразумевает свободный проезд в него крупных отрядов защитников. При осаде сопровождающая полководца армия лордов (других отрядов) должна занимать позиции вокруг замка. При появлении вблизи замка вражеских подкреплений, один из отрядов выдвигается на перехват. Перехват осуществляется в такой зоне, чтобы на помощь могли прийти другие осаждающие отряды. Перехватывающий отряд не должен отъезжать слишком далеко от основных сил, с тем чтобы исключить возможность истребления осаждающей армии по одиночке. Кроме того, необходимо скрыть точную численность и состав других отрядов от глаз ГГ, отображать информацию как крупный/средний/мелкий и сильный/слабый. Как я себе представляю, характеристику размера отряда и его силы можно привязать к (общей стоимости бойцов отряда) и (общая стоимость бойцов отряда)/(количество бойцов). Первый параметр отражает численность, второй силу.
Требуется помощь и идеи в разработке шкалы численности (мелкий/крупный) и силы отрядов (слабый/сильный).
Скрипт, который, похоже, отвечает за ИИ:
#script_npc_decision_checklist_party_ai
#script_npc_decision_checklist_troop_follow_or_not
...
Совет: при введении той или иной штуки в модульку, лучше компилить после каждого проделанного шага, сразу пачкой добавлять можно далеко не всё.
пасип, учту
А вот правка мозга для передвижения ИИ по карте - более сложная задача.. Я её так и не решил.
приветствую намеки на то, какие файлы смотреть. также, посетила идея, что было бы неплхо разобрать файл со скриптами и сделать описание на каждый скрипт. да и вообще на все файлы модульки.
Кроме того, создание локаций это тоже довольно трудоёмкая задача, лучше иметь умелого сценодела и человека, который сцену правильно и точно опишет в модульке (прикрутит меню и прочее) в одном лице - станет гораздо проще - он сцены сразу и встроит в модуль. Кроме того, нужен хороший модульщик, или по крайней мере перспективный: возможности модульной системы этой игры весьма и весьма широки, но немногие в них разбираются или могут быстро разобраться...
модульку я беру на себя, делать какой то большое количество новых сцен не буду. стараюсь ставить себе посильные задачи, реализация которых позволит приобрести нужный опыт. мне больше помогут идеи для новых квестов.
...По поводу начального квеста с морскими разбойниками и вегирским отрядом - смотрится несуразно, что ГГ как-то оказался на корабле,...
нет-нет, герой не начинает на корабле. он начинает в городе за пределами кальрадии, в порту, где стоят готовые к отплытию корабли морских разбойников. с ним начинает разговаривать капитан одного из кораблей, в процессе беседы задавая вопросы о его прошлой жизни. выбора участвовать или отказаться у игрока не будет, по сюжету он соглашается. смысл всего квеста улучшить процесс формирования героя на манер беседки (морровинд, обливион, фаллаут). после этого начинается плавание к Кальрадии. поскольку оно занимает несколько дней, герой может потренироваться с морскими разбойниками. в оригинальной игре тренировочные бои вынесены в отдельный пункт главного меню, я бы хотел вставить обучение в общий сюжет.
...В любом случае, необходимо сделать так, чтобы у ГГ был конь. Например, ему за помощь (и общую офигенность) в благодарность сирейдеры дарят :)...
мне бы хотелось сделать так, чтобы ГГ после поражения морских разбойников поступил на службу в армию одного из лордов. конь это очень мощный чит, на нем можно сразу взять несколько уровней в первые же минуты игры почти не напрягаясь, так что если удасться придумать интересную серию квестов о службе в армии, конь будет одной из наград за участие в этих квестах.