@denivel

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

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

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

Войти через центр авторизации
Похожие вопросы