Reverse Engeneering HoMM 3 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Общий - Герои Меча и Магии 3 - Heroes OF Might And Magic 3 Информация об игре и ее обсуждения.

Ответ
 
Опции темы
#1
Старый 15.05.2008, 12:41
  #1
^
Ben80
 
Аватар для Ben80
📖
Регистрация: 05.05.2008
Сообщения: 168
Регистрация: 05.05.2008
Сообщения: 168
По умолчанию
Reverse Engeneering HoMM 3

Заголовок вроде правильно написал

Есть крайне интересные вопросы, касающиеся "физики" Героев, ответы на которые можно получить видимо лишь посредством изучения экзешника. Сам я на данный момент хорошими знаниями в такой области не обладаю.

Если есть кто-то, способный прояснить вопрос с построением Skilling Tree в начале игры (какие правила и вероятности при этом используются), буду благодарен этому человеку. Думаю, уважаемый AmberSoler также был бы заинтересован в этом (возможно, с включением этой инфы в FizMiG).
Ben80 вне форума
Ответить с цитированием
#2
Старый 16.05.2008, 08:20
  #2
^
Horn
📖
Регистрация: 23.01.2006
Адрес: Питер
Сообщения: 88
Отправить сообщение для  Horn с помощью ICQ
Регистрация: 23.01.2006
Адрес: Питер
Сообщения: 88
Отправить сообщение для  Horn с помощью ICQ
По умолчанию
Re: Reverse Engeneering HoMM 3

Тесты (не я проводил) выявили, что никакого дерева в памяти не хранится, что вполне естественно. Практически уверен, что при старте игры генерируется и запоминается только зерно (стартовое значение) для ГСЧ. А уже по нему на левел-апах в соответствии с прописанными в текстовике вероятностями (плюс некоторые нюансы вроде обязательного Wisdom'а) получаем предлагаемые умения. Восстановить же по результатам сам алгоритм ИМХО нереально, лучше уж пытаться дизасемблировать нужный кусок ехе'шника.
Horn вне форума
Ответить с цитированием
#3
Старый 16.05.2008, 09:42
  #3
^
Loi
 
Аватар для Loi
📖
Регистрация: 30.12.2007
Сообщения: 1084
Регистрация: 30.12.2007
Сообщения: 1084
По умолчанию
Re: Reverse Engeneering HoMM 3

Возможно, в первом посте и не имелся ввиду конкретный и четкий алгоритм? Имхо, предполагалось получить в удобной и понятной для игрока форме как раз те самые вероятности получения скилла на данном уровне(даж не точечные значения, а интервалы и даже может, не абсолютные, а относительные величины (коэффициенты)-например. к рыцарю Валеске). Понятно, что вероятности (их интервалы ) должны быть условные, в зависимости от значения предыдущих скиллов. Задача непростая, но вроде как пока и не требуется истинных утверждений - а пусть данные вероятности тож будут выданы с определнными весами (надежность), что ли...
Поправьте, меня, плиз -если что не так....
П.С. И ваще, давайте чтоли забабахаем ЭС, пусть на продукционной модели -а что, нормал.... Експертов вагон...
дизасемблировать нужный кусок ехе'шника.
-что это даёт, поясните?
__________________
Стратегия - искусство возможного.



Первое правило форума :

"Хвалу и клевету приемли равнодушно

И не оспаривай глупца" (с)



Новичкам: ВНИМАТЕЛЬНО перечитайте ВЕСЬ первый пост по нижеприведенной ссылке и 90% ваших вопросов отпадут( на остальные 10% с удовольствием отвечу):

Правила онлайн игр
Стратегия - искусство возможного.



Первое правило форума :

"Хвалу и клевету приемли равнодушно

И не оспаривай глупца" (с)



Новичкам: ВНИМАТЕЛЬНО перечитайте ВЕСЬ первый пост по нижеприведенной ссылке и 90% ваших вопросов отпадут( на остальные 10% с удовольствием отвечу):

Правила онлайн игр
Loi вне форума
Ответить с цитированием
#4
Старый 16.05.2008, 12:02
  #4
^
Dirty_Player
 
Аватар для Dirty_Player
Координатор
📖
Регистрация: 29.04.2007
Адрес: Las Vegas, Nevada
Сообщения: 11704
1750
Отправить сообщение для  Dirty_Player с помощью ICQ Dirty_Player#3487
Выставка наград
Регистрация: 29.04.2007
Адрес: Las Vegas, Nevada
Сообщения: 11704
1750
Отправить сообщение для  Dirty_Player с помощью ICQ Dirty_Player#3487
Выставка наград
По умолчанию
Re: Reverse Engeneering HoMM 3

Дерево скилов генерируется в момент запуска карты. Т.е. начали игру и сгенерировалось определённое дерево скилов. Т.е. можно на первый день изучить дерево и оно будет постоянно всю игру.

Важный момент. Если дают скилл в хижине ведьмы, хижине провидца, универе или учёном, то это напроч ломает дерево скиллов и даёт новое, но постоянное и не зависещее от левел-апов!

Например, если Валеска при получении 2 уровня получает выбор продвинутую Стрельбу или базовый Мистицизм, то сколько автосейв не грузи так оно и будет. Если Валеска на втором урове изучила Базовую Навигацию в хижине ведьмы, то на третем уровне она получит другой скилл справа, но каждый раз один и тот же!
Таким образом и выбираются нужные герои при игре офф-лайн!

И напоследок. Естественно есть процентная вероятность получения вторичных и первичных навыков на каждом уровне для каждого из 18 классов героев. Ниже выкладываю шансы для Валески (ну и для всех рыцарей соответственно)

Например. Коэффициет скила Navigation = 8. Это значит что вероятность выпадения Навигации при повышении уровня равна 8/112 = 0,0714 = 7,14%
Миниатюры
Нажмите на изображение для увеличения
Название:  Valeska.jpg
Просмотров: 297
Размер:	99.8 Кбайт
ID:	9307  
Dirty_Player вне форума
Ответить с цитированием
#5
Старый 16.05.2008, 12:16
  #5
^
Ben80
 
Аватар для Ben80
📖
Регистрация: 05.05.2008
Сообщения: 168
Регистрация: 05.05.2008
Сообщения: 168
По умолчанию
Re: Reverse Engeneering HoMM 3

loi;176871Возможно, в первом посте и не имелся ввиду конкретный и четкий алгоритм?

Я имел в виду именно весь алгоритм до последней крошки.

loi;176871 -что это даёт, поясните?

Алгоритм. Получать статистику и спекулировать на ней - вариант похуже.
ИМХО

Добавлено через 4 минуты
Dirty_Player;176890Дерево скилов генерируется в момент запуска карты. Т.е. начали игру и сгенерировалось определённое дерево скилов. Т.е. можно на первый день изучить дерево и оно будет постоянно всю игру.

Согласен с Horn'ом. Создается, конечно, не дерево, а некое случайное число (или несколько чисел), по которому потом все и делается.

Dirty_Player;176890Важный момент. Если дают скилл в хижине ведьмы, хижине провидца, универе или учёном, то это напроч ломает дерево скиллов и даёт новое, но постоянное и не зависещее от левел-апов!

Разумеется. В том смысле, в котором вы говорите ломается дерево, в математическом смысле - изменяется то самое число.

Если хранить все дерево, то это займет очень много места, поверьте.
Ben80 вне форума
Ответить с цитированием
#6
Старый 16.05.2008, 12:28
  #6
^
Dirty_Player
 
Аватар для Dirty_Player
Координатор
📖
Регистрация: 29.04.2007
Адрес: Las Vegas, Nevada
Сообщения: 11704
1750
Отправить сообщение для  Dirty_Player с помощью ICQ Dirty_Player#3487
Выставка наград
Регистрация: 29.04.2007
Адрес: Las Vegas, Nevada
Сообщения: 11704
1750
Отправить сообщение для  Dirty_Player с помощью ICQ Dirty_Player#3487
Выставка наград
По умолчанию
Re: Reverse Engeneering HoMM 3

Ben80;176892Разумеется. В том смысле, в котором вы говорите ломается дерево, в математическом смысле - изменяется то самое число.
Я расписал вариант так сказать "для народа", который понял я и поймёт практически любой.
Ben80;176892Я имел в виду именно весь алгоритм до последней крошки.
Ну лезть в такие дебри захочет далеко не каждый. ИМХО каким-то образом при старте генерится дерево=const, которое соответствует одному конкретному герою, а уж каким образом это реализуется с точки зрения програмирования я даже и думать боюсь
Ben80;176892Если хранить все дерево, то это займет очень много места, поверьте.
Верю. героев примерно 150 и у каждого своё дерево, а само дерево это максимум где-то 2 в 24 степени вариантов....
Dirty_Player вне форума
Ответить с цитированием
#7
Старый 16.05.2008, 12:41
  #7
^
Ben80
 
Аватар для Ben80
📖
Регистрация: 05.05.2008
Сообщения: 168
Регистрация: 05.05.2008
Сообщения: 168
По умолчанию
Re: Reverse Engeneering HoMM 3

Dirty_Player;176899Я расписал вариант так сказать "для народа", который понял я и поймёт практически любой.

Ну лезть в такие дебри захочет далеко не каждый. .

Узнав этот алгоритм, можно представить его для народа в удобоваримом виде. Те, кто пытался понять алгоритмы Господа Бога, представляли это то в виде законов Ньютона, то еще как-то
Ben80 вне форума
Ответить с цитированием
#8
Старый 16.05.2008, 15:45
  #8
^
Horn
📖
Регистрация: 23.01.2006
Адрес: Питер
Сообщения: 88
Отправить сообщение для  Horn с помощью ICQ
Регистрация: 23.01.2006
Адрес: Питер
Сообщения: 88
Отправить сообщение для  Horn с помощью ICQ
По умолчанию
Re: Reverse Engeneering HoMM 3

Ben80;176892Я имел в виду именно весь алгоритм до последней крошки.
А зачем он? Игрокам достаточно таблицы вероятностей и знания тех самых особых деталей вроде обязательного выпадения Мудрости. Конкретная же реализация нужна только тому, кто ее собирается править.

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

Разумеется. В том смысле, в котором вы говорите ломается дерево, в математическом смысле - изменяется то самое число.

Меняется скорее всего не число, а его трактовка алгоритмом. Ведь если герой заимел навык у ведьмы, вместо шанса его получить как новый появляется шанс его продвинуть. Т.е. навык из правого слота "переезжает" в левый.
Horn вне форума
Ответить с цитированием
#9
Старый 16.05.2008, 15:55
  #9
^
Ben80
 
Аватар для Ben80
📖
Регистрация: 05.05.2008
Сообщения: 168
Регистрация: 05.05.2008
Сообщения: 168
По умолчанию
Re: Reverse Engeneering HoMM 3

Horn;176942А зачем он? Игрокам достаточно таблицы вероятностей и знания тех самых особых деталей вроде обязательного выпадения Мудрости. Конкретная же реализация нужна только тому, кто ее собирается править.

Разве доказано, что значения из таблицы вероятностей для классов не подвержены корректировкам со стороны алгоритма в случае каких-то событий (например, в случае наличия уже имеющихся навыков) ?
Если нет никакой корреляции между вероятностями выпадения скиллов, то немного грустно.
И кто может точно сказать, какие есть еще правила кроме Wisdom на 6 уровне и some magic school на 4 ?

Horn;176942В ERM есть оператор, позволяющий узнать, что предложат на ближайшем уровне. Значит, Слава нашел точку входа в нужную функцию в коде НММ. Возможно (в ERM ни в чем нельзя быть уверенным заранее - все надо пробовать ), этот оператор позволит написать скрипт, генерирующий дерево для конкретного героя. Вот только в каком виде это дерево выдать? Максимум, что может создать скрипт - это текстовый файл. Значит, нужна еще и стороння программка, которая эти текстовики будет конвертить в наглядный формат, например, в граф. Это было бы несомненно полезно для оффлайна, но возни... Впрочем, если кто возьмет на себя вторую часть работы (интерпретацию текстового файла), я мог бы попробовать справиться с первой. Но работать будет только в WoG и аддонах на его основе, для классического SoD - увы.

Если это предложение всем желающим, то я обязательно подумаю пару дней и напишу в личку.
Ben80 вне форума
Ответить с цитированием
#10
Старый 19.05.2008, 08:21
  #10
^
Dirty_Player
 
Аватар для Dirty_Player
Координатор
📖
Регистрация: 29.04.2007
Адрес: Las Vegas, Nevada
Сообщения: 11704
1750
Отправить сообщение для  Dirty_Player с помощью ICQ Dirty_Player#3487
Выставка наград
Регистрация: 29.04.2007
Адрес: Las Vegas, Nevada
Сообщения: 11704
1750
Отправить сообщение для  Dirty_Player с помощью ICQ Dirty_Player#3487
Выставка наград
По умолчанию
Re: Reverse Engeneering HoMM 3

Horn;176942Меняется скорее всего не число, а его трактовка алгоритмом. Ведь если герой заимел навык у ведьмы, вместо шанса его получить как новый появляется шанс его продвинуть. Т.е. навык из правого слота "переезжает" в левый.
Вот с этим не согласен.
Вчера играл за Инферно. Учёный даёт Октавии базовую Некромантию. Через несколько уровней мне предлагают её продвинуть, хотя земля и логистика были не экспертные. Т.е. если бы шанс продвинуть был бы равен шансу получить (а именно 0%), то продвинуть я смог бы только, когда все навыки были бы экспертные и не было бы свободных слотов. А это не так. Из вышесказанного следует одно из двух:
1. Для того чтоб получить определённый продвинуть навык, существуют какие-то свои вероятности.
2. Навык в левом слоте выбирается случайным образом из неэкспертных.

Мне кажется, что верный вариант 2. Если кто знает точно, поделитесь пожалуйста!
Dirty_Player вне форума
Ответить с цитированием
#11
Старый 19.05.2008, 12:26
  #11
^
ewgeniy
 
Аватар для ewgeniy
📖
Регистрация: 18.05.2007
Адрес: Арканар
Сообщения: 1146
Отправить сообщение для  ewgeniy с помощью ICQ
Регистрация: 18.05.2007
Адрес: Арканар
Сообщения: 1146
Отправить сообщение для  ewgeniy с помощью ICQ
По умолчанию
Re: Reverse Engeneering HoMM 3

выдумываете новые приспосабления для онлайн?
__________________
В. Уэйтс©

Но поскольку я нищий,

у меня лишь есть мечты.

Я разостлал свои мечты пред вашими ногами.

Ступайте бережно, ибо вы ступаете по моим мечтам.
временно ушел с форума, переодически заглядываю. кому нужен пишите в скайп ewgeniy1985. в аське 384385000 очень редко.
В. Уэйтс©

Но поскольку я нищий,

у меня лишь есть мечты.

Я разостлал свои мечты пред вашими ногами.

Ступайте бережно, ибо вы ступаете по моим мечтам.
временно ушел с форума, переодически заглядываю. кому нужен пишите в скайп ewgeniy1985. в аське 384385000 очень редко.
ewgeniy вне форума
Ответить с цитированием
Ответ


Опции темы



Часовой пояс GMT +4, время: 11:55.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru