Ну раз уж нытье по поводу не работающей Оперы считается вполне себе не текхническим вопросом, давайте подискутируем вот на какую тему...
Имеется онлайновая игрушка. Похожая на доту. Не буду говорить какая (благо сейчас дота-клонов развелось тысячи), чтобы толпы не ринулись класть ее сервак. Кто догадается, не пишите в комментах название - жалко разрабов же :)
В системных тебованиях - Shader Model 2 и гиг оперативки.
Чтобы нормально поиграть в игрушку, там надо докачаться в тренировочных поединках с ботами до 30ого уровня. Не знаю как на 29-м, но чтобы прокачаться с 6-ого по 7й нужно сыграть 10 боев по 30 минут каждый. (при особом желании и подобранной команде можно ускориться до 6-10 минут на бой).
Таким образом даже план «один день - один левел!», чтобы уже через месяц играть как белый человек, не оправдывает себя. Я не настолько задрот, чтобы тратить по 3-6 часов игры в день чтобы прокачать всего один левел.
Мысль о том, как это нужно делать ПО-НАСТОЯЩЕМУ возникла быстро: нужно запустить пять игровых клиентов, чтобы на 5 неактивных игроков приходился 1 бот. Матч идет 3 на 3 человека, одна команда не сопротивляется вообще, за вторую играет единственный активный бот. Таким образом, можно начать игру, и на полчаса уйти пить чай.
При попытке запутить второй клиент - он не запустился. Я начихал и начал с кардинальных вещей: глобальной виртуализации.
Вначале я поставил клиенты на VirtualBox. Но эта скотинка не асилила Shader Model 2. Пришлось перейти на VMWare.
С переходом на VMWare пришлось так же перейти на Windows 7 Ultimate, потому что VMWare как-то черезвычайно странно работала с атишным блобом.
Итак, первые несколько матчей (проведенных ботами, в то время как я смотрел 9-й сезон Звездных Врат) прошли ОК. За небольшим исключением - система была в жутком свопе. Запуски игровых клиентов в VMWare занимали многие минуты. И неудивительно - нужно запускать 4 виртуальных машины с WindowsXP по гигабайту оперативной памяти на борту, плюс один нативный клиент («владелец» игры). С такими жуткими тормозами создание собственной команды из ботов занимает по 10 минут, то есть иногда проще играть с живыми игроками!!! (если они не совсем бараны, и смогут замочить противника побстырее ;)
Тогда я попытался запустить клиенты нативно, с исползованием прогарммы для нативной песочницы, Sandboxie. На винде она одна из самых лучших (если не единственная ;). Меня ждал epic fail, потому что при запуске из песочницы в коде лаунчера возникали ошибки в JavaScript. Скорее всего, модели игры общаются между собой с помощью хитрой системы js-вызовов через COM, а песочница не умеет работать с этим достаточно корректно.
Таким образом пришлось перейти на следующий уровень просвтления: ломать игровой клиент. Часть клиента (в т.ч. репорты об ошибках) сделаны с использованием JavaScript. Это глубоко внутрях, но это так. Кроме того, как оказалось, невозможность запуска второго игрового клиента обусловлена не столько желанием разработчиков отменить мультибоксинг, сколько технической неспособностью двжика (Adobe Air/Flex/Flash) запустить более одного клиента на одной машине.
Для обхода этого пришлось переписать часть скриптов движка и сделать несколько как-бы-разных клиентов. Игра (хоть и с косяками) начала запускаться нативно положенные 5 раз!
Но этого было мало. Тот кто хочет по завершении матча получить за него опыт - не должен быть АФК, иначе игровой клиент поймет и отключит его от игры. Поэтому нужно отрываться от просмотра «звездных врат» примерно каждые 5 минут и совершать какое-нибудь действие в игре.
Я потратил 4 часа на разборки с автоматизатором макросов AutoHotKey, и так и не смог научить его отправлять сообщения типа «нажатие клавиши клавиатуры» и «клик мыши». То же самое при попытке написать свою прогу на VisualStudio для этого же самого. Проблема, очевидно, состоит в том, что игра активно использует DirectX и DirectInput, и поэтому не принимает обычные оконные события окромя Activate/Minimize/Close.
===
РЕЗЮМЕ.
Теперь наступает следующий этап просветления. Нужно:
1) Будут ли запускаться отдельные экземпляры игры под Wine в режиме «песочницы», или они все же будут знать друг о друге? Специалисты Вайна, расскажите, как оно работает?
2) Есть ли под линуксом какой-нибудь автоматизатор макросов типа вендового AutoHotKey, который бы при этом мог посылать события мышки и клавиатуры неактивным окнам?
3) Будут ли под линуксом эти 5 игровых клиентов тормозить достаточно слабо, чтобы можно было досмотреть 10-й сезон Зведных Врат?
Если под линуксом не заработает, то придется переходить в режим экстра-просветления: писать собственный читерский игровой клиент.
Поэтому, специалисты по всему: накидайте пожалуйста названий хороших сетевых снифферов, которыми можно удобно рыться в трафике от игры?
Ответ на:
комментарий
от anotheranonymous
Ответ на:
комментарий
от AnDoR
Ответ на:
комментарий
от edigaryev
Ответ на:
комментарий
от AnDoR
Ответ на:
комментарий
от stevejobs
Ответ на:
комментарий
от AnDoR
Ответ на:
комментарий
от stevejobs
Ответ на:
комментарий
от stevejobs
Ответ на:
комментарий
от AnDoR
Ответ на:
комментарий
от Opxocc
Ответ на:
комментарий
от stevejobs
Ответ на:
комментарий
от OxiD
Ответ на:
комментарий
от AnDoR
Ответ на:
комментарий
от stevejobs
Ответ на:
комментарий
от AnDoR
Ответ на:
комментарий
от stevejobs
Ответ на:
комментарий
от Sadler
Ответ на:
комментарий
от stevejobs
Ответ на:
комментарий
от simple_best_world_web_master
Ответ на:
комментарий
от simple_best_world_web_master
Ответ на:
комментарий
от Opxocc
Ответ на:
комментарий
от stevejobs
Ответ на:
комментарий
от AnDoR
Ответ на:
комментарий
от kranky
Ответ на:
комментарий
от kranky
Ответ на:
комментарий
от stevejobs
Ответ на:
комментарий
от Sadler
Ответ на:
комментарий
от stevejobs
Ответ на:
комментарий
от AITap
Ответ на:
комментарий
от stevejobs
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [специалистам по всему] MMORPG-разработка. (2010)
- Форум [история успеха] На Игре (2009)
- Форум [игры][томми] История успеха (2011)
- Форум История успеха (2016)
- Форум История успеха (2019)
- Форум история Успеха (2014)
- Форум История успеха (2017)
- Форум Истории успеха (2012)
- Форум история успеха (2012)
- Форум история успеха (2012)