Robot Wants Kitty снова в браузере

В середине нулевых — начале десятых годов было сложно представить интернет без Flash — технологии, которая привнесла в веб видео (YouTube был невозможен тогда без флеша!), анимированные баннеры, продвинутые интерфейсы сайтов и, конечно же, игры. Без флеша веб тех времён был до примитивности прост и скучен. Flash — это прорывная технология, которая опередила своё время и определила то, как будет выглядеть интернет в будущие 10–20 лет. С начала 2010-х годов технология начала понемногу умирать: HTML5 начал стандартизировать такие системы, как видео, WebAssembly, и теперь для реализации всего того, что раньше делалось сторонним Flash-плагином, можно было использовать стандартные средства браузера. Серьёзным ударом по флешу был отказ Apple от поддержки технологии на своих мобильных устройствах.

В итоге эпоха флеша в целом и флеш-игр в частности закончилась в 2017 году, когда Adobe объявила о прекращении развития и поддержки Flash Player. Вместе с флешом был похоронен целый пласт интернет-культуры ранних нулевых — десятых годов. Подавляющее большинство игр тех времён было примитивным неиграбельным мусором, но иногда попадались жемчужины.

Одна из таких жемчужин — серия игр Robot Wants [Kitty|Puppy|Fishy|Ice Cream]. Я был большим фанатом этих игр, поэтому решил перенести их на современный стек технологий, чтобы в них можно было бы играть прямо в браузере. О процессе переноса будет отдельный пост, но сразу хочу поделиться тем, что Mike Hommel, автор оригинальных игр, дал своё согласие на публикацию ремастированных версий его игр.

Robot Wants Stuff — идеально сбалансированные игры в стиле метроидвании. Управляя роботом, здесь нужно спасти его питомца. Но робот по умолчанию слаб и неповоротлив, поэтому, несмотря на то что весь мир полностью открыт с самого начала, чтобы добраться до дальних его углов и найти ключи, открывающие путь к питомцу, придётся преодолеть запутанный лабиринт и победить толпы врагов.

В плохо сбалансированной игре постоянная нехватка способностей раздражала бы. В серии Robot Wants Stuff она работает как подсказка. Роботу постоянно чего-то немного не хватает: то он чуть-чуть не может допрыгнуть до нужной платформы, то он не может нырнуть в воду или отразить атаку врага. Игра никогда не говорит прямо, куда идти, но постоянно показывает, зачем стоит вернуться сюда позже. Получение новых пауэрапов и открытие новых способностей робота дают всплеск эмоций: «Ага! Теперь я знаю, как пройти дальше в той комнате!» Это чувство удовлетворения от решения головоломки — самая ценная эмоция, которую может получить геймер, и игры серии Robot Wants Stuff дарят эти эмоции в полной мере!

Первая игра, которую я перенёс на современные рельсы, — Robot Wants Kitty. Когда знаешь правильный маршрут, Robot Wants Kitty можно пройти минут за пятнадцать. Если вы не знаете, куда идти… честно говоря, я вам немного завидую. У вас всё ещё есть возможность впервые почувствовать это удовольствие от исследования, когда небольшая карта постепенно складывается в голове, а каждая новая способность превращает несколько старых тупиков в новые маршруты.

Поиграть в Robot Wants Kitty можно на моём другом сайте.

Robot Wants Kitty — первая из четырёх игр. Ремастеры Robot Wants Puppy, Robot Wants Fishy и Robot Wants Ice Cream появятся позже.

Кроме обычного управления с клавиатуры, я добавил сенсорное управление. На телефоне игра автоматически открывается в портретном «Game Boy»-формате: игровой экран находится сверху, а кнопки управления — под ним. Так что теперь помочь роботу спасти котика можно и за компьютером, и на телефоне или планшете.

Если вам хочется поддержать автора оригинала, у Hamumu Games есть официальная современная сборка всей серии — Robot Wants It All в Steam.

А скоро я напишу отдельный пост с техническими подробностями: как восстанавливал игру из SWF, переносил её на Defold и добивался того, чтобы она одинаково работала в современных браузерах и на сенсорных экранах.

27 июня 2026. Берлин. Прогнозируется аномальная жара — +41 градус.

Типичная берлинская компания друзей:

— Давайте придумаем какую-то поистине берлинскую движуху для этой жары!

— Может, покатаемся на лодке?

— Ну я же сказал: «Берлинскую».

— Тогда поплаваем на сапах?

— Тоже слишком банально…

— Хмм… А как насчёт такого: берём строительный поддон, ставим на него пианино и просим кого-нибудь на нём играть. Всю эту конструкцию цепляем цепью к мачте корабля и разворачиваем так, чтобы пианино висело посреди Шпреи, метрах в трёх от воды. А зрители будут плавать на сапах и слушать.

— А это, кажется, уже перебор, как мы это всё организуем?

— К-мон, мы в Берлине. Погнали!

Год назад я рассказывал историю о том, как с подземной парковки из закрытой комнаты угнали Олин велосипед. Тогда велосипед нашли благодаря Эиртегу, помощи полиции и большому количеству удачи.

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

В прошлый раз велосипед удалось угнать, спилив скобу, к которой он был пристёгнут, и просто сняв цепь со скобы. Чтобы защититься от этого сценария, мы поставили ещё один замок, которым сцепили наши велосипеды друг с другом. Помимо этого, к новому замку присоединён трос, который проходит через задние колёса, чтобы нельзя было их снять.

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

Короче говоря, угон наших велосипедов превратился бы в квест. Расчёт был на то, что потенциальные угонщики не захотят заморачиваться и, даже если опять вломятся на парковку, то украдут какой-то более доступный велосипед. В итоге так и получилось. Вчера решили открыть велосезон — пошли кататься в первый раз после зимы. На велопарковке нас ждала распахнутая дверь с выкорчеванным замком. Похоже, дверь просто выбили сильным ударом.

К нашей радости, велосипеды стояли на месте… вот только без сёдел :( Первая мысль: “ну что ж, могло быть и хуже!”. Вторая: “постой! Под седлом Олиного велика же стоит геометка!” Посмотрели в локаторе, и оказалось, что метка где-то рядом! Походили по велокомнате и нашли его — седло от Олиного велосипеда. На нём были глубокие зазубрины, такие, будто его пытались использовать как молоток или лом. Но в целом седло осталось пригодным для использования. У холдера геометки была сломана одна из двух ножек, непонятно: то ли это пытались ударами сбить геометку, то ли просто тупые вандалы крушили этим седлом всё вокруг. Моего седла поблизости не было, а так как геометки на нём нет, то и искать его не стали.

Дальше мы решили проверить другие велосипедные комнаты, их на парковке три штуки, и (о чудо!) в одной из комнат, на другой стороне парковки (метрах в ста от первой), валялось седло от моего велосипеда! Как и на Олином, на моём седле были такие же следы, будто его использовали как лом, а вокруг подседельного штыря был намотан сломанный складной замок от чьего-то велосипеда!

Мне сложно восстановить точную картину произошедшего, но правдоподобная гипотеза выглядит так: у грабителей не было ни ума, ни инструмента для взлома. Они ногой вышибли “усиленную” дверь в комнату, где стояли наши велосипеды. Сначала пытались угнать их, но они оказались слишком сложной добычей, поэтому просто сняли сёдла. На Олином сразу увидели метку, но скрутить два болта грабителям оказалось слишком сложно, поэтому метку пытались сбить, ударяя седлом как молотком. Это не помогло, поэтому седло тут же выбросили. Моё седло воры взяли с собой как хоть какую-то добычу и пошли исследовать другие велосипедные комнаты. Так как соседи-идиоты не закрывают их на ключ, то такие комнаты легко открыть даже не вышибая дверь. В одной из комнат моим седлом как ломом разломали замок на одном из велосипедов и, так как получили более стоящую добычу, моё седло тут же выкинули.

С прошлого года в подъездах дома поставили камеры, поставили замки на все двери, где их раньше не было, но, очевидно, это не большая помеха для грабителей.