четверг, 20 октября 2011 г.

FlashJS – игровой движок на Javascript и HTML5 для флешеров, open source

Денис Радин (он же - Pixels Commander и идеолог iTSea), придумал, сделал и развивает библиотеку FlashJS для разработки игр на HTML5 в стиле Flash.

Это означает применение обьектной модели Flash Player коде, размещаемом в HTML-тэге <actionscript>. Уже доступны такие объекты и методы:

  • DisplayObject
  • addChild, removeChild, removeChildAt, getChild, getChildByName, numChildren
  • KeyboardEvent
  • Loader
  • onEnterFrame
  • alpha, rotation, x, y
  • и другие объекты из Flash, разработка продолжается.

Сам проект open source и выложен на FlashJS @ GitHub - Денис приглашает всех желающих к сотрудничеству. Есть онлайн-демо:

Flash JS Racing MiniGame Demo

Читать дальше: FlashJS – игровой движок на Javascript и HTML5 для флешеров, open source

вторник, 18 октября 2011 г.

Реклама AdMob и мобильные Air приложения

Короткий пост о том, как разместить баннер популярной сети AdMob в мобильном Air приложении. Рассмотрим один-два нюанса, решим проблему нежелательного масштабирования.

Итак начнем. Оставим без деталей несложный процесс регистрации на сайте AdMob, и создание нового сайта/приложения:

AdMob создание нового сайта или приложения

Для размещения баннера в приложении для iPhone и iPod Touch я выбираю iPhone App — мне это кажется логичным. Однако многие авторы подобных статей рекомендуют выбрать Smartphone Web. Такой вариант удобен тем, что сразу приводит нас к необходимому javascript коду вместо такой вот новости [...]

Читать дальше: Реклама AdMob и мобильные Air приложения

Adobe Flash Player и передача потоковых данных без участия сервера, часть 1-я: организация пирингового вещания

Как известно недавнее обновление продуктов Adobe Flash Player до 10.1 и Adobe AIR до 1.5 версий осуществило целый фурор, презентовав новый протокол связи Real-Time Media Flow Protocol (RTMFP). Заранее попрошу не путать вышеупомянутый с Real-Time Messaging Protocol (RTMP) для использования которого был необходим Adobe Flash Media Server (FMS) на стороне обслуживающего сервера.
    Разработчики обещают, что протокол будет обладать низкой задержкой во времени при пересылке пакетов, но самое главное, протокол ориентирован на организацию пиринговой сети

Читать дальше: Adobe Flash Player и передача потоковых данных без участия сервера, часть 1-я: организация пирингового вещания

суббота, 15 октября 2011 г.

Пишем шейдер на AGAL

Ни для кого уже не секрет, что Flash Player 11 имеет поддержку GPU ускорения графики. Новая версия вводит Molehill API позволяя работать с видеокартой на достаточно низком уровне, что с одной стороны даёт полную волю фантазии, с другой требует более глубокого понимания принципов работы современной 3D графики.

В данной статье речь пойдёт о языке написания шейдеров – AGAL (Adobe Graphics Assembly Language). Предполагается, что читатель знаком с базовыми основами современной realtime 3D графики, а в идеале – имеет опыт работы с OpenGL или Direct3D. Для остальных же проведу небольшой экскурс:

  • в каждом кадре всё рендерится заново, подходы с частичной перерисовкой экрана крайне нежелательны
  • 2D – частный случай 3D
  • видеокарта способна растеризовать треугольники и ничего кроме
  • треугольники строятся на вершинах
  • каждая вершина содержит в себе атрибуты (координата, нормаль, вес и др.)
  • порядок задания вершин в треугольнике определяется индексами
  • данные вершин и индексов хранятся в вершинном и индексном буферах соответственно
  • шейдер – программа выполняемая видеокартой
  • каждая вершина проходит через вершинный шейдер, а каждый пиксель при растеризации через фрагментный (пиксельный)
  • видеокарта не умеет работать с целыми числами, но отлично работает с 4D векторами

Синтаксис
В текущей реализации AGAL используется обрезок Shader Model 2.0, т.е. фитчелист железа ограничен 2005 годом. Но стоит помнить, что это ограничение лишь возможностей шейдерной программы, но никак не производительности железки. Возможно, в будущих версиях Flash Player планка будет поднята до SM 3.0, и мы сможем рендерить сразу в несколько текстур и делать текстурную выборку прямо из вершинного шейдера, но учитывая политику Adobe, случится это не раньше выхода следующего поколения мобильных устройств.

Любая программа на AGAL является по сути низкоуровневым языком ассемблера. Сам по себе язык очень простой, но требует изрядной доли внимательности. Код шейдера представлен набором инструкций вида: [...]

Читать дальше: Пишем шейдер на AGAL

вторник, 4 октября 2011 г.

AlternativaPlatform на конференции Adobe MAX 2011

Конференция Adobe MAX 2011 проходит в Лос-Анджелесе с 1 по 5 октября 2011 года. Мы выступили золотым спонсором мероприятия и представили на нем свои последние разработки в области отображения трехмерной графики с аппаратным ускорением в среде Flash Player. Генеральный директор компании Александр Карпович и арт-директор Иван Зыков выступили с докладом “Amazing new possibilities in Flash with Alternativa3D”, рассказав о возможностях графического движка Alternativa3D 8. Разрабатывать и запускать проекты на базе движка можно уже сегодня.

Наряду с графическим движком и серверной частью мы создаем собственный онлайн-редактор AlternativaEditor. Уже сейчас его можно использовать как бесплатный инструмент для публикации 3D-моделей. После загрузки модели в редактор по адресу editor.alternativaplatform.com пользователь получает ссылку и код для встраивания объекта в блог или сайт. Впоследствии AlternativaEditor также будет доступен партнерам компании как полноценный инструмент для изменения параметров игрового мира и перемещения объектов в реальном времени непосредственно во время игры.

Увидеть возможности AlternativaPlatform можно своими глазами, загрузив интерактивную демонстрацию “Танков Онлайн 2.0″ на картах “Арена” и “Крушение“, а также промо-игру MAX Racer, созданную по просьбе Adobe Systems для демонстрации возможностей Stage3D (Molehill 3D APIs) на Adobe MAX 2010.

Читать дальше: AlternativaPlatform на конференции Adobe MAX 2011