Почему (почти) все онлайн-игры записаны в ActionScript (Flash) не Java?

Я абсолютно люблю хорошие игры защитника (например, Gemcraft, Средство защиты: возвращение трона), поскольку они могут быть интеллектуально довольно сложными; это похоже на шахматы проигрывания, но немного меньше взглядов и немного больше действия. К сожалению, нет то, что много хороших там и я думал, что создам тот сам и совместно использую его с остальной частью мира путем предоставления доступа к нему доступным онлайн.

Я никогда не работал с ActionScript, но когда дело доходит до онлайн-игр, это - основной выбор. Я попытался найти достойную 2D игру в форме апплета Java, но напрасно. Почему это так? Я мог записать игру, наиболее удобно, в Delphi для Win32, но затем люди должны будут загрузить исполняемый файл, который мог удержать некоторую форму, загружающую его, и также это будет только работать над Windows. Я также знаком с Java, работая с Java в течение прошлых четырех лет или так; хотя, у меня нет большого опыта с игровым программированием.

Если я не удержан тем, что все онлайн-игры записаны для в Flash и создают мою игру защитника как апплет Java, или если я рассматриваю изучение ActionScript, и игровая разработка для Виртуальной машины ActionScript (AS3 очень походит на Java..., но тем не менее, это - совершенно новая технология мне, и я никогда не мог бы использовать его профессионально.)

Могли Вы, просто отвечаете на вопрос в заголовке? Почему Flash, не апплеты Java? Это - только 'политика'?

6
задан Peter Perháč 16 March 2010 в 15:58
поделиться

8 ответов

Flash более популярен, поскольку уровень его проникновения огромен.

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

И последнее, но не менее важное: существует множество сайтов, которые предлагают API ActionScript для того, чтобы зарабатывать деньги на ваших играх, добавляя в них различную рекламу (например, MochiMedia, Kongregate...)

.
12
ответ дан 8 December 2019 в 04:08
поделиться

Flash предоставляет полностью построенный графический и звуковой движок, который обрабатывает отдельные объекты («спрайты») на контурах и анимации.

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

JavaFX может это изменить.

6
ответ дан 8 December 2019 в 04:08
поделиться

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

К тому же, кажется, сейчас это уже прецедент, когда онлайновые игры пишутся на flash, так что, думаю, люди не хотят отклоняться от "нормы"

.
0
ответ дан 8 December 2019 в 04:08
поделиться

Future Flash CS5 может создавать приложения для iPhone напрямую, поэтому вы будете создавать игры для двух платформ одновременно.

0
ответ дан 8 December 2019 в 04:08
поделиться

Я могу дать небольшое представление о Java: в начале истории Java Sun пыталась продвигать Java-апплеты как новый способ отображения динамического контента в браузере . Эта попытка была обречена на провал из-за сочетания следующих факторов:

  • Java имела (и все еще имеет) длительное время загрузки для среды выполнения (JRE); ​​
  • Java изначально имела только AWT в качестве инструментария GUI и AWT ограничен и действительно уродлив;
  • Java раньше была намного медленнее до появления более быстрых процессоров и JIT-компиляции;
  • Java (многие думают намеренно) поддерживалась Microsoft в IE без особого энтузиазма, так что это было не так. t хорошо интегрировался и работал плохо.

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

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

4
ответ дан 8 December 2019 в 04:08
поделиться

Простой ответ: флеш-плеер установлен почти на всех ПК, а JRE - нет.

2
ответ дан 8 December 2019 в 04:08
поделиться

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

Что еще более важно с точки зрения автора, Flash - гораздо более распространенный плагин для браузера. У Java просто нет проникновения на рабочий стол. Апплеты исторически презирались за их нестабильность и низкую производительность (особенно медленный запуск); несмотря на то, что ситуация несколько улучшилась, Sun продолжает подрывать то, что осталось от пользователей, с помощью своего отвратительного средства обновления пакетов. Это смелая компания, которая в наши дни разрабатывает что-нибудь для настольной Java.

Следует ли мне рассмотреть возможность изучения ActionScript и разработки игр для виртуальной машины ActionScript

Определенно стоит изучить JavaScript / ActionScript.(Это почти один и тот же язык, использующий стандартное общее ядро.) Затем вы можете применить свои знания о сценариях Flash для написания сценариев в браузере. Вы даже можете рассмотреть возможность реализации игр на самом JavaScript / HTML!

AS3 очень похож на Java ...

В той мере, в какой это C-подобный язык, да. Однако концепции и практика очень разные; у вас возникнут трудности, если вы попытаетесь написать JS / AS как Java.

1
ответ дан 8 December 2019 в 04:08
поделиться

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

Зачем писать что-то для гораздо меньшей аудитории? Я не говорю, что это неправильно, но обычно это причина, по которой вы делаете игры для получения прибыли.

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

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

Однако, если у вас отличная игра, меня можно убедить установить:)

1
ответ дан 8 December 2019 в 04:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: