Gamedev Андрей Верещагин
11 691

«Мы считаем себя спасителями»: беседа с создателями технологии конвертации из Flash в HTML5

IceStone о работе с платформами и собственном методе конвертации игр.

В закладки
Аудио

К 2020 году Adobe намерена прекратить поддержку плагина Flash Player. Многие компании-разработчики браузеров уже постепенно отказываются от него — платформу называют небезопасной, да и большинство её функций взяла на себя технология HTML5. Из-за этого многим авторам игр приходится либо бросать уже успешные проекты, созданные на Flash, либо переносить их на новую платформу.

Компания IceStone разработала технологию, которая позволяет конвертировать Flash-контент в HTML5. И, как уверяют создатели, без потери качества. Мы пообщались с Игорем Чавычаловым из IceStone и выяснили, как работает технология и зачем вообще на рынке нужны такие услуги.

Расскажите немного о своей команде: сколько вас, как сошлись, с чего начинали.

Мы разрабатывали свой кроссплатформенный игровой движок на C++, для отображения в вебе компилировали код во Flash. Когда стало очевидно, что «флешу» осталось жить недолго, мы перешли на HTML5 для отображения веб-версий.

Собственно, в этот момент и зародилась идея развивать данное направление. Изначально выделили небольшую команду для анализа имеющихся на рынке решений и концепций построения архитектуры. Сейчас команда состоит из 20 программистов, 7 маркетологов, 3 бизнес-девелоперов, 2 сейлзов и 3 художников.

Почему и когда возникла потребность конвертировать Flash в HTML5?

После новостей о скорой «смерти» Flash? За годы существования «флеша» было создано огромное количество контента: от игр и анимаций до видео-плееров и практически всех анимированных баннеров. Думаю, многим приходила в голову мысль, что неплохо бы создать технологию, которая бы переводила Flash в HTML5.

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

Несколько мультимилиардных корпораций пытались создать такую технологию, но не преуспели по самым разным причинам: неправильный подход, неправильная архитектура, низкий приоритет проекта; во многом они боролись за рынок рекламы, а не игр. Спасать всех разработчиков игр на Flash посчастливилось IceStone.

Epic War

На рынке уже существуют готовые решения для этого: тот же Shumway от Mozilla. Почему вас не устроили эти варианты?

Можно, даже не вдаваясь в глубинные плюсы и минусы реализаций, очень просто ответить на этот вопрос. Это один из хороших примеров неправильно выбранного подхода. Shumway интерпретирует Flash в HTML5 в рантайме (то есть непосредственно на компьютере пользователя). Даже самая простая игра имеет 1-2 FPS на хорошем современном компьютере. Естественно, про нагруженные проекты и мобильные устройства можно сразу забыть.

А есть ли какие-то примеры правильно выбранного подхода для осуществления портирования с Flash на HTML5?

Обратиться к IceStone. Или переписать с нуля на HTML5, имея соответствующую команду, хорошо задокументированный код и полный геймдизайн-документ.

Расскажите поподробнее, как работает ваша технология?

После получения игры в виде проекта или же в виде SWF (да мы работаем даже с SWF) извлекаем ресурсы и конвертируем их в браузерный формат. После парсинга всех AS3-файлов мы подгоняем или модифицируем их под стандарты браузера, также исправляем проблемы после декомпиляции. Всё это делается при помощи препроцессора.

Предиктивный компилятор оптимизирует код, транспилер переводит AS3 в JavaScript. После этого сжимаем оптимизированный билд, добавляя джойстик, ресайз и универсальное IceStone SDK. Также неотъемлемой частью продукта является JavaScript-библиотека, полностью повторяющая Flash Player API. Каждый из этих элементов является внутренней разработкой, так как любые существующие не отвечали нашим требованиям.

Bubble Shooter

Сколько времени в среднем уходит на портирование одной игры?

Это сильно зависит от проекта. На простую игру с прозрачной архитектурой обычно уходит до недели. На большую стратегию — до шести недель.

Вы говорите, что добавляете джойстик в игру. Понятно, что это решение стандартное для всех игр, чтобы в них попросту было можно играть. А может ли разработчик отдельно попросить что-то добавить?

На самом деле не столько стандартное — добавляются только те инструменты управления, которые необходимы в конкретном проекте. Для RPG это может быть восемь кастомных клавиш и два джойстика (для управления движением и поворотом персонажа). Для игр, в которых нужны всего две кнопки — их будет две.

Мы ещё не сталкивались с подобной просьбой, все необходимые функции реализуются всегда и для всех проектов. Так же как и стандартные интеграции со всеми платформами, которые зачастую мы понимаем лучше разработчиков.

С какими трудностями вы столкнулись при создании технологии?

Мы работали над Flash Player без исходного кода, где большинство внутренних функций не имеет документации в силу закрытости движка. Благодаря тому, что большая часть команды имела 10-летний бекграунд разработки на Flash, и большому количеству экспериментов над реальными проектами нам удалось определить особенности алгоритмов, правила поведения в тех или иных ситуациях. Это позволило добиться 100% соответствия.

Там, где большинство конкурентов решили остановиться на общепринятых практиках, мы пошли до конца и нашли инновационные решения, позволившие получить прирост производительности в 300% относительно Flash Player.

Также мы столкнулись с невероятным многообразием исходников. Каждый разработчик программировал в своём стиле и на своём уровне понимания архитектуризации проектов; под конкретные нужды, рождая на свет тонны неоптимизированного или нетипизированного кода, зачастую чрезмерно потребляющего ресурсы устройства. Наша технология подстраивается под нужды приложения и обеспечивает стабильную и плавную работу на любой платформе, в том числе в мобильных браузерах, которые намного более требовательны к ресурсам.

Cover Orange

Кроссбраузерность также потребовала решения множества проблем. Как правило, современные разработчики закрывают глаза на наличие браузеров с низкой производительностью или недостаточным количеством функций. Так как у нас есть несколько собственных компиляторов, выполняющих самые разные задачи, мы переводим код игры в чистый JavaScript, не теряя при этом необходимых функций, которых нет в браузерах.

Web-программисты поймут, насколько важна точность при переходе с одной технологии на другую, когда речь заходит, например, о Dictionary, E4X-синтаксисе или цикле инициализации статики. Одно из достижений – это предиктивный компилятор, который оптимизирует код по аналогии с V8 от Google. В целом, мы столкнулись с тысячей и одной трудностью (буквально).

Как устроена работа с разработчиками? Они сами обращаются к вам, чтобы конвертировать свои игры?

На самом деле, мы впервые публично презентовали технологию 13 марта 2019-го и только для русскоязычной аудитории. Контракт с первым партнёром-разработчиком подписали ещё в январе 2018 года и с тех пор заключили соглашение с ещё более чем 50 разработчиками по 160 тайтлам. С каждым партнёром общались индивидуально.

В период закрытого набора производилось огромное количество улучшений IceStone: как архитектурно, так и в плане производительности. Не обкатав технологию на сотне с лишним проектов, отполировать её было бы невозможно.

Назовите, пожалуйста, несколько ваших разработчиков? Хотя бы самых крупных.

На первом этапе мы брали исключительно игры с рекламной моделью; это подразумевало менее сложные проекты без real-time мультиплеера. Соответственно, критерием оценки служила не прибыльность, а узнаваемость тайтла, то есть количество сыгранных сессий.

Если ближе к цифрам, Cover Orange – 1, 25 миллиарда сессий; Bubble Shooter – 2 миллиарда сессий, Epic War – 920 миллионов сессий; Fitz – 650 миллионов сессий. Список можно было бы продолжить. Минимальным требованием для игр подобного типа монетизации является порог в 10 миллионов сессий. Это позволяет нам создать очень сильное портфолио издателя исключительно с бестселлерами.

Безусловно, мы также крайне заинтересованы в проектах с микротранзакциями. У нас уже переведено более шести больших клиент-серверных игр, и после анонса подписаны несколько топовых разработчиков из СНГ.

Оригинальная  Alien Hominid была сделана на Flash

На митапе Mail.Ru Group вы рассказывали, что занимаетесь ещё и издательским бизнесом, но при этом не берёте денег с разработчиков за саму конвертацию. Почему так?

У нас предложение полного цикла – мы не оказываем услуги по портированию. Наверное, если бы кто-то предложил сумму с шестью знаками, мы могли бы рассмотреть такой вариант, но это не наш основной фокус.

Отвечая на ваш вопрос, эта модель была выбрана исходя из потребностей рынка. Очень многие разработчики даже больших, коммерчески успешных проектов, которые приносят сейчас десятки и сотни тысяч долларов в месяц, делали их годами, если не десятилетиями. Для них переписать с нуля подобный проект не представляется возможным.

Во-первых, это немалая инвестиция — иногда до полумиллиона долларов. Во-вторых, не весь код документирован — геймдизайнерские документы утеряны или попросту не велись. В-третьих, очень мало специалистов, способных написать HTML5-игру масштаба Clash of Clans, и собрать хорошую команду под эти цели возможности нет.

Влияет и фокус компании: многие начали делать новые проекты, понимая, что Flash скоро умрет. Немаловажным фактором являются сроки: если вы не успели хотя бы на неделю после смерти Flash Player, вы потеряли всю аудиторию игры и вложенные ресурсы. Большинство не готовы принять такие риски. Разве не здорово, когда к разработчику приходят с таким предложением: «Мы решим все ваши проблемы совершенно бесплатно и заработаем кучу денег»? Такая модель позволит создать крупнейшую сеть действительно качественных игр.

На каких условиях вы сотрудничаете с разработчиками? Какой процент с выручки переходит вам?

Условия для всех одинаковые: 50 на 50 с эксклюзивным правом на мировой паблишинг на всех платформах.

Что значит «лучшие условия с платформами», о которых вы говорили на митапе?

Пожалуй, для начала стоит уточнить, что мы называем платформами. Основные платформы для нас – это мобильные магазины, социальные сети, игровые порталы, мессенджеры, десктоп-клиенты, игровые зоны.

Мобильные платформы, социальные сети и мессенджеры – рынки достаточно устоявшиеся. С ними всё понятно, но от этого не менее сложно для разработчика. Разработка 95% проектов не окупается из-за низкого трафика. Поддержку от платформы можно ожидать только в том случае, если ваш аккаунт ежемесячно приносит значительную прибыль. Как итог, разработчику нужен опытный издатель с релевантным портфолио и хорошими отношениями с платформами, который при этом согласится его взять.

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

Crush the Castle — flash-игра, которая послужила прообразом Angry Birds

Поскольку наше портфолио уже включает более 160 бестселлеров, нам удалось получить от порталов в среднем в три раза выше процент прибыли. Игровые зоны, азиатские сети, более мелкие магазины и многие другие каналы дистрибуции практически всегда остаются в зоне недосягаемости как для большинства разработчиков, так и издателей.

Кроме договоренностей с платформами, важным фактором является и возможность оперировать трафиком на всех доступных платформах, объединив их. Например, мы перенаправляем условно недорогой закупленный и органический трафик в вебе на это же приложение в мобильном магазине. Или к нам приходит очередная «ферма», и мы можем слить на неё базу 100 тысяч платящих пользователей, которые уже тратили деньги в подобных проектах сети.

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

На том же митапе вы сказали, что сами разработчики, которые к вам обращаются, могут продолжать делать свои игры в среде разработки Flash. То есть им не надо будет переучиваться, ведь всю работу по конвертации вы берёте на себя. Не кажется ли вам, что так может образоваться «пузырь» никому не нужных разработчиков, ведь Flash фактически мёртв?

Как я уже говорил ранее, у многих разработчиков нет возможности перевести свой проект с Flash на HTML5, а Unity3D не самая подходящая технология для веба – про мобильный веб можно сразу забыть. Нас (и не только нас) изначально больше всего волновала смерть сотен тысяч продуктов.

Сегодня многие платформы очень обеспокоены тем, что в 2020 году они лишатся 80% своего контента. Мы же, находясь в постоянном контакте с платформами, разработали программу, при которой они продвигают наше решение разработчикам на своих площадках. На данный момент подобная программа работает с Microsoft и ещё пятью площадками. Это исключительно вопрос времени (2-3 месяцев), когда она начнёт работать со всеми остальными крупными игроками.

Насчёт «пузыря» у нас нет волнений: продолжать активно развивать продукты будет иметь смысл не для такого большого количества разработчиков. Если игра прибыльная, она должна развиваться. На самом деле, мы считаем себя спасителями: мы спасаем разработчиков и площадки и создаём замечательную экосистему для избранных продуктов, отчасти размыв грани платформ.

Super Meat Boy появилась из игры на Flash

То есть вы считаете, что разработчикам не стоит переставать делать игры на Flash, если они не хотят переучиваться?

Если мы говорим о программистах, большинство уже овладели тем или иным языком программирования кроме Flash. Мы утверждаем, что не нужно бросать прибыльный проект, если он написан на Flash, но, думаю, это и так очевидно.

Какие перспективы у IceStone? Со стороны кажется, что это всё временное явление, лишь до тех пор, пока все разработчики окончательно не перейдут на HTML5, а AS3-игры не закончатся. Есть ли у вас какие-то планы на такой случай?

Наш паблишинг ни коей мере не ограничен технологией Flash или любой другой, на которой разрабатываются продукты. У нас уже подписаны более 30 HTML5-продуктов и 7 продуктов на Unity3D; безусловно, мы учитываем специфику той или иной среды разработки и при продвижении продуктов. Например, для продуктов на Unity3D будет сделан меньший упор на web из-за плохой производительности на этой платформе и будет использован несколько другой инструментарий продвижения.

Глобально наша бизнес-модель рассчитана на создание самой большой сети высококачественных продуктов на всех платформах. Оперируя большим количеством успешных тайтлов и трафиком, мы станем самым желанным издателем для разработчиков, независимо от среды разработки. И чем раньше разработчики станут частью нашей сети, тем большую выгоду получат.

#беседа #технологии

{ "author_name": "Андрей Верещагин", "author_type": "editor", "tags": ["\u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438","\u0431\u0435\u0441\u0435\u0434\u0430"], "comments": 42, "likes": 45, "favorites": 46, "is_advertisement": false, "subsite_label": "gamedev", "id": 44771, "is_wide": false, "is_ugc": false, "date": "Sat, 30 Mar 2019 12:23:35 +0300" }
{ "id": 44771, "author_id": 22254, "diff_limit": 1000, "urls": {"diff":"\/comments\/44771\/get","add":"\/comments\/44771\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/44771"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954, "last_count_and_date": null }

42 комментария 42 комм.

Популярные

По порядку

Написать комментарий...
14

Не понял смысл статьи. Полезной информации мало, больше похоже на рекламу.

Ну и главное разочарование тут - "На простую игру с прозрачной архитектурой обычно уходит до недели. На большую стратегию — до шести недель"

Из своего опыта скажу, что игра типа несложного физпаззла (вроде Cover Orange) или match-3 без социальных фич портируется на Typescript + CreateJS "вручную" за пару дней. Возможно, еще пару дней можно накинуть на адаптацию под разные размеры экрана, тач контроль, интеграцию специфических SDK типа рекламы и т.п.

Синтаксис почти такой же, API - также. Единственное, что надо менять при таком портировании - это рендер. Но у меня, например, есть скрипт для экспорта почти любой флеш анимации в последовательность спрайтов для спрайтшита и xml/json файла с описанием анимации. И есть ts класс с API как у мувиклипа. Думаю, подобное есть у многих разработчиков. Так что и этот вопрос совсем не вызывает проблем.

Кажется, самое время открывать контору по портированию на HTML5 со своей "технологией"

Ответить
7

Спасибо за вопрос )

CreateJS не содержит и 20% того что действительно необходимо в играх. Он создавался в первую очередь для отображения картинок и анимаций, а не для поддержки Flash API. Так же у него есть блокеры в плане производительности, например фильтры. Они там не все реализованы, а те что есть используют при обработке массивы пикселей (ImageData). А это просто не применимо, тем более на мобильных устройствах. Наши же фильтры написаны на OpenGL ES.

Но вы конечно можете проверить самостоятельно =)

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

Ответить
0

Не понимаю, каких 80% возможностей он не содержит. Апи разное, но очень похожее. Для полной идентичности можно написать обертки вроде той, что я описал - класс для работы с набором спрайтов + описанием анимации как будто это MovieClip.

Фильтры - единственный пример, и, если я не ошибаюсь, он неверный. Давно не слежу за развитием EaselJS и не очень хорошо в нем ориентируюсь, но беглый поиск выдает подобное - http://blog.createjs.com/stagegl-faster-better-stronger-webgl-update-easeljs/
Открыл исходники фильтров на гитхабе - они написаны на WebGL шейдере.

Ответить
3

Таких примеров есть десятки, когда библиотека позволяет отображать графику используя WebGL. Но все они не Flash. Так или иначе в этих случаях необходимо переписывать код, и вмешиваться в него, что бы подстроится под конкретное API. Если у вас игра, в которой несколько сотен тысяч строк кода (а таких у нас большинство, так как проекты от известных разработчиков с десятилетней историей развития игры), то время затраты будут колоссальными.

Мы разобрали каждое решение которое существует, анонсировалось и даже те которые уже официально "убиты" их разработчиками. Не одно из них не подходит для конвертации игр.

Возможно вам стоит попробовать и продемонстрировать результат конверта простой игры используя любую методологию)

Ответить
0

Я имел ввиду, что фильтры - это единственный пример, который вы привели, но, судя по всему, он не совсем правильный, если судить по информации о StageGL и о том, что в коде каждого фильтра на гитхабе есть код WebGL шейдера. Но, опять же, это результат беглого гугления, я не особо слежу за движком и уже пару лет в нем глубоко не ковырялся.

Я не собираюсь всерьез продвигать какое-то альтернативное решение или уж тем более конкурировать с вами :)

Лишь написал, исходя из своего большого опыта работы над небольшими Flash/HTML5 играми вроде Cover Orange и Crush the Castle (и не имея опыта работы над крупными сессионными социалками, например), что каждый опытный разработчик способен портировать игру в указанные сроки - до недели - без использования каких-либо спасательных технологий.

Ответить
4

Нет, не получится 🤷‍♂

Ответить
2

А можете показать 1-2 примера тех игр, что вы спортировали за 2 дня?

Ответить
1

Я портировал с HML5 на Flash и обратно скорее для proof of concept и питчинга заказчикам. Например, игры этой серии - http://www.agame.com/game/back-to-candyland-episode-1

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

Ответить
4

Мы работаем с swf файлами как с самодостаточным контейнером ресурсов и не извлекаем графику, пользуясь "нехитрыми скриптами для экспорта". Все анимации, векторные данные, классы, звуки и так далее мы конструируем на лету, то есть в runtime. А это значит что игры активно использующие вектор, всегда будут выглядеть так же четко как и должны. К тому же наш компилятор заранее производит некоторые высоко затратные операции, результаты которых используются в ходе работы приложения.

Ответить
0

В том и было изначальное удивление - если это и правда какая-то цельная необычная технология, а не то, что я описал (набор скриптов - конвертация AS3 в TS, FLA в спрайты+xml/Json и т.п. - плюс ручная правка проблемных мест), то для чего же вам нужны недели на порт. И да, небольшая разница, с чем работать - с swf или полными исходниками.

Ответить
3

Недели нужны для высоко нагруженных проектов когда дистрибутив для старта приложения 100+ метров, исполняемый код 30MB+ и потребление оперативной памяти на десктопе 1,5 GB+

За недели это все начинает летать на мобильном вебе )

Ответить
2

Я понимаю, но ведь у всех игр на примерах-скриншотах (кроме Epic War - не знаю, что это такое) размер кода 0.5-2МБ, не учитывая библиотек. Условно говоря, чтобы ваша технология отличалась от полуручного портирования, такое должно конвертироваться одним кликом, а не до недели, что указано в статье для самой простой и прозрачной игры.

Ответить
1

@Andriy Vinchkovskiy

У нас 100 000+ часов ресерча и разработки и 170 готовых продуктов в качестве аргумента. У вас гугл серч 10 минутный с описанием решения которое не применимо для портирования игры.

Выберите любую методологию, засеките тайминг и попробуйте довести любой из приведенных продуктов до состояния gold master. После этого мы сможем продолжить аргументированный диалог на одном уровне понимания.

Пример более нагруженного продукта в мобильном браузере
https://www.youtube.com/watch?v=UdNGp9DJ7HI

Ответить
5

Т.е. вы сравниваете время, которое вы потратили на разработку всей "технологии", и время, которое я потратил на указание вашей вероятной ошибки в одном-единственном указанном вами примере? Мне кажется, это не совсем правильно. Или вы считаете, что эти 10 минут гугления - и есть весь мой опыт работы с Flash, HTML5 и портированием?

Не вижу смысл продолжать спор, если все сводится к повторению того, какие вы крутые, а мне надо доказывать, что я способен на что-либо. И что у меня тоже есть десятилетний опыт разработки на этих платформах и чуть ли не сотня (а может и больше) проектов за плечами. Было бы интересно аргументированно поспорить, например, в формате "вы пишете проблему, которую не решить без спасения вашей технологией, я описываю свое решение или соглашаюсь, что вы - полезны". А не меряться писюнами.

И вообще смысл изначального сообщения был в совершенно другом. Повторюсь, я не говорил, что круче вас и у меня есть технология покруче. Я имел ввиду, что вообще нету смысла ни в какой "технологии" для таких несложных игр, как большинство примеров в статье, если время и сложность портирования в итоге не меняется. И уж тем более странно ее настолько пафосно описывать, как в статье. Потратить неделю на порт игры с кодом 0.5МБ (думаю, примерно так в Cover Orange, без учета библиотек) - это не достижение и не спасение, а доступная всем возможность.

В общем, удачи вам с вашей продуктом, за этим я удаляюсь из спора.

Ответить
0

Не-не, спасибо, вас я еще на митапе видел) Мне было бы любопытно увидеть примеры человека сверху. Ручные, так сказать

Ответить
0

Не совсем понимаю вопроса, уточните пожалуйста о каком примере вы говорите ?

Ответить
0

Вопрос адресован комментатору Andriy Vinchkovskiy, не вам :)

Ответить
1

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

Ответить
0

Эта методология к сожалению не работает, в ветке описал почему.

Ответить
0

мне кажется, вы оцениваете сроки исходя из пиковой продуктивности и не учитывая работу QA-отдела

Ответить
4

В статье сплошной маркетинг, а не интересная инфа. Интересного - на пару предложений.

Срок портирования ‘вручную’ при должной сноровке действительно может быть сравним с приведённым, но при этом конечно может на это не хватить ресурсов просто.

Ответить
0

Конечно. А еще я говорил исключительно о своих проектах, в коде и структуре которых я ориентируюсь, а не о портировании чужих игр - это сложнее. Но не в этом суть, пожалуй.

Ответить
0

не знал, что он еще жив =D

Ответить
1

75% игры из топ 100 по доходам на всех веб платформах Flash (Facebook, Vk, Ok, ArmorGames, Kongregate и тд). Если говорить о суммарной доли Flash игр от всех в вебе, процент будет около 90.

Ответить
1

я про z0r.de, а не flash =D

Ответить
1

Для него автоматических конвертеров должно за глаза хватить. Основной контент там - зацикленные гифки или шейпы с анимацией плюс музыка. Никакой сложной логики, никакой интерактивности. Да и, наверное, можно просто сграбить одним махом swf-ки и на десктопе смотреть в свое удовольствие.
Вот штуки типа Grow Island уже более серьезная проблема, мне кажется.

Ответить
1

Это позволило добиться 100% соответствия

получить прирост производительности в 300% относительно Flash Player

Хотелось бы увидеть графики сравнений.

Ответить
2

Добрый день,

На данный момент 170 продуктов конвертировано, от самых разных разработчиков с самым разным функционалом Flash Api и все они работают "как надо" =)

В течении пары недель обязательно предоставим тесты сравнения производительности.

Спасибо за вопрос !

Ответить
0

Хорошее дело. Флэш лично для себя давно уже закопал и 3 года без проблем сижу без него, но некоторые еще используют по не знанию или из-за таких вот игрушек.

Ответить
0

Быстрей бы этот flash сдох. На мой взгляд хоть технология и была прорывной в середине нулевых и улучшила интернет. Но она одновременно с этим была очень тормозной и кривой.

Ответить

Комментарий удален

0

Это что-то из разряда некрофилии. Но зато вы в этом лучшие )

Ответить
0

печально, что им(iceStone) и написать нельзя(
Адрес почты не существует

Ответить
–1

А выхлоп-то с этого хоть какой-нибудь есть? Сдается мне, что никому портированные флешки не нужны.

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
В лутбоксы начали включать багфиксы
Подписаться на push-уведомления