[...]
Если игрок не является вассалом, юниты > 20 уровня не будут присоединяться.
[...]
Шанс = (убеждение *5) + (отн_с_фр > 0 ? отн_с_фр /2 : отн_с_фр *3) + (если (разн_в_ур) > 20 : +30; если (разн_в_ур) > 10: +15; иначе: +7;) + (саем_персун ? +10 : +0) + (известность / 30) + (фр_игрока == фр_юнита ? +20 : +0);
Ето как?
Имеем ГГ:
уровень = 35
известность = 2000
убеждение = 10
фракция = Русь
отн_фракции = 50
отряд_ГГ = {смерд, ..., ..., ...}
вассал_ГГ = тру
Имеем юнит Смерд:
уровень = 1
фракция = Русь
Определяем переменные:
отн_с_фр = 50
разн_в_ур = >20
саем_персун = тру
известность = 2000
фр_игрока = русь
фр_юнита = русь
убеждения = 10
Рассчитываем:
Шанс = 10*5 + 25 + 30 + 10 + ~67 + 20 = 192.
Ето как?
Шанс присоединения равен 192(!)????? Или это 0,192?
Может быть там, на самом деле 1-шанс/1000? Тогда будет что-то похожее на правду - шанс_присоединения = 0,808.
ConstantA
Как быть с отрицательной вероятностью?
Переменные:
отн_с_фр = -5
разн_в_ур = 0
саем_персун = фалсе
известность = 0
фр_игрока = русь
фр_юнита = !русь
убеждения = 0
Результат расчёта: Шанс = -8
Юнит материализуется возле компа игрока, но на пожелание сгонять за пивком, двинет его (игрока) вилами/топором/копьём по чеклану? :)
1) Предложил бы исключить из формулы саем_персун: хоть это и реалистично, но вредит балансу.
Никак не могу взять в толк, чем оно вредит балансу?
JoG
Я могу еще чутка поиграть с цифрами и выдать картинку с отрицательной вероятностью по данной формуле в других условиях. Это непринципиально, как мне кажется. :) Главное, что есть вероятность такой вероятности :) Или как-то так.
А насчёт психов - так тут где-то отписывались орлы, которые ухитрялись на нулевом уровне выиграть стартовую битву. Так что всё возможно :) Это ж игра.
Да не влияет это. Хоть -1000. Поскольку случайное значение берется из промежутка (не могу правильное название вспомнить :( ) 0-100, оно не может быть меньше -8, значит - юнит не будет присоединятся.
Фкурил :)
Убеждение, отношения с фракцией, известность - это всё надо зарабатывать. Саем_персун - вещь либо слишком случайная, либо слишком лёгкая.
Ещё предложил бы убрать либо влияние известности, либо влияние уровня, посколько они идут бок-о-бок и фактически дублируют друг друга. Причём с моей точки зрения убрать лучше именно известность, потому что уровень отследить проще (иными словами, я плохо помню своё состояние на момент 1000 известности, зато примерно представляю его на момент 20 уровня).
По саем_персун - может быть просто уменьшить влияние на вероятность? Я ниже описал.
Далее:
Привязка к уровеню в формуле даёт возможность присоединять всяких крестьян и прочих ополченцев высокоуровнему ГГ, что положительно скажется на использовании игроком пехоты и логично само по себе. С известностью же ГГ штука совсем интересная - в формуле она оказывает только положительный эффект, независмо от отношений с фракциями. Мне же видится другая картинка: чем известнее наш ГГ, тем меньше вражеских юнитов хотело бы служить в его армии и наоборот. Плюс репутация, она же honor, она же уважение. Её вообще никто не хочет учитывать.
У меня вывод по предложеной формуле такой:
1. фр_игрока==фр_юнита
На начальных уровнях вероятность присоединения любого юнита своей фракции болтается в районе 0,5. Соответственно с ростом уровня и известности вероятность быстро приближается к единице, независимо от навыка убеждения, при условии нейтральных или положительных отношений со своей фракцией. При отрицательных же отношениях, основную роль играет уровень навыка убеждения. Это логично. Камрад Paleh предлагает убрать влияние однотипного отряда на вероятность присоединения, но я думаю, что надо его оставить, но уменьшить. При текущей, авторской, раскладке, аналогичный отряд увеличивает вероятность на 10%. Это многовато. Думаю (саем_персун ? +5 : +0) -> 5% будет в самый раз.
Вот примеры в авторской раскладке:
отн_с_фр = 0
разн_в_ур = 0
саем_персун = фалсе
известность = 100
фр_игрока = русь
фр_юнита = русь
убеждения = 0
Шанс = 30
____________
отн_с_фр = 0
разн_в_ур = 0
саем_персун = тру
известность = 100
фр_игрока = русь
фр_юнита = русь
убеждения = 0
Шанс = 40
____________
отн_с_фр = 5
разн_в_ур = 0
саем_персун = тру
известность = 100
фр_игрока = русь
фр_юнита = русь
убеждения = 0
Шанс = 43
____________
отн_с_фр = -5
разн_в_ур = 0
саем_персун = тру
известность = 100
фр_игрока = русь
фр_юнита = русь
убеждения = 0
Шанс = 25
отн_с_фр = 0
разн_в_ур = 0
саем_персун = тру
известность = 1000
фр_игрока = русь
фр_юнита = русь
убеждения = 0
Шанс = 70
____________
отн_с_фр = 10
разн_в_ур = 0
саем_персун = тру
известность = 1000
фр_игрока = русь
фр_юнита = русь
убеждения = 0
Шанс = 75
____________
отн_с_фр = -10
разн_в_ур = 0
саем_персун = тру
известность = 1000
фр_игрока = русь
фр_юнита = русь
убеждения = 0
Шанс = 40
Активней всех будут присоединяться крестьяне :)
2. фр_игрока!=фр_юнита
На начальных уровнях вероятность присоединения любого юнита достаточно низкая - порядка 0,1-0,2. С ростом уровня и известности ГГ ситуация сохраняет стабильность в случае враждебных действий ГГ против фракции юнита, и наблюдается рост вероятности, в случае нейтральных отношений между ГГ и всё той же фракцией юнита. Здесь, кстати, очень большое значение будет иметь навык убеждения. Чем он выше, тем больше ГГ может залазить в минуса в отношениях. Хорошим подспорьем является наличие в армии ГГ аналогичных юнитов. Логично, но стоит подрезать, как и в п.1 до 5%, бо многовато.
Примеры, также в авторской раскладке:
отн_с_фр = 0
разн_в_ур = 0
саем_персун = фалсе
известность = 100
фр_игрока = русь
фр_юнита = !русь
убеждения = 0
Шанс = 10
____________
отн_с_фр = 0
разн_в_ур = 0
саем_персун = фалсе
известность = 100
фр_игрока = русь
фр_юнита = !русь
убеждения = 1
Шанс = 15
____________
отн_с_фр = +5
разн_в_ур = 0
саем_персун = фалсе
известность = 100
фр_игрока = русь
фр_юнита = !русь
убеждения = 0
Шанс = 13
____________
отн_с_фр = -5
разн_в_ур = 0
саем_персун = фалсе
известность = 100
фр_игрока = русь
фр_юнита = !русь
убеждения = 0
Шанс = 0 (-5)
отн_с_фр = 0
разн_в_ур = 0
саем_персун = фалсе
известность = 1000
фр_игрока = русь
фр_юнита = !русь
убеждения = 0
Шанс = 40
____________
отн_с_фр = 0
разн_в_ур = 0
саем_персун = фалсе
известность = 1000
фр_игрока = русь
фр_юнита = !русь
убеждения = 3
Шанс = 55
____________
отн_с_фр = 0
разн_в_ур = 0
саем_персун = тру
известность = 1000
фр_игрока = русь
фр_юнита = !русь
убеждения = 0
Шанс = 50
____________
отн_с_фр = -5
разн_в_ур = 0
саем_персун = фалсе
известность = 1000
фр_игрока = русь
фр_юнита = !русь
убеждения = 0
Шанс = 25
____________
отн_с_фр = -10
разн_в_ур = 0
саем_персун = фалсе
известность = 1000
фр_игрока = русь
фр_юнита = !русь
убеждения = 0
Шанс = 10
____________
отн_с_фр = -10
разн_в_ур = 0
саем_персун = фалсе
известность = 1000
фр_игрока = русь
фр_юнита = !русь
убеждения = 3
Шанс = 25
____________
отн_с_фр = -10
разн_в_ур = 0
саем_персун = тру
известность = 1000
фр_игрока = русь
фр_юнита = !русь
убеждения = 3
Шанс = 35
Итого: формула в-принципе, на мой взгляд, хорошая. Возможно стоит только подредактировать влияние саем_персун. Но! Есть другое предложение, только в цифирях я его озвучу чуть позже. Надо немного попроверять.
__________________
В общем:
1.Шанс = (убеждение*3) + (лидерство) + (отн_с_фр>0 ? отн_с_фр/2 : отн_с_фр*3) + (разн_в_ур>20 ? (хонор>=0 ? хонор/2+10 : хонор+10) : (разн_в_ур>10 ? (хонор>=0 ? хонор/2+5 : хонор+5) : (хонор>0 ? хонор/2 : хонор-10))) + (саем_персун ? 5 : 0) + (известность/200+отн_с_фр) + (фр_игрока==фр_юнита ? 20 : -10)
2.Шанс = (Шанс<0 ? Шанс = 0 : (Шанс>100 ? Шанс = 100 : Шанс))
3.Шанс = (война_с_фр_юнита ? Шанс*0,6 : Шанс)
Дополнительные переменные:
лидерство: уровень навыка лидерства ГГ
хонор: уровень параметра honor (уважение) ГГ
война_с_фр_юнита: флаг состояния войны с фракцией освобождённого юнита
Все выражения заключённые в скобки, округляются до единицы по математическим правилам округления.
Если поменять пп.2 и 3 местами, то вероятность присоединения в случае войны будет гораздо выше.
Основные отличия от авторской формулы:
- элита присоединяется очень неохотно.
- известность влияет на вероятность присоединения гораздо меньше и чем более отрицательные отношения с фракцией освобождаемого, тем меньше влияние известности на вероятность его присоединения (уф!).
- небольшое влияние появилось у лидерства (а как же без него?!).
- уважение довольно-таки серьёзно меняет вероятность присоединения, особенно элиты.
- война с фракцией освобождённого сильно уменьшает вероятность его присоединения.
Чё надо доработать:
- отрепетировать пороги уровня для разн_в_ур так, чтобы соответствовали деревенской, городской и замковой линейкам. По моему там что-то не так. Но могу ошибаться.
- поиграть с цифрами в формуле. Есть подозрения, что выбраны не самые удачные. Хотя старался подобрать.
Если надо примеры - то это завтра. Сегодня выдохся.
ЗЫ Извините за простыню.
Добавлено: 19 Декабря, 2009, 09:14
И еще: может быть для всяких разных бандитов не делать проверку на вероятность присоединения к армии ГГ? Пускай присоединяются всегда.
а...ясно, ну да ладно
модератор и все можно?? :thumbup:
Не просто к обжитой местности, а к местности их фракции, и не 100% побег, а 70%, люди то разные все, кто то корешей/единомышленников нашел, у кого то и так неприятности на родине были, возвращаться не зачем, у кого то ранение серьезное, не до побега ему, ну а кто- то просто слоупок. :laught: Как некоторые форумчане, которым по 150 раз нужно объяснять очевиднейшие вещи
А если Вам принципиально пустыня/не пустыня, лес/не лес, равнина/не равнина. То прикиньте реальное расстояние от Бату-хана (города) и до Кульма, и подумайте, смогли бы Вы безоружным, без денег и лошади через территорию нескольких воюющих государств добраться живым и невредимым. Сотни,тысячи километров степей, равнин, лесов кишащих разбойниками.