Голосование

Как вы оцениваете Смуту?












Оформление



Пользователей
  • Всего: 28882
  • Последний: Gewa95
Сейчас на форуме
Пользователи: 3
Гостей: 668
Всего: 671

Просмотр сообщений

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


Темы - Oltopeteeh

Страницы: [1]
1
В ходе тестирования разных моделей урона для стрелкового оружия, мое внимание привлекло явное несоответствие тиров, заявленного разработчиками с тем результатом, который игра получает через формулу.

            return num * ((float)thrustDamage * 0.2f + (float)thrustSpeed * 0.02f + (float)accuracy * 0.02f) - 11f;
"Вес" (значимость) урона - 0,2 за ед.
"Вес" аккуратности и скорости натяжения - 0,02 за ед.

После всех суммирований вычитается цифра 11 (своего рода базовая сумма значений).
Никаких возведений в степень, с процентовкой, как в формуле оружия ближнего боя, у луков, самострелов и мушкетов нет, только множитель (х1 луки, х0.7 для арбалетов).

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

А параметр скорости оружия вообще игнорируется (и не показывается игроку в интерфейсе просмотра), хотя скорость, как ей и полагается, присутствует в параметрах стрелкового оружия.

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

___

Тир 1 (тренировочный лук).
По формуле это даже не нулевой, как показывается в интерфейсе, а вообще "минус первый тир". Дальше падать просто не куда - отсечка clamp в формуле не даст.

Оригинальные значения
              thrust_speed="92"
              speed_rating="87"
              missile_speed="84"
              weapon_length="106"
              accuracy="99"
              thrust_damage="30"

Урон 30, аккуратность 99, скорость натяжения 87, рейтинг скорости - игнор, скорость полета стрелы - малозначимый параметр (уклониться от неё все равно затруднительно, но если кому-то очень надо (как мне) узнать границы, взвешенное значение равно урону + 20, т.е. от 60 до 90). Длина лука, по сути, ни на что особо не влияет и её можно спокойно игнорировать. В отличие от длины оружия ближнего боя, где это очень даже значимый параметр (как и рейтинг скорости).

Сбалансированные значения, точно соответствующие 1 тиру:
-- "урон 40, аккуратность и натяг по 100", или "урон 41, акк и натяг 95".

___

Для сравнения, самый сильный (он же "благородный") лук, который считается 5 тиром (не шестым, что слегка удивительно).

noble_bow
              thrust_speed="115"
              speed_rating="94"
              missile_speed="90"
              weapon_length="116"
              accuracy="100"
              thrust_damage="80"

noble_long_bow
              thrust_speed="90"
              speed_rating="91"
              missile_speed="85"
              weapon_length="118"
              accuracy="98"
              thrust_damage="95"

Кстати, знаете какой тир, согласно формуле, у длинного благородного лука? 6? Неа! 11,76(!).
Noble_long_bow - это 11 тир, близкий к 12 (если ставить цифры по-честному, не меняя исходную формулу :) ).
Если бы не отсечка (тем самым clamp), который не дает получить ("вернуть") цифру выше, чем 7.5, то цена благородного лука оказалась бы воистину астрономической. Как город-другой, с деревеньками, купленные с потрохами... Что вполне соответствует реальности мрачного средневековья и капитализма - что не продается, то покупается =)

Сбалансированные значения, для 7 тира (почти максимального, из-за отсечки): урон 70, акк и натяг 100.

То есть, мы получаем довольно логичную последовательность.
1 тир (тренировочный лук) = 40.
2 тир (базовый для войск) = 45, соответствует трём нынешним коротким лукам - "охотник, горняк, степняк".
3 тир (улучшенный) = 50, соответствует "луку стургов" с 52 урона.
4 тир (продвинутый лук из 3 тира, назначенного разработчиками) = 55, соотв. "комбинированному луку" с уроном 56, явно другой модели, которая лишь по недоразумению считается 3 тиром. Как и следующий вариант.
5 тир (особый) = 60, соотв. 62, степной комбинированный и тяжелый степной.
6 тир (вершина эволюции простых юнитов) = 65, соотв. степной военный лук, 66 урн.
7 тир (абсолют) = 70 (благородный лук, отсутствует у юнитов как класс, даже у 7 тира элиты, только лорды и герои могут владеть этим сокровищем).

Значения урона 80 и особенно 95... пока максимальный тир 7,5 (из-за отсечки) и с текущей формулой... думаю, понятно что с ними надо сделать, да? Благо поправить их можно. Если поставить мод "До" Сандбокса, а не "После", как привыкли делать простые модолелы. Соотв. требование для такого мода - только "натив" :)

2

Содержание



Сделано: (29 июля 2021)
- Известность, Влияние: покупка, обмен (в т.ч. друг на друга);
- Опыт: тренировка в навыках за деньги;
- Еда: покупка и пожертвование пищи городам (замкам);
- Кони: покупка: вьючные, обычные, боевые (теперь повышение конницы зависит, в основном, не только от бестолковой беготни за лошадьми, а ещё и от толщины кошелька :));
- Найм, улучшение крестьян, рекрутов, элиты (с тратой влияния на найм/апгрейд; "ап" лутер в ватчмена, без "дисциплины" и правки самого лутера, через меню);
- Для кузницы: покупка, обмен (крафт, включая массовый refine, с минимумом кликов, через меню; мена угля на сырое железо; переплавка без угля и побочного продукта; меню-крафт без траты стамины);
- Крафт брони (перчатки).


(работа продолжается)


___
Проверка своих сил на более серьёзном моде, нежели простые таблицы.
Относительно успешная, потому и хочу поделиться опытом.

"SmithForever" стал тестовым полигоном, на котором я научился-таки перекомпилировать исходники с "гитхаба", с помощью "Микрософт Визуал Студио".
Это оказалось не так сложно, как казалось вначале, но муторно и не всегда очевидно.

Вроде создания/клонирования шаблона x64 вместо "any cpu", поскольку архитектура моего процессора (amd) не позволяет компилировать любые исходники, с нужной логикой, т.е. это нифига не "any cpu", только узнал я это в спец теме, посвященной ВизуалСтудио, а не подробному гайду про модинг Баннерлорда, как было в своё время с Варбандом.
Потому модульная система таких сложностей, как МБ2, у меня не вызвала, благодаря открытым и многочисленным урокам и исходникам (копипаста форевер! XD)


Основным местом приложения сил стал мод "MedicalDistrict", позволяющий лечить героя и компаньонов (тысяча монет за 100% хп у каждого именного персонажа).
Дополнительным бонусом шло выделение подкатегории своего "дистрикта" в городе, подсказка как вставлять иконку золота в меню и прочие мелочи.


Сначала я хотел всего лишь сократить минимальную стоимость лечения с косаря до сотни (благодаря опыту со SmithForever это удалось сделать).
Затем ("аппетит приходит во время еды") попробовал ввести в уравнение уровень героя, чтобы новичок платил меньше, а ветеран - больше (в частности, формула "100 + ур^ур" монет даёт дефолтную тысячу на 30 ур. = 100 + 30*30).

А потом... "Остапа понесло".
Частично помог мод "BannerlordHardmode".
https://github.com/aiis/BannerlordHardmode/blob/master/BannerlordHardmode/Actions/ChangeRenown.cs
Правда, чистой копипасты не вышло, но я сумел догадаться (с подсказками ВизуалСтудии), что "hero" надо поменять на "Hero.MainHero." и фрагмент кода заработал, как надо

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


Если кто в курсе, как добавлять конкретные предметы, то буду благодарен за подсказку - это здорово сэкономит мне время на рутине перепрохождения, для накопления нужной статистики по изменениям мода.
Например, ввести возможность покупки угля в меню любого города, по 50-100 монет, хоть в пустыне у Асераев, без необходимости тащиться в Баттанию за очередной партией дерева, потому что все караваны опять были перебиты вконец обнаглевшими вражескими лордами.
А когда эту проблему, с "благородными" (как Рольф) господами, удается решить, всерьёз и надолго, то и крафт уже максимален и всё захвачено, по сути, игра пройдена, хоть за Империю, хоть против неё. И тестить особо нечего... Такие дела =/


___

Исходный файл:
...Bannerlord.MedicalDistrict\MedicalDistrictBehaviors.cs

https://github.com/sweatty1/Bannerlord.MedicalDistrict/blob/master/Bannerlord.MedicalDistrict/MedicalDistrictBehaviors.cs

Измененный мной файл, со всеми правками, как обычно, во вложении (.dll - отдельно, текстовый файл с исходным кодом - отдельно).
Чтобы проверить, "как оно вообще", на практике, достаточно скачать оригинальный труд товарища sweatty1 (большое ему спасибо, однако) и заменить dll файл на модифицированный.

Изменения начнутся с переименования дистрикта, поскольку именно такие незначительные, по сути, косметические правки, позволяют поначалу увидеть, оказывают ли усилия модера хоть какой-то эффект, не ломая уже работающую схему неумелым вмешательством горе-программиста :)

___

Правки (код):

Купить "1" ед. "Известности" за монеты (100 + ур*ур).

campaignGameStarter.AddGameMenuOption("town_medical_district", "town_medical_district_buy_renown", "{=*}1 Renown {PRICE_RENOWN}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_buy_renown_on_condition), delegate (MenuCallbackArgs x)
{
int price_renown = 100 + Hero.MainHero.Level * Hero.MainHero.Level;
if (Hero.MainHero.Gold >= price_renown)
{
Hero.MainHero.Clan.AddRenown(1, true);
GiveGoldAction.ApplyBetweenCharacters(null, Hero.MainHero, -price_renown, false);
};
}, false, -1, false);

Технический остаток - проверка на наличие/отсутствие необходимого количества денег на покупку славы, недостижение контрольной суммы (6 тиру клана покупать славу точно не нужно).
И ещё здесь есть вынужденное дублирование формулы с локальной переменной, т.к. я не разобрался как правильно наследовать/объявлять переменные без этой, если честно, лишней возни, засоряющей код).


private bool player_buy_renown_on_condition(MenuCallbackArgs args)
{
int price_renown = 100 + Hero.MainHero.Level * Hero.MainHero.Level;
MBTextManager.SetTextVariable("PRICE_RENOWN", price_renown);
if (Hero.MainHero.Gold >= price_renown && Hero.MainHero.Gold < price_renown*100 && Hero.MainHero.Clan.Renown < 6150)
{
return true;
};
return false;
}

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

campaignGameStarter.AddGameMenuOption("town_medical_district", "town_medical_district_buy_influence", "{=*}1 Influence {PRICE_INFLUENCE}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_buy_influence_on_condition), delegate (MenuCallbackArgs x)
{
int price_influence = 100 + Hero.MainHero.Level * Hero.MainHero.Level;
if (Hero.MainHero.Gold >= price_influence)
{
Hero.MainHero.AddInfluenceWithKingdom(1);
GiveGoldAction.ApplyBetweenCharacters(null, Hero.MainHero, -price_influence, false);
};
}, false, -1, false);

Поменять излишек Известности (свыше 6 тира) на влияние, 1к1.
Поскольку в Баннерлорде, в отличие от Варбанда, слава не оказывает доп эффекта на размер армии после 6150 ед.

campaignGameStarter.AddGameMenuOption("town_medical_district", "town_medical_district_swap_influence_all", "{=*}Influence on Renown over 6150", new GameMenuOption.OnConditionDelegate(player_swap_influence_all_on_condition), delegate (MenuCallbackArgs x)
{
if (Hero.MainHero.Clan.Renown > 6150)
{
float renown_to_influence = Hero.MainHero.Clan.Renown - 6150;
Hero.MainHero.AddInfluenceWithKingdom(renown_to_influence);
Hero.MainHero.Clan.Renown -= renown_to_influence;
};
}, false, -1, false);

Мне нравилось условное ограничение в 5к славы первой части, т.к. работал штраф -1%/день славы и 50 известности являлся максимумом за один бой.
В отдельным случаях удавалось разгонятся и до 10к, но, в среднем, у меня получалось 50 славы в сутки, которые и снимались скриптом, а потому размер армии был более-менее стабилен, но рос куда заметнее и плавнее, чем при повышении тира клана в Баннерлорде, нда...

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


Кстати, внимательные читатели могли заметить, что используется два способа обращения к известности: AddRenown и Clan.Renown.
Это результат игнорирования отрицательных величин в связке с AddInfluenceWithKingdom.
Плюс работает нормально, минус - нет.
Да и не должна известность в Баннерлорде падать, по текущей логике, потому это не баг.
Вот и пришлось идти окольным путём, по давней традиции героев :-)


===
Осталось запихнуть покупку угля / обмен на начальное железо и/или формулы крафта без угля и побочного продукта, уходящих "взаимозачётом", т.к. стоят они, в действительности, одинаково, а пользы от отходов производства у опытных кузнецов не наблюдается.
Отчего приходится сбрасывать сотни единиц металла за бесценок, 1-3 монеты/шт., хотя в средневековье, любое железо, особенно, оружейное - это очень важное, стратегическое сырье... но только не в экономике Баннерлорда :)

3
Делаем (как бы) непродовольственные товары частью рациона :)

А повар придумал ужин: немного крупы перловой,
Немного коры дубовой, немного дорожной пыли
Немного болотной тины, — солдат не умрёт голодным!


___
Редактируем таблицу "horses_and_others.xml".
К примеру, предмет "соль":

  <Item id="salt"
        name="{=IK2IPJi1}Salt{@Plural}sacks of salt{\@}"
        mesh="merchandise_salt"
        item_category="salt"
        value="40"
        weight="10"
        Type="Goods">
    <Flags Civilian="true" />
  </Item>

Добавляем строки:
        IsFood="true"и
    <ItemComponent>
      <Trade morale_bonus="2" />
    </ItemComponent>

(*цифра "морали", как я понял, не оказывает влияния, важно лишь разнообразие еды, которое не может превысить бонус в +10, а потому добавлять много вкусняшек, в принципе, можно, но немного бессмысленно, с геймплейной точки зрения; хотя я "vodka" вставил, между пивом и вином, 50-75-100 монет, плюс "клюкву", чтобы отыгрыш "северного варвара" был полнее, а балалайка-оружие и медведь-маунт в планах ;))

___
Получаем готовый мини-мод, в коде, который можно вставить в любой более крупный модуль (т.к. лично я только "за" использование своих наработок, как при  согласовании с автором, так и без =))

  <Item id="salt"
        name="{=IK2IPJi1}Salt{@Plural}sacks of salt{\@}"
        mesh="merchandise_salt"
        item_category="salt"
        IsFood="true"
        value="40"
        weight="10"
        Type="Goods">
    <ItemComponent>
      <Trade morale_bonus="2" />
    </ItemComponent>
    <Flags Civilian="true" />
  </Item>


===
P.S.: Источники вдохновения для мода:
  • рассказы выживших на подножном корму, походы с друзьями-ролевиками/туристами, с небольшой примесью "выживальщиков" (и, конечно же, собственное детство, пришедшееся на "святые 90-е");
  • намёк товарища Vanok, что тема фиксов и баланса кузницы подождёт до официального выхода патча 1.6 из беты;
  • вопрос cc31 о связи полководцев и кузницы (что натолкнуло на ещё более (не)очевидные размышления о нелёгкой доле вечно голодных бойцов вполне себе видимого фронта :))

4
В "известных проблемах" оф. форума указывалась проблема пустых рецептов.
Без требования материалов, что считается ошибкой.

Если это не деталь "нет/отсутствует", которая является нормальной.
К примеру, для пик и метательных копий вполне допустимо не иметь аж двух деталей из четырёх.
Но в других случаях всё значительно печальнее...

Разработчики не спешат даже обновить сборку 1.6 с беты, хотя полгода вроде как прошло.
Да и технические проблемы не раз мешали им, в куда более приоритетных вопросах.
А опыт первой части "Конно и Оружно" наглядно показывает, что и полностью законченные проекты страдают от проблем с балансом.

Сомнительно, что вторая часть станет исключением.
Особенно, учитывая какой бардак твориться с ценами.

К примеру, на оружие, в раннем доступе.
Найм юнита - 20 монет, но лут вооружения с него стоит 55-80-100(+) монет, при покупке в магазине.
Хотя это всего лишь базовый сельский инвентарь...

Поскольку перебалансировать весь MB2, с приемлемым уровнем качества, мне не по силам (да и самим разработчикам, по ходу, тоже), то буду действовать постепенно ("есть слона по кусочкам", чтобы не подавиться :)).

Редактировать таблицы (xml) не в пример проще, чем dll, с которыми пока толком не разобрался.
Поэтому, для начала, решил заполнить "пустые" рецепты, опираясь на значения у соседних (по тиру) сборок, благо статы во многих случаях похожи.

И выяснил довольно занятную вещь, напоминающую "правило".
Тир ресурса (железа/стали), в большинстве случаев, соответствует тиру оружия.

Кроме детали типа "лезвие" ("blade"), которая на тир мощнее, или требует вдвое больше ресурсов того же уровня.
То есть, самый крутой (и дорогой) двуручный меч "т5" требует отличную сталь "т5" на три компонента из четырёх, а клинок из (т)дамасской стали "т6".

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

Но меня до глубины души возмущает невозможность сразу приступить к крафту некоторых типов снаряжения только потому, что разработчикам было лень дописать недостающие части (тира 1) в список "по умолчанию"!

К счастью, поправить это недоразумение также несложно, как и заполнить "пустые" рецепты, через редактирование таблицы, с чем справиться и такой любитель, как я (потому данная тема и стала возможной :)).

___
Правки пустых рецептов:
___

Rake Head
Wooden Spear Head
Shovel Head (рыцарь лопаты одобряет :))
War Scythe Head

Ash Javelin Shaft
Pointed Crescent Dagger Guard
Northern Wood Grip Two Handed

___
Доп части, "по дефолту":
___

Small Axe Head
Ridged Wide Dagger Blade
Mallet Head

Simple Pinewood Throwing Axe Handle
Tree Branch
Extra Long Mahogany Shaft
(*тир 4, но вариантов "послабее" просто нет, поэтому и поставил "это", благо рецепт - дерево, которое новичку достать куда проще, чем  сталь, положенную в таких случаях).


___
Изменение рецептов, ближе к стандарту "соседей" (работа не закончена, там балансировать нужно итоговую цену вещи и необходимые компоненты, а сейчас просто выкладываю первые намётки, по теме):

Iron Fork
Wide Fullered Short Blade
Hooked Falchion Blade (с фальчионом тут беда - целая группа ошибок, но есть у него и "нормальные" детали, соотв. правилу тира, так что это именно косяк, а не фича)
Star Falchion Blade Head
Pointed Falchion Blade

Tapered Horn Grip

___
Малая правка (необязательная - дополнительные варианты тира 1, чтобы игроку не требовалось использовать 2+ тир, "по дефолту", когда в вариантах крафта есть т1).

Narrow Seax Guard
Wooden Two Handed Grip


===
Таблицу с точными значениями (и подробностями) добавил в приложение к посту, чтобы не получалась лишняя "простыня" текста, который большинству игроков читать попросту не интересно.
Сам таким был, пока не "припекло" от дисбаланса до крайности, что я даже моды делать стал, лишь бы исправить, хоть в чём-то, наблюдаемые безобразия, добавляя новые порции ошибок в код уже от себя лично)))
Ибо ни разу не профессиональный программист - "пишу как думаю" (разумеется, с опечатками).
Что плохо и в случае с литературой, где "текст" нужно хорошенько причесать, вылизать и продавать.
Чем мне заниматься совсем не охота, в отличие от обсуждения перспектив и наработок по любимым играм (например, MB, ради которого я вообще начал изучать питон в своё время, для работы с модульной системой первой части :))

5
"Культурная Революция" (автор: uhanich).
Модификация - Oltopeteeh (т.е. моё творческое переосмысление шедевра Cultural Revolution на базе другого - Native :) )

----

Модуль:
Cultural Revolution v 1.00 Olto_Mod v0.33.rar (17.7 Мб)
http://yadi.sk/d/qE5XDCbo1lZAd

Модульная система мода:
CR v 1.00 ModuleSystem Olto_Mod v0.33.rar (~1 Мб)
http://yadi.sk/d/c110Gb9k1lXbN

(версия 0.34 находиться в процессе тестирования)

---
Пояснение:
----

v0.31: список изменений в модификации.

v0.33: список значимых изменений:

---

v0.34 (тестовая версия): список значимых изменений:

====

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

====
Известные ошибки:
* если вступить в бой не настроив экипировку компаньонам для битвы в поле/при осаде, то у компаньонов исчезнет вообще все оружие (связано с работой скрипта, обновляющего данные о вооружении после битвы на записанное для битвы в поле/при осаде, где в случае с не-настроенным оружием будет ноль, т.е. без оружия - как поправить пока не знаю);
* при выборе быстрого пункта "отдавай ключи, немедленно" для освобождения лорда может появляться двойник вашего персонажа (постарайтесь пользоваться этим пунктом только для вызволения из дружественных тюрем, которые сразу пускают внутрь, без этой возможности отобрать ключ силой);
* есть большой косяк в цене перехода юнита из пешего строя в конный (найм сразу конного значительно дороже, чем найм пешего и тренировка до конного - это связано с тем, что я не знаю как задать цену для повышения до конного; тег "mounted, исп. для подобных целей учитывает только если юнит уже имеет коня и идёт на повышение, даже если повышается в пешего...);

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

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

====
Список изменений в моде-основе (лучше посмотреть в основной теме - http://rusmnb.ru/index.php?topic=16542.0 , а то в сообщение уже не влезает).

===

Тема мода-основы: [WB]Cultural Revolution Expansion v 1.00 - http://rusmnb.ru/index.php?topic=16542.0

Исходник мода, на основе которого я работаю: http://rghost.ru/users/uhanich/releases/Mount--Blade-Warband-Cultural-Revolution-Expansion-MOD/files/42472017
(полезен для сравнения и выявления изменений).


Старые версии:

P.S.: Да блин, эта "S" в названии мода-основы скоро доведёт меня до цугундера (все время меняется на тег зачеркнутого текста).

6
Небольшая правка файла module_dialogs.py, позволяющая выполнять начальный квест торговца про бандитов и нептевого брата без набора ещё пяти воинов (6+).

module_dialogs.py

Часть Первая.
Убираем в кавычки, или удаляем - кому как нравиться).

  #Quest 1 - Repeating dialog sentence
  [anyone|auto_proceed, "start",
  [
    (is_between, "$g_talk_troop", "trp_swadian_merchant", "trp_startup_merchants_end"),
    (eq, "$talk_context", tc_tavern_talk),
   
    (call_script, "script_party_count_members_with_full_health", "p_main_party"),
    (assign, ":total_party_size", reg0),

    (assign, ":continue", 0),
    (try_begin),
      (check_quest_active, "qst_collect_men"),
      (neg|check_quest_succeeded, "qst_collect_men"),       

      (le, ":total_party_size", 5),
     
      (try_begin),
        (le, ":total_party_size", 1),
        (str_store_string, s11, "str_please_sir_my_lady_go_find_some_volunteers_i_do_not_know_how_much_time_we_have"),
      (else_try), 
        (str_store_string, s11, "str_you_need_more_men_sir_my_lady"),
      (try_end), 
      (assign, ":continue", 1),
    (else_try), 
      (check_quest_active, "qst_learn_where_merchant_brother_is"),
      (neg|check_quest_succeeded, "qst_learn_where_merchant_brother_is"),             
      (str_store_string, s11, "str_do_not_waste_time_go_and_learn_where_my_brother_is"),
      (assign, ":continue", 1),
    (try_end),     
    (eq, ":continue", 1),
  ], 
  "{!}.", "start_up_quest_2_next",
  []],
 
  [anyone, "start_up_quest_2_next",
  [],
  "{!}{s11}", "close_window",
  []],

Часть Вторая.
Убираем требование 6+ воинов.
#Quest 2 - First dialog sentence
#    (call_script, "script_party_count_members_with_full_health", "p_main_party"),
#    (ge, reg0, 6),

Примечание: есть маленький баг: если после взятия квеста на группу бандитов, но до её истребления, подойти к торговцу, он скажет нам типичную фразу бандитов (типа "деньги, или жизнь"): как исправить - не знаю, может кто подскажет?

7
Одинаковое время осады замков и городов, независимо от типа осады - используются лестницы, или осадная башня.

Причина модификации очень проста - разница в ценности поселений с защитой разного типа незначительна, а врем для штурма крайне сильно различается (0 часов и 18 часов на максимальном навыке инженерии).
Плюс, минимальное время штурма приравнять к часу (максимальное значение навыка 10+4, поэтому лимитом выступает цифра "15": 15-14=1 :) ).

module_game_menus.py

construct_ladders

До:
    (store_sub, ":hours_takes", 14, reg0),
    (val_mul, ":hours_takes", 2),
    (val_div, ":hours_takes", 3),

После:
    (store_sub, ":hours_takes", 15, reg0),
#    (val_mul, ":hours_takes", 2),
#    (val_div, ":hours_takes", 3),

build_ladders_cont

До:
      (store_sub, ":hours_takes", 14, reg0),
      (val_mul, ":hours_takes", 2),
      (val_div, ":hours_takes", 3),
      (store_add, "$g_siege_method_finish_hours",":cur_hours", ":hours_takes"),
          (assign,"$auto_besiege_town","$current_town"),
          (rest_for_hours_interactive, 96, 5, 1), #rest while attackable. A trigger will divert control when attack is ready.
          (change_screen_return),
          ]),

После:
          (store_sub, ":hours_takes", 15, reg0),
#           (val_mul, ":hours_takes", 2),
#           (val_div, ":hours_takes", 3),
          (store_add, "$g_siege_method_finish_hours",":cur_hours", ":hours_takes"),
          (assign,"$auto_besiege_town","$current_town"),
          (rest_for_hours_interactive, 96, 5, 1), #rest while attackable. A trigger will divert control when attack is ready.
          (change_screen_return),
          ]),

construct_siege_tower

До:
    (store_sub, reg4, 15, ":max_skill"),
    (val_mul, reg4, 6),

После:
    (store_sub, reg4, 15, ":max_skill"),
#     (val_mul, reg4, 6),

build_siege_tower_cont

До:
          (store_sub, ":hours_takes", 15, reg0),
          (val_mul, ":hours_takes", 6),
          (store_add, "$g_siege_method_finish_hours",":cur_hours", ":hours_takes"),
          (assign,"$auto_besiege_town","$current_town"),
          (rest_for_hours_interactive, 240, 5, 1), #rest while attackable. A trigger will divert control when attack is ready.
          (change_screen_return),
          ]),

После:
          (store_sub, ":hours_takes", 15, reg0),
#           (val_mul, ":hours_takes", 6),
          (store_add, "$g_siege_method_finish_hours",":cur_hours", ":hours_takes"),
          (assign,"$auto_besiege_town","$current_town"),
          (rest_for_hours_interactive, 96, 5, 1), #rest while attackable. A trigger will divert control when attack is ready.
          (change_screen_return),
          ]),

8
Здравствуйте, уважаемые посетители форума.

Пару дней на форуме Е.С.Красницкого возобновился вопрос об игре на основе литературного цикла "Отрок" автора.
Фанаты высказались, в целом, положительно, и за один из вариантов воплощения приняли модульную систему Mount & Blade.

Теперь появился вопрос - интересно ли будет обществу "Всадников Кальрадии" помочь в создании такой игры/мода?

----
Тема на оф.форуме: "ИГРАнизация "Отрока" (http://www.krasnickij.ru/forum/48-84-1)

9
Мозговой штурм / Баланс цен и значений
« : 05 Апреля, 2011, 09:52 »
Здравствуйте, уважаемые посетители форума Всадников Кальрадии.

Заинтересовал меня вопрос о соотношении цен и значений в игре Mount & Blade (не суть важно в какой версии - История Героя, Турнир, Огнем и Мечом...)


Главная цель темы - оформить схему цен и значений для игры Mount & Blade (чем детальней и разнообразней, тем лучше).


За основу можно взять имеющиеся цифры.

1. Цены.

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

2. Параметры.

Урон, броня и прочие типа маневренности лошадей, хитов и т.д.

В норме, разброс примерно от 5 до 65 (арбалет на 63, скорость до 50, но это частности, кавалерийский удар на 40+).

3. Владение оружием.

Множитель урона от *0,1 до *4,2.

4. Поглощение урона броней

Рубящий удар - 80% от брони и - число равное броне.
Дробящий удар и колющий пока что не рассматриваю, они производные от основного типа удара (больше бронебойности, меньше урона; больше ущерба, меньше смертности).
 
5. Характеристики персонажа и навыки

От 0 до 10 рангов, на Сил/Лов/Инт/Хар с модом *3 (макс. эффективной величиной является 30, для 10 ур. навыка).
Уровень юнита, обычно +5 за ранг, хотя хватает для повышения 3 (видимо, для простоты расчетов).

----

Еще серьезный вопрос о источнике дохода, торговля, война с отрядами, грабеж деревень, удержание земель, иногда турнир и ... похоже, все. Работы как таковой нет, разве что убиение вражин, да квесты, но денег с них... оттого и дипломатия страдает, и улучшения поселений - будто мира и не должно быть :(

====

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

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

О других нововведениях, идеях и предложениях поговорить думаю позже, когда обсудим основу, на которой и будет выстаиваться модель будущей игры.
К примеру, если общий шаг будет 25% за ур, то юнит 10 ранга будет стоить в 10 раз дороже, чем такой же юнит с рангом 0.
Тоже будет касаться и квестов, и товаров, и платы за победу, и... много чего.
Заодно можно будет и на конкретных цифрах проверить затею :)



Добавлено

Что пока что получается.

Ранг 0-10, модификатор характеристики в зависимости от значимости в "табели о рангах".

К примеру,
- параметры персонажа *3 (0-30).
- двуручное оружие и броня * 6 (0-60).
- одноручное оружие, к пр. *4, полуторное *5, бронебойное с модом *3, а стрелковое *2 (ну не люблю я его), а разница в содержании пехоты и конницы *10 ("один конный стоит десятерых пеших" - это не просто слова).

Еще вариант, древо развития: "ближний бой/дальний бой" - первая линейка, "пеший/конный" - вторая, тип оружия - третья.
Если поискать, может найтись и больше, вплоть до десяти уровней (число для расчетов удобное :))

Страницы: [1]
СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC