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 и добивался того, чтобы она одинаково работала в современных браузерах и на сенсорных экранах.

Home sheep home

Home Sheep Home

Есть такой замечательный физический движок box2d изначально написанный на C++ и позже портированный во flash. На этом движке сделано несколько десятков игр, большинство из которых не представляет из себя ничего интересного: примитивный геймлей, основанный на каком-либо способе разрушения хрупких конструкций, простейшая, даже схематичная, графика, отсутствие какого либо сюжета. Но сейчас я наткнулся на игру Home sheep home — смесь The lost vikings и модных тенденций в современном казуальном игроделании. Это лучшая мною виденная игра в своем жанре, очень рекомендую поиграть, жаль она очень короткая, проходится минут за 15.

А вот и ссылка на игру.

Swftools и модуль Pdf2SWfField для Друпала

Заказчику захотелось просматривать на сайте PDF-документы через flash-проигрыватель. Adobe Reader есть не у всех, да и выглядит он скучно, а к флешовому проигрывателю можно, при желании, прикрутить множество красивых эффектов. Ну и, разумеется, руками конвертировать файлы из формата PDF в SWF заказчик не захотел. Поиски готового решения ничего не дали, по этому я написал свой модуль для Друпала, который, используя бесплатный набор утилит swftools, конвертирует закачанный PDF в SWF и выводит его в самописном вьюере.

Модуль представляет из себя плагин к CCK, зависит от FileField и использует для вывода просмотрщика возможности модуля SWFTools (он не имеет никакого отношения к проекту swftools.org). Иными словами, для работы моего модуля нужны все три перечисленных выше модуля. Кроме того, на сервере должна быть установлена последняя версия swftools, я тестировал модуль с swftools 0.9 и глюков с конвертированием данных не обнаружил, за другие версии не ручаюсь. Последнее ограничение означает, что модуль не будет работать на 99,99% виртуальных хостингов. Установка swftools не должна вызвать проблем, особенно если воспользоваться вот этой инструкцией.

Демонстрация работы модуля доступна здесь: http://romka.eu/article/testovyy-dokument-demonstriruyushchiy-vozmozhnosti-modulya-pdf2swf.

Читать дальше ➠

Эксперименты с вКонтакте API

Никогда не был зарегистрирован ни в каких социальных сетях, а тут по работе пришлось написать и интегрировать во вКонтакте небольшую программку>. Следствием этой работы стало то, что я, после недолгих экспериментов с API, интегрировал во вКонтакте также и свою старую игрушку “Сталкер” (кроме того я прикрутил к геймплею игры пару интересных фич). Приглашаю всех желающих присоединиться к игре и попробовать свои силы.

P.S. Запланировал разработать вторую версию игрушки с тем же геймплеем, но уже с нормальной графикой и кратким туториалом, встроенным в игру, так как, судя по результатам, большинство игроков не понимают основной стратегии, благодаря которой можно набрать максимальное количество очков…

Вспомнил детство

batiscaf.jpg Вспомнил вчера об одном своем старом проекте, реализовать который я задумал еще в 2005 году — сайте flames.ru, который я изначально планировал представить как сборник собственноручно разработанных flash-игр, а затем привлечь к разработке сторонних программистов, дизайнеров и развить проект до уровня сообщества любителей и разработчиков flash-игр.

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

Все в том же 2005 году я уже начал работу над этим проектом: сделал две мини-игры, в которые, чесслово, до сих пор сам иногда рублюсь по полчаса. Когда дело дошло до реализации серверной части системы стало ясно, что изобретать свой велосипед слишком накладно я и начал изучать CMS Drupal. Со временем Друпал превратился в часть моей профессиональной деятельности, я утонул в других задачах/проектах и про свои фламесы совсем забыл…

И вот вчера опять вспомнил о проекте. Мне интересно мнение читателей этого блога, имеет ли смысл развивать эту идею в том виде, который я описал, с учетом того, что за прошедшие 4 года появились аналогичные сервисы у Яндекса, Рамблера и Мэйл.ру? В принципе, самому мне интересно вернуться к проекту, к тому же есть пара интересных, на мой взгляд лежащих на поверхности, но почему-то никем не реализованных, идей для флэш-игрушек.

P.S. А слабо в “Подводной лодке” проплыть 2000 метров, а в “Сталкере” набрать хотя бы 100 очков?