Объявления

Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru.
Я оторву свою задницу от всех дел и обязательно Вас активирую! :smile10:
Добро пожаловать на геройский форум! :smile25:

Как создать плагин для HD мода

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

Re: Как создать плагин для HD мода

Сообщение Rolex » 01 июл 2024, 16:52

AlexSpl писал(а):

Именно поэтому я сделал специальные фичи отключаемыми.

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

Плюс ReadMe хотя бы для этих фич не помешал бы. Понятно, что хорошо бы иметь описание ко всем полям ini-файла, но задача минимум - это написать о существовании доп фич для спеллов Incineration, Explosion, Mobility, что они делают, и о том, как их вкл и откл с помощью опции SpecialFeature (на англ и рус языках). Это уж точно не займет много времени.

AlexSpl писал(а):

Я писал, что анимация получилась слишком короткой по времени, но автор её переделывать не стал.


AlexSpl писал(а):

А мне как раз не нравится :smile14: Слишком уж сильно она отличается по качеству от Вашей. А анимация Golden Touch вообще выглядит "двоечной", т.е. более-менее смотрелась бы в Героях 2, но слишком простенько выглядит для Героев 3.


AlexSpl писал(а):

Баланс авторский :smile1: Единственное, что я переделал, это статы заклинания Golden Touch, т.к. авторские были чересчур жирными.

Раз вам не зашла графика и анимация, а мне графика, идеи и баланс, то не лучше ли их вовсе удалить, ну или как минимум задизаблить, чтобы не портить общее впечатление?

Понятно, что этого будет маловато, чтобы обновлять плагин. Но как у вас будет время и желание можно будет как-то сделать функцию взвешивания для Drain Life, например. И может быть немного разобрав Adventure AI прикрутить каст Mobility для AI (хотя бы для начала для случаев когда до города или вражексого героя не хвататет до 300 MP). Хотя, как я понял, Вы не особо горите этим сейчас заниматься. Но это так, на будущее.

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

AlexSpl писал(а):

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

Тем не менее, как бы там ни было, это не отменяет того факта, что многие абилки в оригинале повторяют многие оригинальные заклинания и наоборот.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 01 июл 2024, 17:09

Цитата:
Я думаю, стоит по умолчанию их отключить, ибо консерваторы будут ругаться. Я уверен, что многие, кто скачал плагин не из heroescommunity даже не знает о существовании этих фич и что их можно отключить.

Плюс ReadMe хотя бы для этих фич не помешал бы. Понятно, что хорошо бы иметь описание ко всем полям ini-файла, но задача минимум - это написать о существовании доп фич для спеллов Incineration, Explosion, Mobility, что они делают, и о том, как их вкл и откл с помощью опции SpecialFeature (на англ и рус языках). Это уж точно не займет много времени.

А мне, наоборот, не нравится современная тенденция всё дотошно документировать в играх. Разве не интересно самому открывать некоторые особенности игровой механики? :smile2: Сколько лет писался, например, FizMiG? А сколько за это время было обсуждений, как работает та или иная механика? Если всё расписать заранее, игра становится стерильной, теряется элемент "волшебства". Но, как говорится, на вкус и цвет...

Цитата:
Раз вам не зашла графика и анимация, а мне графика, идеи и баланс, то не лучше ли их вовсе удалить, ну или как минимум задизаблить, чтобы не портить общее впечатление?

Я так и собирался сделать, но пока нет повода обновлять плагин.

Цитата:
Тем не менее, как бы там ни было, это не отменяет того факта, что многие абилки в оригинале повторяют многие оригинальные заклинания и наоборот.

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

offlineTrueMefista  
имя: Mefista
Посвященный
Посвященный
 
Сообщения: 53
Зарегистрирован: 18 дек 2021, 12:35
Пол: Женщина
Поблагодарили: 10 раз.

Re: Как создать плагин для HD мода

Сообщение TrueMefista » 01 июл 2024, 23:13

AlexSpl писал(а):

А мне, наоборот, не нравится современная тенденция всё дотошно документировать в играх. Разве не интересно самому открывать некоторые особенности игровой механики? :smile2: Сколько лет писался, например, FizMiG? А сколько за это время было обсуждений, как работает та или иная механика? Если всё расписать заранее, игра становится стерильной, теряется элемент "волшебства".

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

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 02 июл 2024, 08:44

Эти тактики тоже далеко не сразу были найдены :smile2: И даже после того, как были найдены, некоторое время оставались известными только узкому кругу оффлайнщиков. Теперь всё есть на видео, смотри не хочу. Кампания HotA явно не учит таким тактикам, но подталкивает игрока в нужном направлении, указывает вектор, так сказать, чтобы до самой тактики игрок дошёл самостоятельно и почувствовал радость победы ума, а не накопленного за год игрового времени прироста. Без таких тактик Герои рано или поздно становятся на рельсы следующего шаблона: накопил армию - пошёл пробовать бить противника; если копил усердно, а не на жопе респе сидел, разделал всех компов, как Аргентина Ямайку; если получил люлей сам, загружаешь более ранний сейв или начинаешь копить армию усерднее. Любая казуальная карта проходится по этому шаблону, который точно однажды надоест, и ты начнёшь стараться играть быстрее и с меньшими потерями, что невозможно без эффективных тактик (неважно, дошёл ли ты до них сам или где-то подсмотрел).
Вернуться к началу

offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

Re: Как создать плагин для HD мода

Сообщение Rolex » 02 июл 2024, 10:12

AlexSpl писал(а):

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

Во-первых, комментарии с критикой пишут обычно те, кому что-то не нравится. Да и критика будет всегда. Тем более, что много скачиваний идет по прямой ссылке с Heroes 3.5: In the Wake of Gods Portal. А вот среди тех, кому все понравилось, очень мало тех, кто будет писать что-то вроде: "вау, как круто". Обычно такие люди ничего не пишут. И вот таких довольных молчунов, может быть в разы больше чем тех, кто критикует.

Во-вторых, мы не знаем какое было бы количество критики, если бы мы сделали спеллы совсем иначе, например, по вашим идеям. Возможно, критики, особенно среди консерваторов, было бы в разы больше, чем сейчас. Все же фанов оригинала значительно больше, чем фанов WoG+. Касательно фанов HotA, хоть Вы их и выносите в отдельную категорию, они все же ближе к консерваторам, чем к ярым эксперементаторам (WoG+). Ведь большинство поклонников оригинала смогли принять HotA, но при этом отвергают WoG/ERA.

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

***

Касательно совместимости NewSpells с SOD_SP. Поскольку SOD_SP один из наиболее популярных плагинов к HD-моду, то было бы неплохо хорошенько протестировать NewSpells на совместимость с ним. Чтобы можно было обойтись, например, без распаковки NewSpells.lod в папку _HD3_Data\Common. Кроме этого, могут быть и другие проблемы. Нужно тестировать. Если для этого нужны будут какие-то правки в самом SOD_SP, то Вы же всегда можете лично написать RoseKavalier.
Последний раз редактировалось Rolex 02 июл 2024, 11:16, всего редактировалось 2 раз(а).
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 02 июл 2024, 11:14

На HC подняли, на мой взгляд, интересную тему What if every skill worked like Tactics? ("Что если бы каждый навык работал, как Тактика?"). По горячим следам набросал простенький плагин, который позволяет протестировать эту идею.

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

Минимальный уровень вторичного навыка Wisdom технически также отнимается, но я не знаю, разумно ли таким образом запрещать касты заклинаний 3-5 уровней? Поясню. У игрока A - Expert (3) Wisdom, у игрока B - Basic (1) Wisdom, с плагином, реализующим вышеупомянутую идею, у игрока A остаётся 3 - min(3, 1) = 2 => Advanced Wisdom, т.е. он не сможет кастовать заклинания 5-го уровня в бою против игрока B, а у игрока B - 1 - min(3, 1) = 0, т.е. он остаётся без Мудрости и не сможет кастовать заклинания 3 уровня и выше. Пока оставил, как есть (навык Wisdom нужен только для изучения заклинаний).

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

TacticsLikeSecondarySkills.zip
(3.67 КБ) Скачиваний: 171

 Код
Код: Выделить всё
#define _CRT_SECURE_NO_WARNINGS

#pragma warning(disable : 4005)
#pragma warning(disable : 4010)

#include "stdafx.h"
#include "..\..\Headers\homm3.h"

Patcher* _P;
PatcherInstance* _PI;

char leftHeroSecondarySkills[28];
char rightHeroSecondarySkills[28];

int __stdcall adjustSecondarySkillsBeforeBattle(LoHook* h, HookContext* c)
{
   _Hero_* leftHero = (_Hero_*)c->edi;
   _Hero_* rightHero = (_Hero_*)c->ebx;

   if (leftHero && rightHero)
   {
      for (int iSkill = 0; iSkill < 28; ++iSkill)
      {
         leftHeroSecondarySkills[iSkill] = leftHero->second_skill[iSkill];
         rightHeroSecondarySkills[iSkill] = rightHero->second_skill[iSkill];

         char minMastery = min(leftHeroSecondarySkills[iSkill], rightHeroSecondarySkills[iSkill]);
         
         leftHero->second_skill[iSkill] -= minMastery;
         rightHero->second_skill[iSkill] -= minMastery;
      }
   }

   return EXEC_DEFAULT;
}

int __stdcall adjustSecondarySkillsAfterBattle(LoHook* h, HookContext* c)
{
   _Hero_* leftHero = (_Hero_*)c->edi;
   _Hero_* rightHero = (_Hero_*)c->ebx;

   if (leftHero && rightHero)
   {
      for (int iSkill = 0; iSkill < 28; ++iSkill)
      {
         leftHero->second_skill[iSkill] = leftHeroSecondarySkills[iSkill];
         rightHero->second_skill[iSkill] = rightHeroSecondarySkills[iSkill];
      }
   }

   return EXEC_DEFAULT;
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
   static bool plugin_On = false;

   if (DLL_PROCESS_ATTACH == ul_reason_for_call)
   {
      if (!plugin_On)
      {
         plugin_On = true;
         _P = GetPatcher();
         _PI = _P->CreateInstance((char*)"HD.Plugin.H3.TacticsLikeSecondarySkills");

         _PI->WriteLoHook(0x4ADF6C, adjustSecondarySkillsBeforeBattle);
         _PI->WriteLoHook(0x4ADFF2, adjustSecondarySkillsAfterBattle);

         // Quick Combat
         _PI->WriteLoHook(0x4AD2DE, adjustSecondarySkillsBeforeBattle);
         _PI->WriteLoHook(0x4AD2E5, adjustSecondarySkillsAfterBattle);
      }
   }
   
   return TRUE;
}
Вернуться к началу

offlineTrueMefista  
имя: Mefista
Посвященный
Посвященный
 
Сообщения: 53
Зарегистрирован: 18 дек 2021, 12:35
Пол: Женщина
Поблагодарили: 10 раз.

Re: Как создать плагин для HD мода

Сообщение TrueMefista » 02 июл 2024, 11:40

AlexSpl писал(а):

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

К подпиранию ворот оно тоже подталкивает?
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 02 июл 2024, 11:53

Цитата:
К подпиранию ворот оно тоже подталкивает?

Так это даже не "папашкина" тактика. Это курс 101. Разве Вам неинтересно было, что будет с отрядом, если он будет стоять перед воротами в тот момент, когда их захотят открыть? Вдруг бы отряд в лепёшку превратился? :smile2: В любой игре нужно тестировать свойства юнитов/заклинаний/конструкций и т.п. (в общем, игровых объектов). А вторая составляющая непосредственно следует из правил работы управляемой катапульты/её отсутствия.

Когда появляется идея: а неплохо было бы, если отряды противника подольше за крепостными стенами посидели. Но что же мешает мне это реализовать? :smile5: Было бы здорово, если бы чёртова катапульта не стреляла! А как этого достичь? Но даже если она перестанет стрелять, эти ж гады через ворота попрут! И всё. Из простой идеи рождается тактика :smile2:
Вернуться к началу

offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

Re: Как создать плагин для HD мода

Сообщение Rolex » 02 июл 2024, 18:36

AlexSpl, ровно 2 года назад пользователь на heroescommunity под ником fanofheroes предложил вам шикарнейшую идею для спелла, реально полезный, уникальный (если речь за разрушение стен) и в духе оригинальной тройки.

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

http://heroescommunity.com/viewthread.php3?TID=47171&PID=1563787#focus

Вы пообещали человеку чуть позже добавить это заклинание. Но с тех пор прошло 2 года, а заклинания до сих пор нет. Именно такого заклинания не хвататет NewSpells до полного комплекта.

Понимаю всю сложность реализации. Но ведь Вы же можете разобрать оригинальную функцию спелла Armageddon и посмотреть как там реализована синхронизация анимации заклинания с анимацией юнитов, например. Да и Вам, возможно, будет интересно и полезно разобраться, ибо именно такого опыта по написанию подобных заклинаний у Вас пока еще нет.

Я бы сделал как предлагает автор это заклинание 4-го уровня с чуть меньшим уроном, чем у Армагеддона:

Без уровня:
Урон: Сила магии * 45 + 25 / расход по очкам - 24

Базовый:
Урон: Сила магии * 45 + 25 / расход по очкам - 20

Продвинутый:
Урон: Сила магии * 45 + 50 / расход по очкам - 20

Эксперт:
Урон: Сила магии * 45 + 100 / расход по очкам - 20
Последний раз редактировалось Rolex 02 июл 2024, 18:47, всего редактировалось 2 раз(а).
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 02 июл 2024, 18:43

Цитата:
Вы пообещали человеку чуть позже добавить это заклинание. Но с тех пор прошло 2 года, а заклинания до сих пор нет. Именно такого заклинания не хвататет NewSpells до полного комплекта.

Графика осталась лишь картинками на форуме, к сожалению. Плюс сейчас я не пишу заклы за респекты :smile1: Меня можно понять, ибо никто, кроме автора, не может оценить по достоинству объём проделанной работы. HotA молодцы, но когда поддерживают стримера, наживающегося на их контенте, а не команду напрямую, становится реально обидно. Да, всё делалось на чистом энтузиазме, но он, увы, не бесконечен, а приобретённый скилл Вы сами понимаете, куда можно засунуть :smile29:
Вернуться к началу

Пред.След.

Вернуться в Общий раздел

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21