Adobe Flash как инди-платформа (движки, редакторы, уроки)
Перед каждым начинающим разработчиком инди встают закономерные вопросы: "на чем писать?", "для чего писать?" и "какие инструменты использовать?". Далее я попробую осветить все эти вопросы в свете платформы Adobe Flash.
В статье неоднократно будут указаны ссылки на блог REDEFY, дабы избежать избежать обвинений в том что я рекламирую якобы свой блог, откройте и прочитайте спойлер
Самый банальный пруф:
redefy HTTP://FORUM.ALTERNATIVAPLATFORM.COM/USER/PROFILE/688803.PAGE
Verdana (я же verdana_hd)HTTP://FORUM.ALTERNATIVAPLATFORM.COM/USER/PROFILE/691922.PAGE
Смотрим на количество постов и тем, созданной им и мной. вот например два первых поста в теме HTTP://FORUM.ALTERNATIVAPLATFORM.COM/POSTS/LIST/8657.PAGE
Если особо хочется, можно написать в личку на том же форуме мне и ему.
Цитата с официального сайта:
Adobe® Flash® Platform — это интегрированный набор технологий для программирования приложений, поддерживаемый стабильной экосистемой, состоящей из программ поддержки, бизнес-партнеров и сообществ пользователей. Вместе они способны предоставить вам все, что нужно для создания и распространения динамичных приложений, контента и видео для самой широкой аудитории.
К плюсам flash можно отнести:
- Кроссплатформерность - flash-приложения выполняются в трех основных средах: flash player, AIR и shockwave player (встроен и автоматически обновляется в браузере Google Chrome). Все три среды поддерживаются в Windows, Mac OS и Linux, а также во многих портативных устройствах, что обеспечивает максимальную многоплатформерность из всех мультимедийных сред исполнения;
- Отказоустойчивость и поддержка - в отличие от многих open source игровых движков и сред, flash сам по себе является огромным коммерческим проектом, и над платформой трудятся сотни и тысячи разработчиков. Регулярные обновления компонент, расширение возможностей, крайне низкое количество багов в самой платформе (на самом деле их почти нет) и поддержка разработчиков со стороны стороны самой Adobe Corporation заслуживают уважения;
- Action Script 3 - высокоуровневый объектно-ориентированный язык программирования, обладает огромным количеством возможностей, от работы с простым текстом и графикой, до управления сетевыми подключениями и прямой работы с процессором видеокарты с помощью интегрированного Adobe Graphics Assembly Language;
- Инструментарий - для flash за все время его существования успело появиться множество сторонних IDE, библиотек функций и полноценных движков, о чем мы сегодня и поговорим.
Выбор среды разработки (IDE)
Для разработки flash-приложений можно выделить три главных IDE: Adobe Flash Professional, Abode Flash Builder и свободная среда с открытым кодом Flash Develop. Вкратце пройдемся по списку.
Adobe Flash Professional - что бы там не говорили, это в первую очередь визуальное средство разработки и программисту в нем работать не очень комфортно. В этой среде гораздо проще создать интерактивный (не обязательно) ролик, чем полноценное приложение, а тем более игру, потому и подходит скорее дизайнерам, чем разработчикам.
Adobe Flash Builder - как раз для разработчиков корпорация Adobe создала данную IDE, предназначенную в первую очередь для программистов. Удобно, просто, надежно, дорого. Стоит она ~1000$.
Flash Develop - выбор большинства разработчиков (в том числе и мой личный). Представьте себе бесплатный Flash Builder с дополнительными возможностями, это и есть Flash Develop.
Тем не менее, язык программирования и платформа для всех IDE одни и те же, потому проект всегда можно перенести с одной платформы на другую.
ТЕХНОЛОГИИ
Flash Player/Shockwave Player - последняя (11) версия плеера обзавелась поддержкой технологии Molehill, т.е. аппаратного ускорения графики. Теперь разработчики могут свободно использовать ресурсы видеокарты, освободив ЦП от этой тяжелой ноши. Подробнее о Molehill можно почитать в этом переводе книги. Для разработчиков существует standalone версии плеера на выбор Debag (с большими возможностями дебага) и Release. Просмотреть список серий и скачать нужный плеер можно здесь.
Adobe AIR - обычно flash-приложения мы видим только в браузере. После установки AIR на ваш ПК, вы можете устанавливать специально созданные AIR приложения, которые обладают расширенными, по сравнению с обычным браузерным flash возможностями.
Action Script 3 - лично я изучил его примерно за месяц, учитывая, что до этого работал только в Delphi 7 и PHP. За это я хочу особо поблагодарить Adobe, потому что такого отличного учебника по языку программирования я не видел очень давно. Да и такого полного онлайн-справочника тоже. Хочу заметить, что как учебник, так и справочник полностью на русском языке.
ДВИЖКИ
Я хотел бы рассказать о двух движках, которыми пользовался я, и которые я могу вам рекомендовать. Итак:
Flash Punk
FlashPunk - это бесплатная библиотека классов написанная на ActionScript 3 и предназначеная для разработки 2Dфлеш игр. Она облегчит вам создание прототипа и разработку вашей игры. Это означает, что большинство грязной работы (обновление игрового цикла, анимация, работа с тайлами, расчет столкновений и другое) сделаны за вас и готовы для использования. Это сохранит вам большую часть времени и энергии, и позволит сосредоточиться на проектировании и тестировании вашей игры. (с) redefy
Space Invaders на Flash Punk
Лично от себя - крайне рекомендую. Движок предназначен исключительно для разработки игры и для его использования достаточно базовых знаний Action Script 3.
Уроки по движку можно найти в этом разделе блога, где собрано множество уроков (основы в самом низу страницы).
Alternativa Platform
Компания Alternativa Platform разработала четыре движка, представленных в виде библиотек функций swc: Alternativa3D, AlternativaGUI, AlternativaCore и AlternativaPhysics. По ссылкам можно прочитать и скачать нужные вам библиотеки, по всем вопросам можно обратиться к AlternativaWiki и форуму. Также в том же блоге REDEFY, можно прочитать уроки по Alternativa 3D.
Хочу упомянуть лишь, что проект AlternativaPlatform коммерческий, но все библиотеки кроме Core бесплатны. Alternativa3D, например основана на Molehill (то есть использует видеокарту), и позволяет выводит на экран 3 000 000 полигонов. Впечатляет, не правда ли? :)
Ogmo Editor
Ogmo Editor – это визуальный редактор 2D-уровней для независимых разработчиков игр. Это Adobe® AIR™ приложение, и оно является кросс-платформенным, работающим на Windows, OS X и Linux.
Ogmo Editor работает с XML, поэтому его результатные файлы можно использовать в любом современном движке. Прочитать урок по OE можно здесь.
Заключение
Целью этого поста было показать вам возможности Adobe Flash, как платформы для создания инди-игр. Примеры игр, вы можете посмотреть по этим ссылкам: на Flash Punk, на Alternativa3D.
- 15 января 2012, 10:22
- 017
Adobe Flash Professional - этого IDE я попробовал начать своё знакомство с Flash, решив по незнанию, что в этом все и работают. После многолетней работы в MS Visual Studio получил такой заряд недоумения и отторжения, что закрыл и забыл как страшный сон - насколько всё было для меня неестественно и неудобно.
Интересный, по крайней мере информативный пост, спасибо! Вот мой плюс! :)
P.S. А что за чехарда с выравниванием? То слева, то по центру в случайном порядке! Я бы рекомендовал всё выровнять по ширине. ...да, ещё начинай, пожалуйста, предложения с большой буквы, врезка про "пруф" из-за этого очень неряшлива, особенно если учесть, что остальной текст использует заглавные буквы.
Подправил форматирование, спасибо за замечание)
Да, само IDE Adobe Flash это жутко. Я когда-то в детстве работал в Macromedia Flash 8, которая потом и переросла в вышеназванную IDE, но мне и там было очень неудобно. Flash Develop у меня нареканий не вызывает, например.
Как-нибудь позже напишу статью-урок (максимально разжеваный, вплоть до "нажми сюда") по Alternativa3D 8, чтобы показать возможности 3д в браузере.
Спасибо! :)
Alternativa3D, это мощь! Полтора года назад сел на их Танки-Онлайн ("Kolhoz" и всё такое) продержало больше полугода, стало мешать жить - пришлось насильственным образом бросить (удачно попал на закат клана и уменьшение поддержки моих инициатив:).
В этом посте будет много флэйма на тему "Флэш-мёртв", к гадалке не ходи. Про это я не буду, меня больше такой вопрос интересует - является ли Unity конкурентом Alternativа 3D? И, вообще, что ты по этому поводу думаешь?
Их танки-онлайн до сих пор на 7-ой версии их же движка, сейчас активно разрабатывается танки 2, на 8-ой версии движка. Даже пару демок выложили.
О самом движке я могу сказать, что он хорош, очень хорош, НО разработчикам на сообщество абсолютно по барабану. На том же форуме постов разработчиков раз-два и обчелся, да и отвечают они на самые простые вещи, которые можно и по документации понять. А документация у них хоть и широкая, но не полная. Есть баги, есть очень ужасный баг - со включенным antiAliasing больше 0 (а без него любая игра сейчас выглядит ужасно), многие функции выдают кривые координаты. Этот баг и то, что разработчики никак не отвечали на вопросы уже около месяца, заставил меня и того же Redefy, потихоньку уйти с движка.
По поводу багов и отсутствия поддержки разгорелся адский холивар среди флагманов сообщества, почитать можно тут . Началось все с обсуждения блума, закончилось обвинениями альтернативовцев. Рекомендую почитать, перед тем как работать с этим движком.
Есть open source 3д движки для флеша, вроде Away3d (он уже обошел альтернативу по технологиям, но замусорен и не очень удобен) и еще каких-то, есть 2д с поддержкой видеокарты - Starling Framework, а я просто в восторге от Flash Punk. Потому я пока что буду работать в 2д.
А флеш не мертв, ты что. С выходом molehill флеш уверенно шагает вперед, ему пока нет хоть в половину такой же крутой замены.
С unity я не работал, не могу ничего сказать :( проекты на ней хорошими получаются весьма редко, если только программист особо хорош. Я бы порекомендовал Ogre, такой графической мощи нет ни у какого open source, но он очень громоздок, и там только графика. То есть ни утилит никаких, вообще ничего, кроме кучи кода. Зато прекрасные шейдеры.
Мое лично мнение по поводу подхода к созданию игр - разработчик должен знать все нюансы работы кода, вплоть до самого низкого - шейдерного уровня. Иначе ты не разработчик, а какой-то недодизайнер-недопрограммист. От этого и ужасный расход ресурсов зачастую, и баги и все остальное.
кстати по поводу мертвого флеша - посмотри на миллионы активно срубающих бабла онлайн игр во вконтакте и facebook)
- не будет. Хейзер в бане
Ах, вот как...
Жаль ._.
P.S> С холиварами гамин выглядел живей
Та он по идее ненадолго
Уморительная штучка! :D
Задолбал ты со своим выравниванием по ширине )))
на самом деле так правильно)
Хочешь поговорить об этом? :) Я могу мотивировать.
Хочу, конечно ))
Выравнивание по ширине -- это вкусовщина. А ты навязываешь ее как аксиому какую-то. Аксиома это не работающая ссылка. А центрирование рисунка, выравнивание по ширине -- это все от лукавого. Мне, например, не по вкусу пробелы разной ширины (неизбежные при выравнивании по ширине, так как слова не переносятся, как в журналах или в газете).
Если же это аксиома на уровне политики гамин.ру, то договорись с Gyt'ом и поставьте выравнивание по ширине по умолчанию, без возможности изменения. И споров никаких не будет.
Выравнивание по ширине, это несколько сотен лет книгопечатания и ручной вёрстки. Книги, журналы, газеты - нигде нет рваного правого края. Правда делают они этого другими средствами, тут не поспоришь.
Разница в пробелах видна на узких колонках, там по ширине выравнивать нехорошо, согласен, но на большой колонке пробелы практически незаметны, а ровный симметричный край заметен.
Это не идеальное решение - пробелы всё же появляются там или сям, поэтому я не навязываю, а рекомендую и использую сам. На уровне Гамин.Ру это в силу "вкусовщинки" не нужно вводить, но кто мешает мне советовать? :)
Советовать никто не мешает )) Но ты прочитай как-нибудь подборку своих комментов про выравнивание, и увидишь, что советами там и не пахнет )
http://gamin.me/review/ocherednoi-klon-super-mega-erpege?page=1#comment-41405
И да, я за божественную асимметрию ))
Ну так запостуй чего-нибудь этакого! А то всё комментируешь... ;)
Минус тебе за это!