2016 - год перемен.

2010 — Flash vs Unity. 2016 — Flash vs Excel

!!! Внимание: Данный пост не претендует на абсолютную истину. Некоторые доводы и факты в нем нелепы. Отношение автора предвзято. В виду своего содержания не рекомендуется к прочтению никому.

Всё же, если вы решили узнать, о чём идёт речь, а затем и оставить комментарий, учтите следующее:
  1. Мы не переходим на «личности». Комментарии вроде “Ты не уверен в себе, поэтому и считаешь, что Unity лучше” недопустимы. Вы не согласны с чем-то — аргументируйте свою позицию. Если не находите достойных аргументов, чтобы отстоять свою точку зрения или опровергнуть противоположную, подумайте дважды прежде, чем переходить на личности.
  2. Здесь обсуждаются движки как инструмент для разработки игр. Мы не обсуждаем наши проекты/заработки, сколько накоплено опыта/достижений, как и то, у какого движка лучше маркетинг (Совершенно очевидно, что дурак Вася с отличной командой и чудесными инструментами снесёт пол города, в то время, как гений толик с молотком построит шикарный пентхаус. Это не доказывает, что инструменты и команда у Васи плохие. Не умеет он строить, только и всего.
  3. Автор не призывает всех перейти на Unity и выкинуть Flash, а лишь расширить круг навыков. (Если вы хорошо рисуете карандашом, а кто-то заявляет, что графический планшет и фотошоп намного лучше, чем рисунки на бумаге, то это вовсе не означает, что вашу роботу не ценят и что вам нужно выбросить все свои карандаши и бумаги и рисовать исключительно в фотошопе. Как раз наоборот это возможность пересмотреть возможные варианты, их преимущества и недостатки, а возможно и расширить свои возможности (как-то: сканировать свои рисунки и перерисовывать в фотошопе, может быть, анимировать. Или начать работать через интернет и сделать из любимого занятия любимую роботу. Или просто понять для себя, в чём преимущества и в дальнейшем их использовать. Но уж точно не сходить с ума каждый раз, как кто-то заявит: «Не пробовал фотошоп?» из-за внутреннего страха, что это слишком сложно и наверняка стоило начать раньше, а определиться для себя, что это не «ваше».
  4. У вас может быть синдром утёнка. Вы никогда не пользовались Unity или установили, поклацали недельку и теперь, зная немного о Unity, утверждаете, что Flash гораздо лучше для разработки игр. В то же время автор поста дурак и не разбирается во Flash. Ведь я же явно разбираюсь гораздо больше, чем он. Нужно хорошо понимать обе стороны вопроса, чтобы смести меня в пух и прах.
  5. Если вы докажите, что Flash лучше, чем я его представил в данной статье или того, что я о нём думаю, это всё равно не докажет, что он лучше подходит для разработке игр, чем Unity.
  6. То, что большинство разработчиков не этом блоге использует Flash, не делает меня неправым, а мою статью оскорбительной (Ребят, бросьте, на devgame всё больше Unity и UE4 проектов и всё меньше Flash проектов. Мы ведь все разработчики здесь, и каждый из нас уверен, что его платформа лучше. Но в то же время всем ведь хочется обсуждать и узнавать новое о других платформах и о проектах на этих платформах. Раньше тут было много обучающих материалов по Flash и минимум материла по Unity и UE4, несмотря на изменение тенденции. 90% постов про проекты на Flash. В то же время 90% инди-игр за последний год написаны не на Flash. Пришло время затрагивать те темы, которые привлекут новых разработчиков, а не только порадуют старых. Мы ведь здесь ради игровой вспышки а не Flash’а)

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

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

Почему Flash не игровой движок, не слишком хорош для создания игр для ПК и телфонов и спорен для браузеров.

Давайте начнём c моего определения Flash и AS3.0
Flash – программа для создания картинок, анимации, мультипликационных фильмов и рисования, плэер которой поддерживают браузеры и который используют для создания баннеров, плэеров, игр.
За определением AS3 обратимся к Википедии:

Да, верно Flash можно использовать для создания игр, но делает ли это его игровым движком?
Нет!!!
И вот почему…
Давайте рассмотрим, где ещё можно делать игры.
Для начала возьмём Windows Forms на С# например

Они предназначены для кнопочных программ, которые, кстати говоря, поддерживают и роботу С++ напрямую, и тот же самый box2d без костылей.

Windows Forms поддерживают 3D, DirectedX, Box2D и технологии GPU, такие как Nvidia PhysX, CUDA и т.д. Много чего благодаря С#, тому самому, который в Unity. Но делает ли это всё Windows Forms игровым движком? Нет!
Попрошу не путать с XNA, который является игровым движком, и чуть позже мы разберём почему.

Можно их делать в Blender, который является программой для создания 3D графики, анимации и 3D мультфильмов и позиционирует себя как платформа, на которой можно делать игры. Однако, для того, чтобы поиграть в вашу игру, нужно чтобы человек сначала установил Blender. Так что я считаю его как минимум неполноценным игровым движком. Почему — смотрите ниже.
Более того, игры можно делать и в Excel или Word

Вот ссылка на статью
Туда же добавить библиотеки C++ и физический движок по средствам Windows Forms, которые они поддерживают. И сделать 3D игру в Excel. Если вы считаете, что это невозможно, то пожертвуйте нашей игре 25$, и я сделаю в течении недели, простенькую 3D демо-версию посредством Excel. В случае провала верну деньги и публично признаю нелепость данного заявления.
Удивительно, но правда. Игру можно написать где угодно, где есть скриптинг. Эти же платформы были выбраны намерено. В них можно сделать игру как в Flash или даже лучше. В Windows Forms и Blender однозначно. В Excel не до конца уверен.
На каждый язык программирования и платформу находится своя игра.
Но важно понимать то, что на платформе можно сделать игру с 2D графикой, не делает платформу игровым движком или подходящей для создания игор в 2016.
Рассмотрим требования к игровому движку:
  1. API для разработки игр (и это самое важное). API Flash Playerа это не API для разработки игр, а для написания простых скриптов для взаимодействия с анимацыэй и логики для анимации, как макросы в Excel. Игровое API должно быть предназначено в первую очередь для создания игр, а не просто давать возможность создать игру, а также избавлять от написания велосипедов таких как(2d Physix, 3d Physix, Event Sytem, UI System, Path Finders, Serialization System, и т.д), и делать взаимодействие между всеми игровыми механизмами бескостыльным, оптимальным и удобным. Словом, не так, как принято во Flash.

    То, что так делают все, нисколько не означает, что это правильно.
  2. Даёт игре возможность запускаться на нескольких платформах (браузер — не игровая платформа, напротив это платформа с очень жёсткими требованиями и лимитами). То, что adobe есть AIR, который якобы обеспечивает Flash кроссплатформенность, попросту ставит вместо браузерного flash Player на С++. Flash Player на (Java или Objective-C). вшивает его в вашу игру. Прога всё ещё работает на долбаном ограниченном Flash Player. Просто его устанавливать отдельно не нужно (и в нём есть поддержка самого минимального API платформы), хотя требования и лимиты такие же жёсткие, как и для браузерной версии. В то же время, как Unity на каждой платформе работает абсолютно по-разному. На windows у вас box2d, DirctedX и GPU. На дряхлом смартфоне — Coco2d, CPU и OpenGL.Хоть игра и выглядит также, но работает совсем по-другому. В этом и суть игровых API. Вы не знаете, что внутри. Вы пишете только игровую логику. А как оно реализуется на разных платформах — вам знать не обязательно (хоть и стоило бы).
  3. Поддержка игровых технологий, хотя бы видеокарты. Ведь сегодня нет компьютера без GPU. Если бы графика во Flash обрабатывалась через видеокарту, а игровая логика через процессор, хотя бы прорисовка посредством видеокарты улучшила бы уровень Flash проектов раза в 3. Но, увы, этого нет. Нет, я не оговорился, ведь видеокарта — это такой же процессор, как CPU, просто заточен под графику. И ему плевать, вычисляет ли он число pi или обрабатывает 3D графику. Он заточен под 3D графику, поэтому очень хорошо работает и с 2D. Что уж говорить про такие востребованные сегодня технологии, как:
    1. Leap Motion – Unity поддерживает (я даже создал пару мелких прототипов)
    2. Oculus Rift – Какой oculus rift во Flash? Unity же поддерживает и активно развивает
    3. И бессчётное множество технологий и библиотек, как VoIP, например, которые все остальные инди-движки поддерживают. Я и перечислять все устану. Те 3, которые я перечислил, это то, с чем я лично работаю.
  4. Editor которой упрощает разработку игры. Если остальные пункты хоть немного спорны, то здесь я воздержусь от комментариев и напишу по этому отдельный пост “Проблемы и недостатки Flash на фоне Unity и UE4”. Просто задумайтесь над двумя картинками.
    Всё, что выделено цветами, — инструменты для разработки игр. Всё, что выбрано квадратиками, — инструменты для рисования и анимации.

    Нет я не перепутал Flash и AS3.0 просто сам Editor должен упрощать саму разработку игры и давать инструменты для этого. Есть костыльные методы упрощения разработки, но опять-таки это можно сделать для любой платформы, а в игровом движке это должно быть внутри.
  5. Позиция самой компании. Это очень важный пункт, так как это определяет дальнейшее развитие компании, поддержку и помощь.
Adobe развивает студию для анимации но не развивает Флеш плеер почти никак.


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

Де есть куча внешних фреймворков которыэ можно использовать они все внешние что означает что они через кучу костылей работают между собой.
Что и подводит нас к основой проблеме Flash. Он не развивается уже вот как 11 лет в сторону игр нормально. Эта вопиющая невнимательность разработчиков и просто глупость с их стороны. Им же инди-разработчики вручили трон и посох. Браузерные игре все ваши, лишь развивайте хоть немного API для разработки и поддерживайте самих разработчиков игр. Они же безответственно всё забросили ещё лет 8 назад.
Что есть у Unity для разработчиков? Да всё, что угодно. Очень мощный API и разбор всех инструментов, туториалы на каждую тему (даже на такие, как маркетинг и PR игр). Организация встреч разработчиков, развитое сообщество игроделов. Поддержка всех игровых технологий (GPU, oculus Rift, Pathfinder…), почти всех платформ. Понятная документация, официальная поддержка Ads cloud build, Analytics. Огромный набор инструментов для разработки игры, рынок материалов для игр. Поддержка все возможных форматов для импорта… И так ещё на целый пост.
Unity заработал популярность не за хороший маркетинг, а за то, что даёт все необходимые инструменты разработчику и развивается активно, давая всё больше возможностей.
Итог:

В данной части я размышляю о рентабельности Flash в 2016 году, а не призываю его бросить.
Я считаю, что в 2016 Flash не является пригодным или рентабельным для разработки игр(За исключением некоторых порталок)!!! Да, в период с 2000 по 2010 он цеплял, был прост в изучении, популярен. И на нём инди-игру можно было сделать быстрее и лучше всего. Достойных и доступных альтернатив не существовало. Но в 2016 всё, чем он завлекал, более не актуально. Как в эксперименте с обезьянами
мы просто остаёмся на нём, так как это наша зона комфорта

мы просто остаёмся на нём, так как это наша зона комфорта. Речь не про то, что вы можете создать хороший проект во Flash и заработать на этом деньги. Речь о самом инструменте. Ловушка в том, что сам инструмент не стал хуже — даже наоборот стал чуточку лучше. Только мир вокруг поменялся.
Для примера. Вы просто сидите за печатной машинкой и пишете хороший роман, а вокруг все с ноутбуками. И дело не в том, что у вас печатная машинка плохая. А то, что для 2016 она не рентабельна и не пригодна. До 2005 это было спорно. А в 2000 и подавно компьютеры были лишней тратой сил и денег и подходили только очень крупным компаниям. Но в 2016 всё по-другому.
Использование компьютера ускорит вашу роботу над романом раз в 5(не надо перепечатывать все страницы из-за опечатки или чтобы поместить что-то в середину) и улучшит качество романа раза в 2(наличие интернета, возможность сохранения работы в процессе, а затем редактирования) Да, тех, кто всю жизнь печатал на машинке, компьютер пугает. (Я купил комп, а он требует какой-то ОС. Я спросил в магазине, она стоит 100$, а я ж уже и так заплатил. Заплатил за ОС, а где теперь искать Word. У кого спросить — непонятно. И что это за куча непонятных кнопок? Мне ведь только буквы нужны! И с чем мне есть браузер, или это мат?)
Почему стоит рискнуть и начать
!!! Далее следует самореклама. Оскорбление всего живого!!!
ДА, вам придётся потратить время на Unity и преодолеть свой страх, но через полгода вы будете недоумевать: «Как я жил без этого раньше. Это же так удобно». Как и человек после работы на печатной машинке. Проекты в разы ускорятся, и качество проектов тоже будет расти вместе с пониманием Unity и С#.
Также у меня есть предложение для тех, кто говорит себе: «Мне не нужно учиться программировать или делать игры. Мне нужно адаптироваться к Unity после Flash. Я не новичок. Все же уроки либо для тех, кто ничего не знает. Либо уже слишком сложно и мне, как человеку с многолетним опытом разработки на Flash, хочется задавать вопросы и получать ответы, чтобы разобраться, что мне надо, а что не надо. Мне нужно всего-навсего адаптироваться к Unity, а не тратить дни-недели на поиск причин, почему это не работает или как сделать это правильно, а не через костыли». Короче говоря, у нашей студии есть для вас взаимовыгодное предложение.
Ваш много летный опыт и удачные проекты — это бесценно. По аналогии с печатной машиной. Вы пишите качественные романы, а мы умеем пользоваться компьютером и учимся писать романы. Однако, то, что мы пользуемся ноутбуком, не делает наши романы лучше ваших. Мы бы хотели с вами обменяться. Вы помогаете нам, делитесь опытом, подсказываете, как лучше сделать игру, как лучше организовать роботу, указываете по возможности на то, что мы делаем не так или что вам в игре не нравится. Взамен же мы поможем вам разобраться с Unity. Будем помогать чем сможем, подсказывать, почему это не работает, как сделать правильно или что вам изучить как уже грамотному разработчику игр. Хоть материала по Unity и много, но иногда возникают банальные вопросы, на который хочется получить прямой ответ. Иногда нужна дополнительная поддержка, чтобы не забросить, в виде человека, который не даст вам замудрённый ответ и, уж точно, не заявит, что это и так очевидно, а подойдёт к вопросу с пониманием.
Таким образом мы получаем ситуацию «выиграл-выиграл». Вы не становитесь учеником, который учит всё с нуля, когда уже и так много сделано, а вы становитесь учителем, чей опыт и проекты ценят. Если кому-то интересно, пишите на e-mail , а не в комментарии, и прямо сейчас, пока есть желание. Будем очень рады =)

Перед тем как написать комментарий помните о:
  1. О том, что было написано в самом начале статьи
Всё негодование можете выплеснуть на нашей игре, тем самым уменьшив количество срача. Нам интересна ваша критика!

Всех с наступившим 2016 годом! Успеха с любыми проектами и гринлайта всем!!!

Просьба вести конструктивное культурное обсуждение. Также обсудить статью можно у нас у нас на блоге.

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

+3
Если бы графика во Flash обрабатывалась через видеокарту,
«Stage3D предоставляет высокопроизводительную поверхность визуализации для содержимого, визуализируемого с использованием класса Context3D. Эта поверхность по возможности использует графический процессор (GPU).» help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/flash/display/Stage3D.html
0
Ну да но это всё не без костылей. То есть векторную графику приходится конвертировать в текстуру для куба. Ну у и учитывая что это всё приходится вручную синхронизировать. Я ж не говорю что этого нельзя сделать. Просто это внешний фреймворк который костыльно взаимодействует с основным и через основной с остальными внешними фреймворками. А это всьо должно уже быть внутри для удобства роботы и оптимальности. То есть я имею в статье виду не что проблема не в том что чревато нельзя сделать. А том что платформа развита больше внешними фреймворкам нежели сама по себе.
+1
То есть векторную графику приходится конвертировать в текстуру для куба.
зачем чтото конвертировать если отрисовка через битмап?
0
А том что платформа развита больше внешними фреймворкам нежели сама по себе.
Ну да, по сути так же как и все другие популярные платформы.
0
Flash IDE это не игровой движок а прежде всего программа для рисования и анимации с возможностью запуска и отладки as3 проекта. Под Flash как игровую платформу существует множество классных полнофункциональных движков со всеми pathinder и прочими полезными штуками. Конечно такого единообразия как в юнити где продвинутый визуальный редактор объединен с набором игровых классов нет. Были вроде какие то попытки у away3d, ну или например конструктор Stencyl вполне себе законченная хоть и не совсем оптимальная штука.

И сделать 3D игру в Excel.
Я думаю если бы эта платформа хорошо монетизировалась то многие бы так и делали. Лично для меня как для инди вопрос монетизации стоит достаточно остро;)

Почему стоит рискнуть и начать
Подайте пример и расскажите отличную сакесс стори с цифрами)
+9
Мне кажется, автор слишком юн для подобных откровений :D.
0
Мы не переходим на «личности». Комментарии вроде “Ты не уверен в себе, поэтому и считаешь, что Unity лучше” недопустимы.
+2
Просто чтобы делать такие глобальные выводы надо иметь представление о геймдеве или хотя бы о технологиях, о которых ты тут рассуждаешь.
Можно разобрать текст по цитатам и доколупаться до каждой (этим займется Кролик, как проснется), а можно просто написать, что все написанное бред далекого от геймдева человека ;).
0
Некоторые доводы и факты в нем нелепы. Отношение автора предвзято. В виду своего содержания не рекомендуется к прочтению никому. Весит же предуприждение.
+5
Да, да вижу «весит». Нет времени глумиться над статьей, хотя очень хочется, Ведьмак ждет. Ну, может завтра.

Удачи с игрой!
0
Мы игру доделаем и сатью перепишем. Уж больно она резкая в некоторых моментах. Перегнули явно
0
Ведьмак и правда ждёт
0
И да мне 20 годиков. Но программирую я с 12.
0
Теперь по поводу игры, слишком темная визуальная составляющая, цвета плохие, формы объектов не сильно цепляющие глаз. Саундрек слабый по качеству (звучит так как будто гитара записана в линию в один канал без даблов и комбоэмуляции с импульсами на канале, плюс драмсэмплер валит с одинаковой динамикой вообще без какой либо динамической обработки) вообще мне кажется сюда подойдет чтото более позитивное без перегруженной гитары. Геймплэй ну уж очень очень заезжен, думаю нужны фишки какие-то яркие.
0
на счет форм те же формы я думаю будут выглядеть намного лучше с другими цветами\текстурами
0
Ура искрене спасибо. Правда! Всё таки первый блин.
0
Да незачто, желаю удачи в разработке, но постарайтесь лучше сосредоточиться на самой игре а не на преимуществах конкретной платформы, везде можно найти свои плюсы и минусы и можно на самой крутой платформе шлак непродаваемый делать)
0
2. Здесь обсуждаются движки как инструмент для разработки игр. Мы не обсуждаем наши проекты/заработки, сколько накоплено опыта/достижений, как и то, у какого движка лучше маркетинг (Совершенно очевидно, что дурак Вася с отличной командой и чудесными инструментами снесёт пол города, в то время, как гений толик с молотком построит шикарный пентхаус. Это не доказывает, что инструменты и команда у Васи плохие. Не умеет он строить, только и всего.
0
Это не обсуждение а пожелание
0
Извини я имел ввиду сам пример. В пункте а не то что это нарушение.
0
Ничего не понимаю. Среда разработки флеш — она какбы для вектора. Для вектора же создан плеер, и для этого плеера — AS. Когда рынок и технологии шагнули вперед, к нему стало возможным подключать сторонние библиотеки как и к любому движку. Я не считаю Флеш IDE движком. Можно вообще без него игры на флеше писать. Это обычный графический редактор, в целом.
0
Ну просто в современных условиях. Для разработки игор нужен editor для удобства. Как поддержка GPU для современного FPS. И отсутствие Level Editor очень ростраиваэт. Этот пункт конечно же не самый важный. Но эго полное отсутствие огорчает.
0
насчёт редактора уровней — он там есть. Вопрос в его полноцености — другой. Но опять же — изначально флеш это не игровой движок.
0
Я подправил статью немного. А то было много не точностей и бреда.
+2
Первую треть (и в конце) статьи автор зачем-то просит, чтобы его не троллили. Это работает не так, ну правда :). Этот кусок нужно просто удалить. Во второй и третьей части нужны факты, а не неуместные аналогии. Даже не знаю, что можно оставить.

Ну типа фраза «флеш нерентабельный» — это просто заявление. Где обоснование почему он нерентабельный? И что в этом месте значит флеш? А фотошоп рентабельный? А вижуалстудия?
И вообще путаница в понятиях. Почему-то флешом называется Flash IDE, хотя это целое семейство технологий.

или вот:
«в период с 2000 по 2010 он цеплял, был прост в изучении, популярен»
в 2000м флеш не был хорошей платформой для игр, а золотые годы пришлись на 2009-2011. Т.е. просто совсем грубая фактическая ошибка.
+2
Меньше не стало
0
После таких статей я все больше люблю Game Maker Studio.
+5
А можно ссылки на ваши игры на флеше? У вас написано, что имеете многолетний опыт разработки на флеше. Просто интересно посомтреть, без сарказма
0
Что такое Coco2d? )
+2
www.youtube.com/watch?v=6vYnas6q3Sg
+1
www.youtube.com/watch?v=cOrc37wNUqU
+3
Спасибо парни — всё расставили по полочкам )
+1
www.cocos2d-x.org/ — ну я имел виду это.
+3
Почему Flash не игровой движок

А никто вроде и не говорил что это игровой движок. Флеш и AS3 — это своего рода язык программирования, и он никогда не задумывался как ИГРОВОЙ движок. Точно также как С++, С#, Delphi — не являются игровыми движками.

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

Зачем я не пойму сравнивать табуретку с кроватью?
+3
Раззудись плечо! Размахнись рука! Да закидай гавном эту игру вместе со статьёй.

Игра никакая. Ну правда, вообще никакая. Всё никакое. А статью можно уменьшить до предложения: «Парни, начните холивар на тему флэша и юнити. Ну пожалуйста!»
0
«Парни, начните холивар на тему флэша и юнити. Ну пожалуйста!»

Флеш есть в хроме, а юнити уже нет и похоже не будет. Шах и мат Юнити :3
0
ну не, ты так быстро не сольёшь топик:D Давай холиварить! )))
+5
Давно не встречал подобного накала идиотии.
Автор, жги ещё!
0
Ну что автор опозорился? Или нет?
0
Предыдущие два года были точно такие же «годы перемен» )
0
Что я только что прочитал?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.