Thibault Imbert объявил про обновление планов на будущее и настоящее


Прежде всего, хочу передать самую первую приятность за этот год. Доступ к премиум содержимому (XC APIS) стал позиционироваться не как премиум содержимое. Это значит, что теперь нет надобности покупать или оформлять бесплатную лицензию на домен, на котором используется эта волшебная связка.

Кто-то хотел сделать порт C++ и Stage3D связку? Нет проблем! С конца Января 2013 года надобность в оформлении лицензии отпала. Иначе говоря — доступ к domainMemory API стал как default :)

После полезного общения с разработчиками — было принято решение не менять текущую архитектуру Flash Player на данный момент. Вам требуется немного подождать, чтоб не появился негативный опыт перехода разработчиков с текущей архитектуры на новую. Переход требует аккуратного, мягкого и спланированного подхода. Иначе разработчики испытают дискомфорт, который испытали многие, кто одни из первых переходили с AS2 на AS3.

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

Для всех, кто занимается Stage3D разработкой с использованием Away3D мы рады сообщить, что компания Adobe будет спонсировать развитие Away3D для максимально-эффективного развития. Об этом и многом другом, что касается Adobe и Game индустрии Вы можете дополнительно почитать по ссылке Gaming News
Gaming SDKНапомним, что Away3D, Feathers и Starling находятся на официальной поддержке у Adobe. Входит в бесплатный пакет Gaming SDK. Кстати, рекомендуем обновиться с привычной 1.0 версии до обновленной недавно 1.0.1 Gaming SDK. Обновления затронули взаимодействие с новым ActionScript Compiler 2.0, исправления ошибок, добавление новых фич и усиление производительности.

Для тех, кто не следит за развитием или не интересовался: не путайте с языком программирования старой версии 2.0. Аббревиатура ASC2.0 это компилятор ActionScript 3.0 версии 2.

Для тех, кто интересуется более низкоуровневым развитием SWF формата — предлагаем Вашему вниманию обновленную документацию по формату файла SWF версии 19 по ссылке SWF формат. По указанной ссылке Вы найдете так же обновленную документацию по AMF.

[upd]
Для многих, кто разочаровался или не понял — объясню. А то меня уже завалили в скайпе вопросами.

ActionScript 4.0 откладывается ввиду того, что рынок еще не готов к потере обратной совместимости As4 к As3/As2. Если сейчас будет выпущен новый флеш плеер Next — это приведет к тому, что все баннеры, все игры на actionscript 2.0 и 3.0 банально перестанут работать.

Был Number объект — стал float. Загружаем флешку, где написано было var i: Number и она уже не работает. Придется переделывать всё. А это невменяемое количество работы.

Если в один день перестанут работать сотни тысяч флеш игр — планету ждет катастрофа, которая случится в обеденный перерыв. Люди, поедая обеденный борщ на работе — сойдут с ума. И все те популярные зомби-игры станут реальностью на улицах наших городов :) just kidding.

За ошибки в словах I'm so sorry.

Комментарии (39)

0
столько новых слов…
0
Про совместимость, имхо, просто отговорки.
Не такой большой текущий размер у флеш-плеера, что мешает в него включить две ВМ?
Как самый простой и дубовый способ.
Когда вышел as3 почему-то не возникло проблем с совместимостью.
0
Хотя в оригинале и нет такого.
Там говорится, что разработчикам придется много портировать старые наработки.
0
Ну не знаю :) Я лишь до тэга UPD написал то, что сообщил сутки назад Thibault Imbert :) И после [upd] написал то, что мне написал Mike Chambers на вопрос что пиплу поведать на вопрос почему, что да как.

С другой стороны — он так же отметил, что road map меняется в год по 10 раз и если сейчас написано «не планируем», это не значит, что «не будем делать». На счет трудности перехода as2 на as3 это как переход в строительстве переход с соломы на дерево. А переход на as4 это переход с дерева на кирпичи и газобетон.

Хотя, если честно, я давно поднимал вопрос о модульности. Чтоб можно было на этапе компиляции указывать какие модули мы будем в swf использовать и какие не будем. К примеру, чтоб можно было в коде писать System.audio = false и комплиятор ставит флаг, что как бы мы не хотели — звук работать не будет во флешке и всём его загруженном контенте. Значит и загрузчик swf не будет подгружать весь плагин, а лишь оставшиеся части, которые true по умолчанию. Дали пряник за хорошую идею и сказали, что если это и будет когда-то, то это может сократить размер плагина для флешки и разделить на много файлов сам плагин. Клево? Т.е. всё их сейчас интересует стабильность в первую очередь. А уже потом всякие пряники. Типа as4.

Я думаю, что тут много ребят участвующих в PreRelease Commnuty и они могли бы тоже высказать свое мнение в рамках NDA. Не более и не менее. Мне просто лень.
0
Ну вот, еще отписались немного, что если выкинуть к свиням as2 vm, то размер плагина сократится естественно, ибо сейчас как бы 2 в 1. Но делать 3 в 1 это уже перебор. Короче говоря — не знаю, что ответить. Посоветовали не париться и изучать С++, юзать FlasCC для физики, учиться риосвать, делать крутой rich контент и забить на производительность — будет всё зашибись.
+1
Да, 3 в 1, забыл )
±10мб сейчас мало кого волнуют.

Посоветовали не париться и изучать С++, юзать FlasCC для физики, учиться риосвать, делать крутой rich контент и забить на производительность — будет всё зашибись.
Тогда уже проще юнити без такого подвыверта, тем более учитывая ситуацию с премиумом.
0
И не поленился же ты найти ± символ :)))

Так весь прикол в том и есть, чтоб всех согнать на флеш :) Если не изменяет память — когда ты паблиш делал из Unity3D во флеш — то тебе с марта начало требовать Premium лицензию. А теперь как бы и не требует — пользуйся как угодно и где угодно. Но публикуй во флеш :) Ведь флеш стоит по всех браузерах. Всяких гиков я не считаю людьми, по-этому их откидываем. А вот Unity3D стоит не далеко не у всех. И особенно не все смогут его поставить. У компаний запрещено играть на работе во время работы :) А для чего Unity3D администратор будет ставить менеджеру? Для заполнения деклараций? )))

А они тем временем будут совершенствоваться :) ECMA сначала проработают и уже дальше пойдут. Мне так кажется.
0
Не, я не такой )
Это видимо парсер умный, преобразовал знаки через косую черту.

Не совсем понял логику, для юнити это плюс — теперь еще больше плюшек и бонусов от перехода.
А в чем плюс для флеша, если адоб не зарабатывает на самом плеере?
0
Не знаю :) Никто этого не скажет наверняка. А тот, кто знает — уж темболее. С точки зрения бизнеса совершенно очевидно, что Shantanu Narayen мог подъехать на своем мазератти к владельцам Unity3D, Crytec, Shiva и другм компаниям и сказать — ребятки, давайте ка нам по столько-то денег и мы отменим premium лизензирование и программисты смогут паблишить во флеш без дополнительных затрат, что вернет чудо-возможность юзать ваши движки там, где они перестали работать на полную катушку.

На месте компаний, коих массы — я бы с радостью поделился денежкой. Убил бы сразу кучу зайцев. Что такое для каждой компании каких-то там 5 миллионов долларов (пример), если люди смогут паблишить во флеш имея Professional купленный пакет разработки )

Вот такие мысли. Войну затевать выгодно не тем, кто верит в светлое будущее, а тем, кто занимается производством оружия :)
0
Ведь сколько история знает приколов, типа «Вы можете юзать наш формат совершенно бесплатно в целях изучения. Но если хотите кодировать ваш проект в наши формат — купите лицензию». А конечные пользователи этого не знают — они тупо жмут Publish и все ) Им пофигу на договоренности руководства, продуктами которых они пользуются.
0
>программисты смогут паблишить во флеш без дополнительных затрат, что вернет чудо-возможность юзать ваши движки >там, где они перестали работать на полную катушку.
А как там будет работать загружка? Т.е. к примеру в игре 100мб ассетов. Игра будет показывать load screen пока не утянется вся swf?
0
Честно говоря не знаю :) Я FlasCC использовал собственно ручно только для написания защиты swf от воровства на уровне домена :) А это всего ли шл 380кб сама swc
0
Т.е. если там просто соберется флэшка, то толку от этого не так много… Этакая флэшечка на 300 метров :)
0
Что значит толку нет? www.unrealengine.com/flash/ надпись висит же — Downloading assets ...1%...2% т.е. прелоадер сделать можно. Объем зависит от того, что будет туда засунуто. Если это игрука на 5 мб, то будет занимать 5.400 в сумме. Нормально ведь :) Главное, что работать будет очень быстро :)
0
Там сразу собирается с дефолтным прелоадером, при сборке можно свой назначить или отключить, аргументы компилятора -swf-preloader и -no-swf-preloader.
0
А для чего Unity3D администратор будет ставить менеджеру?

На вин7 юнити ставится без прав администратора.
0
Надо сказать всем фирмам, чтоб переходили на Win7 с лицензионного купленного ранее WinXP или Vista :) Чтоб Unity3D ставился )
0
Не знаю как дела обстоят на хр или висте, просто за 10 минут до чтения здешних комментариев, установил себе юнити плагин.
0
Ну значит это всё же не возможность установить, а просто админы не такие злые. Банальный пример. Менеджер одной фирмы заказал у меня небольшое Adobe Air приложение, которое запускается с флешки. Он не смог его запустить, т.к. админы запретили на программном уровне запускать приложения, не внесенные в списки разрешенных. Как это делается я не знаю, т.к. я никогда не сталкивался сам с этим. Но факт остается фактом. В вот Flash Player установлен.
0
Спасибо за новости.

А где можно почитать как использовать FlasCC? Может есть какие-то уроки?
0
1. FlasCC можно скачать вот тут FlasCC_1.0.1.zip
2. Уроков я не видел особо, но в пакете zip есть примеры в достаточном количестве. У меня сначала была паника почему ничего не работает. Потом успокоился, выпил чая и сделал небольшое тестовое приложение. Всё работает на отлично. Главное не пугаться размеру флешек. Первая флешка собиралась долго и занимала она 4 мегабайта. Хотя я просто хотел вернуть строку. Как оказалось я весь флеш плеер засунул в swc :) Когда разобрался — всё стало на свои места.

Сейчас допиливаю защиту сайтлока для домена, который будет работать на C++ и человек при самом большом желании не сможет разместить swf на другом домене. Ну, если он iframe будет использовать и только. Главное уделить время изучению. В моем случае это тяжело — есть ряд основных задачек, которые отнимают всё свободное время :)

3. Вот ресурсы так же для изучения Operating AS objects
0
Спасибо. Буду разбираться :)
0
Сейчас допиливаю защиту сайтлока для домена, который будет работать на C++
Кроме дюжины опкодов для работы с domainMemory, все компилируется в тот же самый байткод, ощутимой разницы в плане конспирации нет.
0
Могу не согласиться.

Функция выглядит as3 выглядит так:

Lock.getResource( stage.loaderInfo, 32 );

1) С++ изучает из stage.loaderInfo параметр url
2) список доступных (рабочих) url заранее зашиты в C++ и закодированы в md5. Входящий тоже кодируется в md5 и если input == embeded то вываливаем русурс под номером 32, как пример.

Крутил декомпилятором. Крутил дизассемблером — самая мощна защита, которую можно придумать используя эту цепочку.
0
Ну, вместо строки url из stage.loaderInfo подсовываешь константную строку с валидным доменом, и пройдет проверку.
0
Не получится.

Весь смысл в том, что отправляется именно объект loaderInfo. А URL параметр уже узнает сам С++ и взломщик не будет знать что там происходит.

Если прислать туда Lock.getResource( «mydomain.com», 32 ) то С++ ничего не вернет назад. Во-первых у String(«mydomain.com») нет параметра .url и во-вторых, спасибо за наводку, надо будет сделать передачу ссылки на stage. A loaderInfo и url буду узнавать уже в самом С++

Да и у mydomain.com хэш будет fe7755544c9810c5650a9e6dd7885b33, а у разрешенного othersitegames.com 1946a907920c9a1ebd1fd7be9d4926f9 и получим такое:
if ( fe7755544c9810c5650a9e6dd7885b33 !=1946a907920c9a1ebd1fd7be9d4926f9 ) {
return Asset(0); // выводим bytearray не персонажа, а красный фон
} else {
return Asset(32); // выводим персонажа
}

так же hash разбитый на 2 части. Даже если нарыть это дело в виде строки — валидация не будет пройдена. Т.е. идея защиты не от крутых хакеров, а от китайцев и прочих любителей в дизассемблере менять String или лепить returnvoid в функции проверки домена.
0
Ну, так после компиляции не будет никакого C++, все скомпилируется в обычный байткод. Обращение к AS3- классам и их свойствам идет через AS3 API, т.е. не будет отличатся от написанного в AS3.
0
Не буду спорить, т.к. не до конца в этой теме разобрался. Но вот могу сказать такое. Да, действительно — если извлечь бинарный файл из SWF файла — можно найти строку. Но сделать с ней ничего не получится априори. Во-первых там далеко не ABC код. Ну и во-вторых среди набора мусора типа:
чs_гP=™VA?1ЄE=Џ*8cьсYЅ@uЋЖыъY=b лхvi:ЅрLТzЌ:=…Й,њ0]=‘ЂЕФMY% никто точно не поймет куда лезть и что править.

Если имя домена vasia.com — обойти можно без проблем только для домена у которого количество букв = vasia и не более ) тупо переписать. Но в моем случае слов vasia нет. Там md5 хеш идет сразу порезанный на части. Я не знаю как сильно надо желать будет игрушку, чтоб писать ПО по деньгам куда больше, чем стоит игрушка, чтоб попытаться в ней что-то подменить :)

Защита в моем понимании это не средство борьбы с пиратством, а средство сказать пирату, что он не прав и может не тратить время :) Когда они после N-го количество тыканий видят, что у них ничего не получается — они бросают затею. Серьезные ребята таким цирком не занимаются. В основном защиту ломают русский или китайцы. Много раз на илансе видел проекты, где предлагалось за 100 долларов снять сайтлоки с 20 игрушек. Я уважаю силы разработчиков и всегда нажимаю кнопочку пожаловаться. Но зная тех, кто этим занимается — увидя мою защиту они просто не станут тратить время. Если за первые 5-20 минут ничего не вышло, дальше тыкаться бесполезняк.

А что же касается ожидаемого открытого as3 кода после сборки flascc то его нет. Мы можем увидеть лишь набор функций. Но не их содержание.

Т.е. нечто интерфейсов. А они, как известно, не несут вообще ничего кроме декларации переменных.
+2
я так понял главный секрет твоей защиты только в том, что ты о ней поешь хвалебные песни, но не показываешь. Это хитро, признаю.
0
Ну мы обсуждаем не столько защиту, сколько FlasCC :) Когда решение будет на 100% готово — я не вижу проблем в выкладывании её в открытый доступ.
0
Было бы интересно взглянуть.
0
Да, посмотрел немного, оказывается FlasCC по другом компилит чем старая алхимия, какое-то новое ядро — вполне может годный сайтлокер получиться. Но снять все равно можно полным вырезанием модуля, ну, конечно, это уже не пару байтов пропатчить.
0
Фишка в том, что ассеты храниться должны в самом C++ и выдаваться наружу только! если прошла «авторизация» :)
0
Ну, можно сделать врап, условно, Lock.getResource, который будет сохранять пары ключ — возвращаемый результат (расшифрованные ассеты) проходящие через него, или просто если ключи известны, прогнать все через этот метод прямым вызовом — в результате у тебя будет набор расшифрованных ассетов-ключей, потом вырезается весь защитный модуль полностью, расшифрованные ассеты эмбедется заного, пишется свой метод Lock.getResource, который просто будет доставать из обычного массива.
0
* заново
0
Ты прав на 100% только кто этим займется? Как показала моя практика — если ты в течении дня не смогу ничего взломать то ты забросишь это дело ибо купить сайтлок стоит дешевле 1 дня работы программиста такого уровня, который сможет всё вышесказанное обойти )
0
В реалиях флеша, это не так сложно, как кажется. Ну, конечно не пару байтов пропатчить, как в обычном варианте.
0
*по-другому
0
Жаль… AS4 хотелось пощупать:) Но, с другой стороны, у меня и без этого куча работы на этот год. Так что всё не так уж плохо. Надо будет освоить текущий Gaming SDK.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.