Game Development → Бот Starcraft 2 на основе перехвата и анализа рендеринга
Matthew Fisher из Стэнфордского Университета написал интересную статью о реализации бота на основе перехвата потока API библиотеки D3D9 (Microsoft Direct 3D, являющуюся частью библиотеки DirectX).
Как пишет сам автор, бот играет в Starcraft 2 (SC2) перехватывая, понимая и реагируя на поток сообщений D3D9, посылая нажатия клавиш и движения мыши обратно игре. Он не похож на других ботов, сделанных на основе редактора SC2 и использующих скриптовый язык, или проектов наподобии BWAPI (работает только с оригинальным StarCraft), который внедряется в адресное пространство игры. Боты, основанные на этих методах зачастую имеют возможность обойти ограничения, с которыми сталкивется человек при игре; например, они могут одновременно отдавать разные приказы разным юнитам, они могут видеть происходящее вне экрана в любое время, им не составляет труда добраться до наземного юнита, закрытого летающим.

Как пишет сам автор, бот играет в Starcraft 2 (SC2) перехватывая, понимая и реагируя на поток сообщений D3D9, посылая нажатия клавиш и движения мыши обратно игре. Он не похож на других ботов, сделанных на основе редактора SC2 и использующих скриптовый язык, или проектов наподобии BWAPI (работает только с оригинальным StarCraft), который внедряется в адресное пространство игры. Боты, основанные на этих методах зачастую имеют возможность обойти ограничения, с которыми сталкивется человек при игре; например, они могут одновременно отдавать разные приказы разным юнитам, они могут видеть происходящее вне экрана в любое время, им не составляет труда добраться до наземного юнита, закрытого летающим.

Game Development → Бот для игры в Sokoban брутфорсом из песочницы
Когда я начал играть в BoxWorld (игра типа Sokoban) первые 20-30 уровней было интересно, но дальше сложность и однообразие стали перевешивать и я решил писать бота. Никакого хитрого алгоритма решения придумать не смог, поэтому писал брутфорс. Писал на C#.
Game Development → Бот для браузерной игры, сетевой подход из песочницы
Прочитав статьи о ботах решил поделится своим скромным опытом создания бота с помощью Java и использованием сетевого протокола (то есть никаких макросов или внедрений в AS).Введение
Где-то пол года назад я встретил одну довольно популярную игру ВКонтакте — Zonk, сама игра представляет собой вариацию на игру в кости Zilch, и заключается в том, что вам необходимо набрать 10000 очков быстрей своего противника выкидывая на костях различные комбинации.
Game Development → Бот для Flash-игры / Внедряемся в Flash

В рамках недели ботов для браузерных игр.
Эта неделя богата на статьи о ботах для бразуерных игр.
Во всех статьях для управления ботом использовался AutoIT. Это простой и хороший способ чтобы начать делать бота «в лоб», он не требует никаких знаний об игре, кроме как знания правил и графического интерфейса. Для серверной части игры такой бот вообще будет выглядеть как обычный пользователь, если не брать во внимание невероятную усидчивость и производительность такого игрока.
Но этот способ требует распознавания мира, что добавляет много ошибок, а иногда определить необходимое значение вообще не представляется возможным.
В первой статье я наткнулся на комментарий со ссылкой на пост Adobe Profiler Fail, что побудило меня исследовать эту возможность в целях автоматизации действий в Flash-играх.
Game Development → Боты для браузерных игр на AutoIT из песочницы
Вместо предисловия
Сегодня я получил ссылочку на статью на хабре о технологии создания «макроса-бота для браузерной игры». Там же было написано с сожалением, что AutoIT мало представлен на хабре. Со штуками, описанными в статье я баловался год-два назад. В последнее время использую библиотеку IE.au3, которая позволяет творить с браузерными игрушками просто чудеса.
Собственно информацией об этом и хотел бы поделиться. Только сразу предупреждаю — речь идет только работе под MS-Internet Explorer.
Game Development → Написание макроса-бота для браузерной игры
Введение
Не так давно на Google+ появились игры. Прочитав топик об этом, я решил во что нибудь поиграть. Выбор пал на игру Diamond Dash. Через некоторое время игры программист во мне заговорил, что однотипные действия нужно автоматизировать. И вот что из этого вышло…

*Примечание: «руками» даже опытному игроку сложно набрать больше 400к
Раньше я никогда не сталкивался с задачами работы с экраном и мышкой. После непродолжительного гугления было решено для решения использовать язык макросов AutoIt.
Под катом вы найдете краткое описание игры, мой способ распознавания поля, алгоритм определения точки нажатия, и некоторое количество оптимизаций. А так же ссылку на github-репозиторий скрипта.
UPD Добавлено видео работы скрипта.
DIY или Сделай Сам → Тележка телеприсутствия из подручных материалов из песочницы
Добрый день, уважаемые хабрапользователи.Началось всё с того, что однажды в новостях я увидел робота телеприсутствия от фирмы AnyBot (слева на картинке). Это был уже их второй робот, стоимость которого им удалось снизить аж в два раза, с 30 до 15 килодолларов. Эта сумма мне показалось несколько великоватой для «вебкамеры на колёсиках». Хотя я тут несколько лукавлю, у этого бота весьма неплохая основная камера с большим разрешением и оптическим зумом, плюс дополнительная «навигационная камера», всенаправленный и узконаправленный микрофоны и прочие прелести профессиональных устройств. Но, тем не менее, за те же деньги можно купить новенький автомобиль. Посему, из сугубо спортивного интереса, было решено сделать простейшее устройство телеприсутствия из подручных средств и с минимальными затратами. «Под руками» оказались папин ноутбук Toshiba Satellite с мёртвым аккумулятором и живым LPT портом, моторредуктор стеклоподъёмника его же Нивы и еще разная мелочёвка.
Что из этого получилось, можно узнать под катом.
PHP → ICQ баг-информер на PHP + ActiveMQ из песочницы
Я являюсь разработчиком и смотрителем довольно крупной системы он-лайн бронирования одного из московских туроператоров. Поскольку к этой системе предъявляются весьма высокие требования в плане надежности и безопасности, мне приходится отслеживать все возникающие в ней ошибки, однако постоянно заходить и просматривать, нет ли новых отчетов, не очень удобно и поэтому возникла необходимость в неком средстве мгновенного оповещения, причем оно должно поддерживать возможность отправки сообщений как из веб-части, так и из десктопных приложений.
В этой статье я хочу рассказать о своем опыте написания скрипта для мгновенного оповещения о возникающих в системе ошибках посредством ICQ сообщений. В качестве промежуточного звена и накопителя репортов используется брокер сообщений ActiveMQ, я расскажу как его установить и настроить для работы с MySQL. Главная часть — это ICQ-бот, написанный на PHP, в его обязанности входит прослушивание определенного канала в брокере и пересылка сообщений на указанные номера ICQ. Также я расскажу как запустить этот PHP скрипт в качестве службы Windows.
В этой статье я хочу рассказать о своем опыте написания скрипта для мгновенного оповещения о возникающих в системе ошибках посредством ICQ сообщений. В качестве промежуточного звена и накопителя репортов используется брокер сообщений ActiveMQ, я расскажу как его установить и настроить для работы с MySQL. Главная часть — это ICQ-бот, написанный на PHP, в его обязанности входит прослушивание определенного канала в брокере и пересылка сообщений на указанные номера ICQ. Также я расскажу как запустить этот PHP скрипт в качестве службы Windows.
Python → Не совсем обычный XMPP-бот на Python: туннелирование
Не так давно была опубликована статья про ICQ на Python, которая меня подтолкнула развить тему, правда в несколько другом направлении. Несколько лет назад у меня были трудности с домашним интернетом: доступ только в локальную сеть, из связи с внешним миром только ICQ и локальный Jabber сервер; никакой другой возможности попасть наружу не было. В результате чего родилась идея туннелировать HTTP трафик в XMPP.