Прошёл кампанию за Мутаре (если кому интересно - 110 дней без разведки, без генерации навыков: Мутаре без логи ходила, без TP и DD), начал кампанию за Dracon'a (третья в аддоне "Клинок Армагеддона"), которая на время. Понятное дело, что в любом случае она проходится и затупить там сложно при любом раскладе. Однако появился большой соблазн получить Логистику (пусть Advanced хотя бы) и Экспертную Землю, чтоб не страдать. И тут у меня родилась мысль: а почему все навыки равнозначны на левел-апе? Да, у навыков есть веса, но игрок-то эти веса практически не замечает: игра просто ставит игрока перед выбором между двумя навыками. Какой навык полезнее, обычно сразу понятно. Так вот, продолжение мысли, а что если за взятие крутых навыков увеличивать кол-во опыта до следующего уровня? Например, ты взял Логистику, теперь тебе придётся накопить, скажем, в полтора раза больше опыта для перехода на следующий уровень. Иными словами, назначить каждому вторичному навыку множитель: чем круче навык, тем такой множитель больше, и, соответственно, игроку дольше придётся ждать следующего уровня. "Бесполезным" навыкам можно присвоить множители меньше 1 даже, чтобы хоть как-то компенсировать их "бесполезность". Думаю, свежая идея. Только нужно подумать, как быть с прогрессивным кол-вом опыта в Героях (ведь взяв ту же Логистику на втором уровне, игрок при любом множителе не сильно много теряет, так как разница между вторым и третьим уровнями берётся из одного сундука). Кстати, это тоже ерунда, как по мне. Герои просто залпом взлетают вверх по лестнице опыта, а потом такие... ну, когда же, когда же новый уровень?
Естественно, это идея для плагина и для тех, кто любит экспериментировать. Я бы сделал более плавный набор уровней и привязал бы расстояние между уровнями к ценности выбираемого на левел-апе навыка. При правильной реализации получилось бы нечто интересное и свежее.
Хотя
Можно и текущие очки опыта оставить. Множитель же можно сделать и 2 и 3 за взятие Логи или Земли?
А лучше всего привязать этот множитель к расстоянию между уровнями, чтобы не было обидно высокоуровневым героям. Сейчас сколько там топовых навыков? А при данном подходе можно было бы уже задуматься над общей эффективностью (ведь множитель откладывает не только получение следующего вторичного навыка, но и следующего первичного). Если множители выбрать грамотно, то с такими монстрами, как Логистика и Земля уже как-то можно будет бороться навыками, обеспечивающими (гораздо) более быстрое получение уровней. Ну, и ходи со своей Логистикой на 6-м, привет от героя 10-го уровня
Почему это здорово? Во-первых, в Героях - пресловутый рандом. Тебе либо везёт, либо нет. И обычно, если тебе не везёт, то везёт твоему сопернику. Так хоть у того, кому не повезло, шансы какие-то будут. Во-вторых, столько жарких споров о том, что навыки в Героях 3 можно отбалансировать. Это же бред. Вы не можете сделать так, чтобы килограмм стал километром. Вторичные навыки в Героях почти всегда несравнимы. А система множителей (штрафов/бонусов за крутость/бесполезность) уже может попытаться это сделать. Это не означает, кстати, что игроки перестанут брать Землю, когда предлагают, это означает, что те, кому её не предлагают, смогут уже конкурировать. Как можно бороться против массслоу? Можно, если у тебя намного круче параметры и армия. Важный момент - найти баланс. Принцип предела: всем же понятно, что если сделать множитель Земли равным бесконечности, то её нельзя будет брать, ибо игрок перестанет вообще развиваться. Но если этот множитель выбрать грамотно, то Землю можно легко занёрфить.
* * *
Сейчас вот думаю демо-плагин написать и пришёл к выводу, что проще всего просто давать штраф к набору опыта после выбора сильного навыка до следующего левел-апа (или бонус - для слабых навыков)
Что-то вроде динамического обучения (Learning). Естественно, с поправками на излишек опыта.
Есть ещё более простая идея - ввести модификатор (коэффициент) обучаемости. Действует всю игру в зависимости от выбранных вторичных навыков. Этот вариант даже лучше, как мне кажется, и напоминает расширенный механизм вторичного навыка Learning: только здесь процент может быть негативным (-30% к опыту, например; уже можно задуматься).
Код новой механики натуральным образом встраивается в hero::GetExperienceBonusFactor() - Код: Выделить всё
double __thiscall hero::GetExperienceBonusFactor(hero *this)
{
char learningLvl; // al
const THeroSpecificAbility *heroSpecialty; // eax
float Level; // [esp+0h] [ebp-8h]
float expMul; // [esp+4h] [ebp-4h]
learningLvl = this->SSLevel[SS_LEARNING];
expMul = LearningSkillMultipliers[learningLvl];
if ( learningLvl > 0 )
{
heroSpecialty = &akHeroSpecificAbilities[this->order_ID];
if ( !heroSpecialty->specialityType && heroSpecialty->specializedID == SS_LEARNING )
{
Level = this->Level;
expMul = (Level * 0.050000001 + 1.0) * expMul;
}
}
return expMul + 1.0;
}
Пример. За каждую ступень Логистики герой получает -7% к опыту, за каждую ступень Магии Земли - минус 10%. Эффект умножается. Так, у героя c Экспертной Логистикой и Землёй будет следующий штраф к получению опыта:
1 - (1 - 0.07)^3 * (1 - 0.10)^3 ~ 41%, а не 51%. Бонусы от слабых навыков суммируются. Например, Eagle Eye можно смело давать в нагрузку +15%. Анекдот: а чего у тебя папка с Орлоглазом? Компенсирую Землю
Но до ума можно довести при желании.
Разумеется, ни в какие турниры это не пойдёт (разве что экспериментальные). Но интересно было бы обкатать с небольшими штрафами для имбовых навыков, чтобы понять, как такая механика прокачки ощущается. По сути, это работает, как пенальти за имбу. Сейчас получил Логистику - скушал больше всего, опыта больше получил, а такой бы механизм хоть как-то компенсировал "приятные побочки" увеличенной дальности передвижения. То же с Землей: получил массслоу - начал громить всех подряд с минимальными потерями, качаешься куда быстрее. Данная механика вот этот бы приятный "побочный" бонус как раз бы и нивелировала.