Игра Google Chrome
А Вы знали, что когда на гаджете нет интернета, можно поиграть? Я тоже не знал. Дочь случайно нашла игру. Оказывается при отсутствии интернет в Google Chrome если нажать на динозавра, то открывается оч простая но занятная игра.. Сидим минут 20 залипаем.
Как поиграть в браузере, если нет интернета
Всем привет! Это мой первый пост на пикабу, так что строго не судите
Сегодня я расскажу, чем можно заняться без интернета. (может кто-нибудь и знает, но все равно расскажу)
Для начала открываем хром (именно хром)
И запускаем какой-нибудь сайт (в моем случае это ютуб)
Как видим, нам не удается подключиться к интернету. Выше этой надписи мы видим динозаврика. Остается только запустить игру, нажав стрелку вверх на клавиатуре.
И вуаля! Появляется дорожка и кактусы, через которые надо прыгать.
Этой игрой можно ненадолго отвлечься
Всем спасибо за внимание!
Отключили интернет
Как-то отключили ненадолго интернет, решил поиграть в "динозаврика" в браузере google chrome)
А какой максимальный результат набирали вы?
Как мы бота создали
Наверное многие из вас убивают время в этой игре
Но многие ли доходили до вершины, а если и да, то долго ли вы держались на ней? Думаю нет.
Так вот сегодня я расскажу вам как мы с другом бота для этой игры делали.
Так вот, начнем:
Началось все с того, что я и он часто умирали и он сказал
> За***ало все, давай хакнем!
Ну, а я и согласился
Сначала надо было понять, как все работает.
Игра написана на javascript и общается с игровым сервером через веб-сокет.
Основной игровой скрипт лежит в файле main_out.js.
Код там конечно же обфусцирован и всячески пытается не давать себя запускать откуда не следует.
Развернув файл в читаемый вид через дебаггер Хрома, встал вопрос: каким образом вклиниться в логику игры?
Вначале мы решили создать локальную копию файлов и соединяться с сервером, отключив в браузере проверку на кроссдомен
#файлы игры
/css/bootstrap.min.css
/js/jquery.js
/index.html
/main_out.js
/quadtree.js
#запуск Хрома без same origin policy
chrome.exe --disable-web-security
Это заработало для AJAX запросов игровых регионов, но дальнейшие попытки соединиться по веб-сокету были отклонены. Нужен был другой подход.
Можно похвалить авторов игры - на сервер ничего такого не отправляется, что можно было бы поменять в свою пользу (например: размер)
Клиент лишь шлет координаты мыши, куда бы игрок хотел передвинуть свой шар и сообщает о желаемых действиях (например:разделиться)
Сервер в свою очередь не отправляет никаких "лишних" данных.
Казалось бы все пути закрыты: сервер не доверяет клиентам никакой важной информации и всё просчитывает самостоятельно.
Но тогда можно обмануть сервер в рамках его правил: создать стаю ботов, которые постоянно будут жертвовать собой, увеличивая мою массу. Но как же ботам находить мою клетку на карте? Выручило само API сервера: если постоянно отправлять ему например координаты (0, 0), то игровая клетка будет всегда следовать в эту часть карты без остановки, пока не достигнет цели. Вместо нулей надо всего лишь отправлять ботам мои текущие координаты и они сами будут приходить ко мне на ужин!
Код клиента одновременно получает данные и перерисовывает объекты на экране. Можно было бы открыть 20 табов, управляемых ботами и один мой игровой таб. Но тогда надо было бы как-то передавать мои координаты в соседние табы. Плюс рисование каждого таба тормозило бы весь браузер (я пробовал — так и есть). Поэтому было решено создавать новые игровые сессии прямо в текущем табе, но выключить для них связь с отображением.
Так же нужно было дописать код, чтобы при смерти бота, он автоматически начинал новую сессию.
Результаты очень порадовали меня с другом, однако сервер раскидывает ботов на случайные серверы, и они не всегда достигают своей цели: их может съесть кто-нибудь другой(
Так что из пятидесяти ботов, которых мы создали, на ваш сервер будут попадать только 2-3, а именно вы будете есть по 3-4 бота за две минуты.
И наконец: боты маленькие, и поэтому когда вы будет топ2-3 вы не будете сильно расти)
Если же решить вопрос с тем, чтобы боты подключались на нужную карту, то тогда есть возможность серьезно потеснить своих менее технически-подкованных соперников!
Вот итоговый код клиента :
https://gist.github.com/edolganov/bda5ba88512bbc6a1f2c
Игра в Chrome
Случайно узнал, что на странице Chrome при отсутствии соединения нажать на пробел, то двинозавр побежит и с помощью пробела можно перепрыгивать препятствия.
Поиграем в бизнесменов?
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.
Когда нет инета
Так когда нет интернета,у кого какой рекорд был в бегах динозавра через каткусы ахахах