Задать вопрос
@denivel

Как извлечь информацию из игры для анализа?

В компьютерной игре огромное количество различных параметров, показателей и прочей численной информации, которая могла бы быть полезна для анализа. У меня вопрос, каким образом необходимую информацию из игры можно извлечь для дальнейшего анализа?
  • Вопрос задан
  • 1266 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@nirvimel
Не существует никаких универсальных методов, подходящих для всех случаев. Такой вопрос можно задавать только по отношению к конкретной игре. В целом тут не обойтись без реверс-инжиниринга (если только игра не open source).
Из числа самых общих подходов к этой проблеме можно упомянуть следующее (от простого к сложному):
  1. Анализ формата save-файла и извлечение необходимых данных из него. Часто это оказывается единственно возможный путь, не смотря на кажущееся неудобство такого подхода.
  2. Вычисление статических адресов в адресном пространстве процесса, по которым находятся переменные, в которых хранятся какие-то важные игровые параметры. Для этого давно существуют такие автоматизированные инструменты как ArtMoney. Но против современных игр все это практически бесполезно, так как все структуры данных хранятся в динамической памяти.
  3. Гонять игру под отладчиком, выявлять функции (точки входов в них) которые вызываются на определенные игровые события, анализировать параметры этих функций, искать среди них переменные, отвечающие за какие-то значимые игровые параметры. Потом писать патч к игре, в котором перехватывать эти функции и сохранять передаваемые параметру куда-нибудь, откуда их можно легко получить снаружи.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Сильно зависит от игры. Может быть у неё API есть, может быть нету, но можно внедриться в код. Может быть игра логи пишет постоянно. Ещё можно память мониторить в стиле ArtMoney и CheatEngine. А в некоторых играх бывает всё запрятано так, что остаётся только данные с экрана распознавать. Так что вариантов много, нужно смотреть по ситуации.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Data World Москва
от 180 000 до 230 000 ₽
Автомакон Москва
от 250 000 ₽
SpectrumData Екатеринбург
от 200 000 ₽