Как стать автором
Обновить

Комментарии 63

Вся эта история с аддонами без упоминания HotA выглядит странно. Не в смысле истории про легальность, а в смысле того, что WoG (ИМХО!!!) сейчас больше музейную ценность представляет, нежели играбельную, а уж сколько копий сломано при обсуждении вообще принципов (смелых!) Вог-а... И сколько горячих стулов нагрето. А WoG... двигатель продаж оригиналки, так вижу.

А вот в плане лицензий и истории в целом, конечно, лампово. Ну, и совсем непонятно, где в списке действующих лиц стоит пресловутый "Я", с описанием роли. Неужели... Slava Salnikov?

Я не могу грешить против правды.

WoG, особенно призраки, это настолько круто, что я себя сдерживаю, чтобы в час ночи не пойти это дело начать качать, играть.

А я вот последние хз сколько лет именно в wog и играю. Про hota случайно пару месяцев назад, когда решил поискать — а нет ли более свежей версии wog'а…

Имхо, HotA сейчас прекрасно распиарена за счёт большого количества PvP стримеров, но по сравнению в WoG это другой уровень. Там нет ни скриптов, ни возможности каких-то настроек. Реализовать Хоту на движке WoG - изи, обратное же невозможно. Вообще, даже жаль, что HotA в некотором роде внесла раскол в геройское сообщество, не поддержала (насколько я знаю) Era и тем самым сильно затормозила развитие. Хотя сам по себе мод прекрасный и разработчикам почёт и уважение.

В своё время рубились в третьи герои знатно, в том числе WoG. Имхо всё в этом моде было достаточно хорошо кроме стабильности — частенько в самые неподходящие моменты он полностью крашился, что особенно печалило в режиме «горячего стула».

Доработка ПО без исходников однозначно не защищено от крашей.

Современная HotA и HD mod тоже разрабатываются без исходников оригинала, но результат намного стабильней.

При разработке HotA уже был опыт WoG и куча инфы по структуре исполнительного файла. Кроме того, HotA добавляет новые элементы путем расширения существующих таблиц. WoG же в основе своей интегрировал скриптовый движок. Вмешательств в оригинальный код в WoG думаю на порядок больше, чем в HotA. Хотя бы поэтому она стабильнее. Ну и просто молодцы, что сделали адон без крашей.
HD mod в основном касается компонента диалогов и DirectX. С диалогами я начал разбираться только после выхода WoG 3.58f, т.е. заготовка к 3.59. Но к тому моменту я уже устал и кастомные диалоги в героях используют все, кроме самого WoG на момент 3.58f.

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

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

Вылетает на ходе врага весьма часто. Хотя как-то вот на Десятке везет в последние 3 года кажется. Хотя игр было не так много - 1,2,3 (эту продул), 3.1 (изменил чуток карту), 4 (дня за 3 выиграл).

Пожалуйста, опубликуйте письмо, где вы объясняете Гасу как ваш аддон работает. Такое всегда интересно читать.

Не хочется выглядеть пустобрехом, но прямо сейчас я его не могу найти. Есть еще надежда на старые базы The Bat, но и их еще надо найти - компьютер давно не "тот самый, на котором WoG писался".

ИМХО, Гас может и неправ, но формально он не делал очерняющих публичных заявлений. То что он лично думает - это его дело. Какой-то пранкер "Денис Макаров" очевидно словил свои 15 минут славы свою долю лулзов, потряхивая найденным грязным бельём и разводя обе стороны на эмоции.

Главное, что никаких последствий его пранк не имел и юристы 3DO или Ubisoft не заспамили мод письмами "счастья" вида Cease-and-Desist. Хотя могли бы.

Без обид, это реально очень круто и познавательно, но весь текст просто-таки умоляет о заголовке "WoG уже 20 лет, а у меня до сих пор подгорает..."
:)

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

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

Одно другому не мешает. Может и напишу. Думаю, вы понимаете, что объем работы для такой статьи в разы больше.

И правильно сделали.

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

Тон письма очень грубый, Гас молодец что просто забил на общение с вами и не стал что-то делать с юристами.

публиковать это серьезно сейчас огромная глупость, это вы так за 20 лет ничего и не поняли

Автор как раз пишет в конце статьи что выводы он сделал. Мне было очень интересно читать, т.к. каких-то 10 лет назад я сам мог бычить в подобном стиле. Отличный пример отсутствия и важности soft skills.

Что касается Гаса, то что он не смог признать ошибку, чести ему не делает. До сих пор встречаются такие противные американцы: немного расисты, немного высокомерные, немного тупые. Каждый, кто на корпоративе сидел за столом "для европейцев и азиатов", понимает)

Что касается Гаса, то что он не смог признать ошибку, чести ему не делает.

Это если принять, что ему действительно пытались вежливо объяснить. Что, как вы сами видите, мягко говоря, не очевидно.

Конечно "не очевидно", поэтому не спросим, а поставим под сомнение. Здесь приведено последнее мое письмо. Выше указано, что я ему приватно пытался объяснить как работает WoG и он приватно мне конкретно сказал, что я вор.
К сожалению, в данный момент, я не могу найти всю нашу переписку, что естественно дает вам полное право считать что вежливость была "не очевидна".

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

думаю ту часть в которой вором вас не называли. хотя это можно было дофантазирвоать что мы в россии очень любим делать. ну и будучи игровым программистом Гас вовсе не обязан быть системным программистом и разбираться в том как работают инъекции. верить вам на слово он тоже не должен был..

Видимо я плохо изложил то, что я писал ему приватно и объяснял как работает WoG. Этого разве нет в тексте?
Разве я сам не писал что Гас "не обязан быть..."?
И тем более верить мне на слово, ничего не понимая в мною изложенном дает ему полное право считать меня вором.
И да, если он приватно мне написал, что я вор, но я не привел тут его письмо абсолютно точно говорит о том, что "я так ничего и не понял".
Скажите, вы всегда делаете выводы по первому и последнему письму?

Еще раз попытаюсь донести свою мысль.

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

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

  3. Первое письмо уже было написано в оскорбительной манере для англоговорящих людей. Обороты вида "любой (дурак) кто понимает формат PE может увидеть" звучит уже offensive, обвиняя другого человека, что он не понимает формата PE (а почему он должен?)

  4. Гас ответил на это, что 3DO и NWC знают о проекте и сознательно ничего не предпринимали. Размещение приватных емейлов публично без согласования зло и что он не отказывается от первичных слов.

  5. Раздутое ЧСВ Славы тут совсем вышло из берегов и он просто обвинил человека, которого он не знает в том, что он хуже студентов, не знает программирование и вообще, его профессиональные скилы под вопросом. А он вообще, кандидат наук и старший преподаватель в заборостроительном институте.

  6. На что Гас, оказавшись умнее, просто перестал спорить (тут есть поговорка, с кем обычно не спорят) и не стал мстить (хотя наверняка пара писем юристам и проект можно было закрывать)

Теперь, немного порефлексируем, что там не так и почему писать такие статьи через 20 лет это показать, что за 20 лет автор так и не поумнел.

  1. Вполне возможно, Гас был в чем-то не прав. А в чем-то возможно и прав и у кого-то был исходный код. Право так думать он имел в любом случае.

  2. Юридическая чистота мода в любом случае под сомнением. Не смотря на то, что для паблишера WoG наверняка был источником денег, они могли прикрыть проект легко и примеров тьма (нинтендо и иже с ними). Вместо того, чтобы опубликовать позицию на сайте дескать "кода нет, файлов не меняем, требуется лицензия" Слава начал бомбить Гасу

  3. Что еще более зашкварно, приватная переписка была без согласия опубликована (а это нарушение этики, на этих ваших западах за это на раз два можно вылететь из компании), а бомбление вообще свелось "а ты вообще дурак"

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

  5. Все это можно было простить 20 лет назад, когда Слава был молодой, варился в Российской культуре где вместо "здрасьте" посылают друг друга на ... Но в 2022, когда о деловом английском известно все и все понимают, что профессионализм разраба игр и системного программиста лежат в разных областях публиковать этот, простите высер - это по сути признание, что до сих пор бомбит и что Слава как был ЧСВ токсик, так и остался.

  1. Когда вы знаете, что кто-то предполагает что вы сами что-то не способны сделать, а вам слили исходники, да, это ведь "не ваше дело". Слово "репутация" для вас, видимо пустой звук. Ну допустим.

  2. Я вам больше скажу, не " декомпиляцией в IDA Pro ", а в Hiew и TD32. IDA использовалась намного позже, к версии 3.58. "Может быть" - тут главная часть. Я-то знал, что не может. Но вы же лучше знаете.

  3. Вы про это: "Any programmer who understands the structure of windows executable file can check it" ? Где тут "любой (дурак)"? Переведу вам смысл. "Если сами вы не понимаете, спросите понимающего человека и он вам объяснит". Вы видите в тексте то, чего нет. Мне кажется вы в жизни чересчур обидчивы и все на свой счет принимаете (если что, это фраза в вашем стиле).

  4. Это ко мне как относится? Вы пересказываете мой текст?

  5. "Раздутое ЧСВ Славы тут совсем вышло из берегов" - не плохо бы следить за языком. Вы ошиблись и решили, что текст последнего письма из переписки подразумевает, что самой переписки и не было. В промежутке Гас написал мне что лично меня обвиняет в воровстве и что иначе бы я ничего сделать не смог бы. Но вы же лучше знаете. "Заборостроительный институт", если что вот: https://www.spbstu.ru/

  6. Гас не перестал спорить. Но вы же лучше знаете.

    20 лет спустя. И почему я не поумнел.
    Не буду здесь кормить тролля. Приведу лишь первую фразу моей статьи:
    " Все это уже история... "
    Но некоторые считают, что историю надо запретить.

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

Так всё таки делалось через перехват РЕ заголовка :)
А студенты вылавливали исходники WoG в сети, чтобы разобраться, как работает патч. Легенда гласила, что там полноценные исходники HoMM3.

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

Конечно, иметь исходники не необходимость, однако без них процесс намного более ресурсоемкий.

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

А есть где-то в opensource вся игровая механика героев?

Есть вот такая штука, весь движок героев с нуля.

Насколько мне известно, в дальнейшем развитие WoG вылилось в создание модоплатформы HoMM 3 ERA. Это тоже ваше?

Нет. ERA - продукт Берсеркера. Свои исследования я ему передал, но дальше он все сам.

Понятно

Про технологию, как пристроиться к экзешнику, где можно почитать? (не для 80 уровня только)

Я умею только для 80-го. )

Допишу. Попиарюсь. ) У меня есть курс по защите прикладного программного обеспечения в магистратуре Петербургского Политеха. Вот там и этот вопрос затрагивается.

Если к Windows PE, то очень простой пример с перехватом заранее известной ф-и есть вот здесь:

https://hackmag.com/malware/сode-injections-for-windows-applications/

Но единой методики нет. Базовые кирпичики это знание WinAPI и умение перехватывать и заменять вызовы в дебаггере, читать ассемблерный код. Далее по факту идёт свободное творчество

На сколько помню, способы инжекции в запущенные исполняемые файлы неплохо описал Дж. Рихтер в своей книге "Windows для профессионалов. Cоздание эффективных Win32-приложений". Ей уже лет 20 и сейчас наверно многое не очень актуально. Но тогда его книга, вкупе с Руссиновичем, были масхев для системного вин-программиста.

НЛО прилетело и опубликовало эту надпись здесь

Замысловатые инструкции до установки и еще больше - после.

Ну блин, выложить что ли куда-то архив игры, которая точно не требует установки?
Но да, с вылетами проблемы бывают. Иногда Герои даже плохо относятся к широкоформатному монитору, вылетая при отводе мышки вправо (или влево тоже?).

Вот тут есть стабильные сборки Эра (улучшенный ВоГ):

http://wforum.heroes35.net/showthread.php?tid=5819

Можно просто скачать, установить, играть.

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

Как это относится к "есть стабильные сборки"?

ВоГ вроде как и преподносился как игра, где возможно все

Для меня WoG был примером как не нужно делать моды, он тупо поганил отличную игру. А вот HoTA вполне себе отличное развитие серии.

Поразительно — автор предпочел опустить все интересные технические подробности, но рассказать про то, как он один раз двадцать лет назад нахамил ведущему разработчику Героев 3.

Я нахамил не ведущему разработчику Героев 3. Он тогда еще был "на подхвате". Вы не внимательно прочитали. )

Слава, спасибо вам за WoG! Половина моего детства - это "ОГО как, оказывается, можно!", изучение ERM, переписка по е-мейлу со случайными незнакомыми картоделами, реализация каких-то глупостей типа лесопилок, которые пилят лес вокруг (и удаляют клеточки), зеркальные битвы, логические задачки, которые развиваются в зависимости от действий в прошлом.

До сих пор помню одну карту - A Dragon In My Heart - и каким вдохновением она служила.

Хорошее было время :)

Играем регулярно с супругой в Heroes ERA, чтение статьи случилось во время игры и её хода :D

Спасибо всем кто это сделал.

Игра настолько удачная и ламповая на рандомных картах в Hotseat режиме, что за 20 с лишним лет не отпускает.

Hidden text

Если вдруг кто-то не понял, то Heroes ERA совсем не означает что там нет WoG, наоборот - он там есть. Просто сам по себе WoG не делает игру на FHD TV удобной, а Heroes HD позволяет. Так что это микс разных модов объединённых в одном месте. И да, моды требуют легальный SoD.

Беглый взгляд на экзешник Героев 3 даёт основания предполагать, что часть его упакована и, возможно, зашифрована. Конечно, это может быть общеизвестный LZW, а не глубокая обфускация в стиле "виртуальная машина на стрелке Пирса", тем не менее, декомпиляция и дешифрация исполняемого кода может вызывать множество юридических вопросов, особенно по законодательству некоторых стран.
Если же абстрагироваться от юрдических аспектов, то создание такой надстройки над экзешником - это, конечно, страшное колдунство, учитывая столь глубокое проникновение в игровую механику. Вместе с тем, это же и порядком геморройно - нудно и кропотливо вылавливать в памяти каждую переменную и её связи. А учитывая, что всё делалось не для денег, а just for fun - автору огромный респект.

Все же там нет упаковки и шифрования. Обычная компиляция с оптимизацией по скорости. Но изучение этого реально геморрой. Потому меня и хватило лишь на 4 года.

Удваиваю, про технологию пристройки и о причинах, почему проект был заброшен — ни слова.

В то же время представлю противоположное мнение касательно HOTA — на мой взгляд, значительно уступающий WOG.

Исходные данные: рандомно сгенерированная карта большого размера, WOG, HOTA, SOD.

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

2) SOD. Тут все и так в принципе понятно, нет такого многообразия и уникальности, но играется интересно и стабильно, хотя и надоедает.

3) HOTA. В этом аддоне полностью разочаровался. Из значимых плюсов новые фракции, на момент игры была целая одна, ряд объектов, но на картах среднего и бОльшего размеров какой-то кошмар. Все объекты повторяются, особо и смысла нет открывать больше 25% — уже знаешь, будет все то же самое, проще бегать по точкам, что близко. И это катастрофа, потому что с определенного момента игра становится очень однообразной и сводится к тупому закликиванию. Не знаю, может быть что-то поменялось с того момента, как я ее ставил, но тогда я из плюсов увидел только новые юниты и обновленные текстурки.

Слушай, ну геймдев это геймдев. Это раньше, когда индустрии считай не было, это было уделом элиты. Исключения типа Кармака только подтверждают правило. А сейчас... Сейчас "геймдев" это вообще андроид и айос. Лучше даже не смотри туда, нервы будут целее.

(вижн с середины колокольни)

Спасибо, @zvszvs за мое счастливое детство. Функционально, конечно, wog куда мощнее HOTA, сам в свое время разбирался с ERM скриптами, пилил свои карты, под впечатлением от компании WOG которая переворачивала игру в стиль RPG. Но да, нестабильности со скриптами были всегда - то вылеты на сфинксе, то мифрил нельзя потратить, да и некоторые объекты странноваты. Но то что под капотом wog скриптовый язык - это мощь, реально позволяло сильно разнообразить карты.

Лично у меня homm3 это - wog, так что я бы не записывал wog прям в архив истории, классический SoD, после вога слишком топорный, а HOTA - идёт тому кто не играл в wog, или любит более классический SoD.

Про "стиль RPG" в виде "одним командиром побеждать всех" - иногда и в такое играл. Особенно - если получалось добыть кольчугу и меч ему одновременно.

P.S. Правда про WoG узнал поздно, впервые такое играл в Четверке.

Небольшое замечание. У меня на Семерке с SoD метод "скопировать установленную на XP игру" в явном виде не сработал (правда изначально игра ставилась вообще на 2k). Сработал вариант "применить какой-то лежащий в папке игры reg-файл" (правда в папке WoG я его не вижу).
А вот WoG с какого-то торрента скачал в виде архива установленной игры и все отлично потом копируется между компами.
P.S. Другим методом "установки" SoD на Семерку было "установить поверх HotA".

Про сам принцип работы ничего. Это не бложек, чтоб тут про свои личные драмы рассказывать.

Хочется спросить у корефеев, так какая финальная версия WOG версии игры?)

Чтобы без вылетов и прочего. Ибо только WOG усиливает и дополняет тот магический и ламповый антураж героев, остальное увы - мимо

Официально последний WoG, в котором я участвовал это 3.58f. Далее я начал работать над 3.59, но выгорел и передал проект остальным членам команды. Они делают 3.59, но точно не могу сказать к каком он сейчас состоянии.
Для лампового антуража, мне кажется, и 3.58f достаточно.
Вот, кстати, есть ю-тьюбер, периодически играющий в WoG до сих пор и транслирующий: https://www.youtube.com/c/Shakeron

Скорее всего Гас все прекрасно понял, но занял такую позицию про "кражу" т.к. ему невыгодны неофициальные аддоны, которые скачивают от полумиллиона человек.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории