GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.1 (4)След. > >>   Поиск:  
 Автор Тема: перехват IO интерфейсов: есть готовые решения?
daner
Сообщений: 4593
перехват IO интерфейсов: есть готовые решения?
Добавлено: 04 май 07 20:25
Тут вот такой вопросик появился... никто не слышал про программы которые могут перехватывать изображение и контроль других программ? ну т.е. я понимаю, что это вполне реально... но меня интересует есть ли уже готовые решения (библиотеки например).
и вот еще для знатоков, такой вопрос:
Можно ли сделать программу, которая подобное будет делать с любыми программами и минимальными настройками?
Это была бы весьма не слабая платформа для реальных агентов. работала бы с любыми играми, начиная от тетриса и закачивая самыми продвинутыми на сегодня играми с самой продвинутой физикой и реалистичностью.
Да, я конечно понимаю, что для стратегий и логики, такой подход не особо актуален (слишком много второстепенных сложно решаемых проблем. типа, зачем для игры в тетрис алгоритмы распознавания образов...), но для игр от первого лица... это просто, реально агент будет точно в тех же условиях, что и человек (ну только его комары кусать не будут, в особо ответственные моменты ).
[Ответ][Цитата]
гость
217.118.66.*
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 04 май 07 22:03
Вообще задача по разработке такого перехватчика и задача по переводу неадаптированного (моноскопического) растрового изображения в трехмерный аналог - просто несопоставимы по сложности. Сделайте скриншот любой 3d game и попробуйте сделать по ней модель. Удастся - и я сделаю вам такой перехватчик.
[Ответ][Цитата]
anatoli
Сообщений: 249
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 04 май 07 23:21
Если речь идет о винде и об обычных программах, то это делается хукованием апи функций системы. Если же речь идет о сложных играх, то там этот метод применить будет сложнее, т.к. хучить придется директХ-овые функи. В целом же, для игр можно сдергивать скриншоты с определенной частотой (типа 30 раз в секунду) и обрабатывать их как поток видео, а контролы клавы/мышки захучить обычным способом.

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

Кстати, агент там не будет в тех же условиях, что и человек. Отсутствуют ощущения, да и трехмерность там - по принципу wiggle stereoscopy. Лучше уж создать свою модель пространства, специально заточеную под человекоподобных агентов.
[Ответ][Цитата]
daner
Сообщений: 4593
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 05 май 07 1:42
Цитата:
Автор: anatoli

Если речь идет о винде и об обычных программах, то это делается хукованием апи функций системы. Если же речь идет о сложных играх, то там этот метод применить будет сложнее, т.к. хучить придется директХ-овые функи. В целом же, для игр можно сдергивать скриншоты с определенной частотой (типа 30 раз в секунду) и обрабатывать их как поток видео, а контролы клавы/мышки захучить обычным способом.

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

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


Вот и у меня точно те же мысли были. только вот, сомневаюсь, что обычный скриншот openGL/direcX заснимит... хотя не уврен... кто-нибудь знает что-то об этом? (пробовать я не хочу, так как в игре может быть встроенный обработчик скриншота и это ничего не скажет о других играх).

Цитата:

Вообще задача по разработке такого перехватчика и задача по переводу неадаптированного (моноскопического) растрового изображения в трехмерный аналог - просто несопоставимы по сложности. Сделайте скриншот любой 3d game и попробуйте сделать по ней модель. Удастся - и я сделаю вам такой перехватчик.


Вы конечно правы, но забываете несколько моментов.
Во-первых, не факт, что для мне вообще нужно 3D модель делать. ну мало ли. может быть окажется, что достаточно просто распознавать образы врагов (разного размера) и дверей (тоже разного размера)....
во-вторых, кроме статической картинки, агент будет видеть динамику, сам двигаться и все такое. я не специалист в распознавании, но думаю что очевидно то, что такого рода информация серьезно облегчает построение 3d модели.
И вообще, это отдельная и очень интересная тема для исследования : на сколько детальное распознавание необходимо для тех или иных задач!!!
[Ответ][Цитата]
anatoli
Сообщений: 249
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 05 май 07 1:58
FRAPS (http://www.fraps.com) - скриншотит и записывает видео/аудио любой DirectX/OpenGL-игрушки
[Ответ][Цитата]
og http://openai.narod.ru
Сообщений: 19
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 05 май 07 3:41
Daner:
> Во-первых, не факт, что для мне вообще нужно 3D модель делать.

Для адекватной реакции агента вам не нужно знать расстояние до объектов? Ведь без стерео черт его знает, дверь большая или близко, враг маленький или далеко.

Daner:
> во-вторых, кроме статической картинки, агент будет видеть
> динамику, сам двигаться и все такое.

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

И вообще, если вам нужно получить адекватную ("интеллектуальную") реакцию от агента проще поступить как советует anatoli - создать специализированную 3д среду заточеннуе для таких агентов.

А если вся задача в распознавании и постройки 3д модели по стереокартинке - то эта задача как простая, так и решенная.
[Ответ][Цитата]
anatoli
Сообщений: 249
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 05 май 07 5:06
О! Идея!

Чтобы создать настоящее стереоскопическое зрение в обычной игре надо играть одновременно в 2х инстанциях игры и поставить игроков вплотную друг к другу (особенно в multiplayer). Тогда если они будут смотреть в одну точку, то результирующая картинка будет настоящей 3х-мерной картинкой. Заодно поинтересней будет и управлять таким сдвоенным игроком. Будет 2 ноги, 2 глаза на управление, разворачивать и перемещать такого игрока тоже будет не так просто. : )))


А вообще, не вижу ничего сложного в построении 3D-представления из двумерной картинки путем перемещения.

> ваш агент будет просто постоянно дергаться из стороны в сторону чтобы узнать расстояние

не совсем.. достаточно небольшого стрейфа, чтобы уже иметь полное 3D-представление того участка пространства, которое было в этот момент в поле зрения. Зачем же тогда дополнительно дергаться? Или у игрока не будет совершенно никакой памяти? Более того, можно предугадывать пространственные строения путем виртуального продолжения уже существующих (например, коридор за углом, от которого с данной позиции видна только небольшая часть). Так что все не так плохо. Думаю, идея daner''а на скриншотах вполне прокатит.

Хотя, конечно, построить специализированную модель было бы тоже очень не плохо. Кстати, исходники некоторых старых игр были открыты. Quake 1 уже открыт с 1999 года (http://en.wikipedia.org/wiki/Quake#Source_code_and_legacy). Так что, чтобы не создавать все с нуля, можно слегка модифицировать эти игры. Да и графика там попроще для анализа.
[Ответ][Цитата]
og http://openai.narod.ru
Сообщений: 19
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 05 май 07 5:31
anatoli:
> Кстати, исходники некоторых старых игр были открыты. Quake 1
> уже открыт с 1999 года
> (http://en.wikipedia.org/wiki/Quake#Source_code_and_legacy).

Без всяких стеснений можно взять с официального сайта сырцы и третьей части (под GPL) :
ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip
[Ответ][Цитата]
daner
Сообщений: 4593
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 05 май 07 5:58
Нет, вы не поняли. Игры, для которых можно писать агентов, уже ест и так (например unreal turnament), но я хотел что бы интерфейсе был универсальным... и что бы можно было с любой игрой использовать. можно обрабатывать кучу интересных задач. например, что бы бот учился играть (ну или некоторым действиям) наблюдая за игрой человека со скриншота или наблюдая как другой игрок (в мултиплаер)... это вообще как обычное обучение человека.

что касается 3D. еще раз повторю, что я лично совсем не уверен, что 3Д модель не обходима... если на меня бежит враг и я его престрелил, то это адекватность ситуации и не важно как я его видел (в 3д или нет)

а по поводу дергания... анатолий ответил, а я только добавлю : вы же не дёргаетесь
[Ответ][Цитата]
anatoli
Сообщений: 249
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 05 май 07 6:03
> если на меня бежит враг и я его престрелил, то это адекватность ситуации и не важно как я его видел

Что интересно, собираемся первым делом учить ИИ убивать.. Видать, до пост-человечества нам не дойти..
[Ответ][Цитата]
daner
Сообщений: 4593
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 05 май 07 6:14
Цитата:
Автор: anatoli

> если на меня бежит враг и я его престрелил, то это адекватность ситуации и не важно как я его видел

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


а может так как раз более надежно будет а то если нас не контролировать, то мы сами друг друга поубиваем...
[Ответ][Цитата]
anatoli
Сообщений: 249
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 05 май 07 6:46
Представте, ребенка, только он после родов кричать перестал, сразу за комп в квак-дум рубиться.. И так лет до 18-20.. Я думаю, никому не удастся, при всем желании, объяснить ему, почему в том мире людей можно убивать, а в этом - нет.. Я честно говоря, и сам не очень это понимаю.

Может не надо, а? Я так хочу дожить до пост-человечества!..
[Ответ][Цитата]
daner
Сообщений: 4593
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 05 май 07 13:02
Цитата:
Автор: anatoli

Представте, ребенка, только он после родов кричать перестал, сразу за комп в квак-дум рубиться.. И так лет до 18-20.. Я думаю, никому не удастся, при всем желании, объяснить ему, почему в том мире людей можно убивать, а в этом - нет.. Я честно говоря, и сам не очень это понимаю.

Может не надо, а? Я так хочу дожить до пост-человечества!..


и опять параноидальные мысли. . я же не говорю, что контроль этого бота, с накопленной им в думе (игре) KBase, нужно посылать воспитателем в дет.сад.
дальше, в детали (того как это можно использовать) вдаваться не буду, думаю, вы больше шутили, чем говорили серьёзно так что сами не хуже понимаете. В конце концов, есть игры (напр. swat4) где как раз за каждого убитого снижают баллы (даже если он бандит с оружием).
[Ответ][Цитата]
гость
82.179.191.*
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 05 май 07 13:26
Сейчас используют скриптовые языки. Если у Вас есть доступ к исходникам.
Или если Вы работаете на платформе .NET или JAVA то всё сведётся к анализу скрипта или метаязыка платформы.

С уважением,
ignat (Professor Assistant of PKIMS Faculty)
Moscow Institute of Electronic engineering
Skype: ignat_99
ICQ: 492275401
Russian Federation, 124498, Zelenograd, Moscow, 4806 road, 5-th building.
+7(495)532-98-61
[Ответ][Цитата]
og http://openai.narod.ru
Сообщений: 19
На: перехват IO интерфейсов: есть готовые решения?
Добавлено: 05 май 07 16:03

daner:
> а по поводу дергания... анатолий ответил, а я только добавлю :
> вы же не дёргаетесь

хех, в жизни я не дергаюсь потому что я не одноглазый

а для анализа растра и определения глубины Z "дернуться" (ну или сделать "легкий стрейф") -- надо.

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

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

daner:
> если на меня бежит враг и я его престрелил, то это адекватность
> ситуации и не важно как я его видел (в 3д или нет)

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

Если снаряд имеет отличную от прямой траекторию и конечную скорость - необходимо стрелять "на опережение" (как на охоте на уток целится надо перед ней) учитывая скорость полета снаряда, скорость перемещения противника,его траекторию, а значит и расстояние до него.
[Ответ][Цитата]
 Стр.1 (4): [1]  2  3  4След. > >>