2010-03-16 11 views
6

Me encantan buenos juegos defensivos (por ejemplo, Gemcraft, Protector: recuperar el trono) ya que pueden ser intelectualmente bastante desafiantes; es como jugar al ajedrez, pero un poco menos de pensamiento y un poco más de acción. Lamentablemente, no hay muchos buenos por ahí y pensé que crearía uno yo mismo y lo compartiría con el resto del mundo al hacerlo disponible en línea.¿Por qué (casi) todos los juegos en línea escritos en ActionScript (Flash) no son Java?

Nunca he trabajado con ActionScript, pero cuando se trata de juegos en línea, esta es la elección principal. Intenté encontrar un juego 2D decente en forma de applet de Java, pero fue en vano. ¿Por qué esto es tan? Podría escribir el juego, cómodamente, en Delphi para Win32, pero luego la gente tendría que descargar el ejecutable, lo que podría disuadir a alguien de descargarlo, y también solo funcionaría en Windows. También estoy familiarizado con Java, habiendo trabajado con Java durante los últimos cuatro años más o menos; aunque, no tengo mucha experiencia con la programación de juegos.

No debería ser disuadido por el hecho de que todos los juegos en línea están escritos en Flash y crear mi juego defensor como un applet de Java, o debería considerar aprender ActionScript y desarrollo de juegos para la Máquina Virtual ActionScript (AS3 parece mucho como Java ... pero aún así, es una tecnología completamente nueva para mí y yo nunca podría utilizarlo profesionalmente.)

¿podría, por favor, sólo responder a la pregunta del en el título? ¿Por qué Flash, no applets de Java? ¿Es solo 'política'?

Respuesta

12

Flash es más popular desde its penetration rate is huge.

Flash también es más potente a la hora de crear e integrar elementos gráficos (ya que Flash CS * también es un editor de animación vectorial). También es muy fácil insertar recursos de sonidos y fuentes, para jugar con efectos de mapa de bits, sin utilizar ninguna biblioteca adicional.

Y por último pero no menos importante, hay una gran cantidad de sitios que ofrece API de ActionScript con el fin de ganar dinero con sus juegos mediante la adición de varios anuncios en ella (como MochiMedia, Kongregate ...)

+1

algunas tasas de penetración. Guau. –

+0

Aunque, Silverlight está ganando terreno rápidamente: http://www.riastats.com/ –

+0

Al tratar de usar juegos de Java en una Mac, a menudo he encontrado que es necesario hacer un poco de trabajo para convencer a los juegos de Java para que funcionen, especialmente Java 1.6. Esto rara vez es el caso con Flash. – Brian

0

Muchos desarrolladores de flash son diseñadores que han pasado a la creación de juegos. Usaron flash como herramienta de diseño antes de una herramienta de programación.

Además de que parece que hay algo de un precedente ahora para juegos en línea para ser escritos en Flash así que supongo que la gente no quiere apartarse de "la norma"

1

Flash tiene una mucho más amplia base instalada, que puede ser el único motivo Yo personalmente no instalo Java en mis máquinas ... flash, por supuesto.

¿Por qué escribir algo para un público mucho más pequeño? No estoy diciendo que sea incorrecto, pero esa suele ser la razón cuando haces juegos para obtener ganancias.

Piense en este equivalente con las consolas, con la segunda generación de Playstation había complementos de hardware disponibles ... pero eran inútiles a menos que los juegos los usaran. Usted tenía 3 opciones como desarrollador de juegos, empaquételo con su producto, aumentando el precio, suponiendo que lo tiene, menor audiencia, o suponga que no lo tiene, máximo público, máximo beneficio. El resultado es que el hardware en realidad nunca se vendió mucho porque como desarrollador de juegos debías asumir que no lo tenían.

Para mí, eso equivale a Java vs Flash, si tengo que instalarlo, el precio para acceder a él aumenta ... suponiendo que tienen lo más común y está seguro, el costo mínimo de entrada , audiencia máxima.

Sin embargo, si usted tiene un gran juego, que podría ser convencido para instalar :)

6

Flash proporciona un totalmente incorporados gráficos y motor de sonido que se encargará de objetos separados ("sprites") en caminos y animación.

En Java, estas características deberían ser proporcionadas por una biblioteca de terceros. Sin embargo, Java proporciona las piedras de construcción necesarias para construir un motor de este tipo.

JavaFX puede cambiar esto, sin embargo.

2

Respuesta simple: el reproductor flash está instalado en casi todas las PC, pero JRE no lo está.

+0

Su respuesta es casi buena. Casi te suscribo. – Ricket

4

puedo proporcionar una pequeña idea en el lado de Java: Al principio de la historia de Java, Sun intentó impulsar los applets de Java como la nueva forma de mostrar contenido dinámico en un navegador. Este intento estuvo condenado al fracaso por la combinación de los siguientes factores:

  • Java tenía (y aún tiene) un tiempo de carga prolongado para el tiempo de ejecución (JRE);
  • Java originalmente solo tenía AWT como kit de herramientas GUI, y AWT es limitado y realmente feo;
  • Java solía ser mucho más lento antes de la llegada de las CPU más rápidas y la compilación de JIT;
  • Java era (muchos piensan de manera intencional) soportado muy poco entusiastamente por Microsoft en IE, por lo que no estaba bien integrado y funcionaba mal.

Todo esto le dio a Java (merecidamente) una reputación horrible, desde la cual el escritorio y el navegador Java aún no se han recuperado. Para la mayoría de la gente, Java es sinónimo de aplicaciones feas, lentas y que a menudo no funcionan. Todavía sufre de este estigma hoy.

Mientras que Java y Flash son entornos de programación completos de Turing, Java es más universal, con un conjunto más grande de bibliotecas para todo tipo de propósitos diferentes. Sun se esforzó por que el entorno Java fuera universal entre las plataformas, por lo que Java en el navegador incluye muchas bibliotecas que generalmente no se necesitan. De nuevo, más tiempo de carga.

+0

Si observa Flash antes de que Java introdujera Swing, no fue muy impresionante. Por supuesto, pre-Swing "Java" sobrevivió gracias a MSJVM. –

1

Por lo general, Flash tiene un mejor rendimiento en cuanto a las características de dibujo, animación y video que requieren los juegos, ya que para eso fue diseñado originalmente. Además, la naturaleza estricta OO del lenguaje Java no se presta bien al tipo de entorno de desarrollo rápido ad-hoc que es común para los juegos.

Lo que es más importante desde el punto de vista de un autor, Flash es, con mucho, el plugin de navegador desplegado más comúnmente. Java simplemente no tiene la penetración en el escritorio. Los applets fueron históricamente despreciados por su inestabilidad y bajo rendimiento (en particular, el inicio lento); aunque eso ha mejorado un poco, Sun sigue socavando la aceptación de los usuarios que les queda con su molesto actualizador de paquetes. Es una empresa valiente que desarrolla mucho para el escritorio de Java en estos días.

debo considerar aprender ActionScript y el desarrollo de juegos para la máquina virtual ActionScript

Es, definitivamente, vale la pena aprender JavaScript/ActionScript. (Son casi del mismo idioma, comparten un núcleo común estandarizado).) Luego puede aplicar sus conocimientos de scripts Flash a las secuencias de comandos del navegador. ¡Incluso puede considerar la implementación de juegos en JavaScript/HTML en sí mismo!

AS3 se parece mucho a Java ...

En la medida en que es un lenguaje similar a C, sí. Sin embargo, los conceptos y la práctica son muy diferentes; tendrá dificultades si intenta escribir JS/AS como Java.

+0

¿estás seguro de que funciona mejor? Al menos la biblioteca Java + PulpCore funciona mucho mejor que Flash (en mi máquina, es decir ...), en comparación con http://bubblemark.com – Tedil

+2

En realidad, AS2 es bastante similar a JavaScript, pero AS3 es mucho más similar a Java (su sintaxis, pero también las nociones de paquetes, espacios de nombres, recolector de basura ...). AS2 y AS3 no implementan la misma versión estándar de ECMAScript, y son muy diferentes. Amo AS3 tanto como odio codificar en AS2 o JavaScript. –

+0

Flash tiene un rendimiento razonablemente bueno al hacer gráficos vectoriales, pero seguramente se equivoca si piensa que este es el tipo de características de dibujo, animación y video que requieren los juegos. ;) –

0

Future Flash CS5 podría crear aplicaciones de iPhone directamente, por lo que creará juegos para 2 plataformas al mismo tiempo.

Cuestiones relacionadas