Estoy buscando crear un juego en Java y me gustaría que funcione en Windows, Linux y Mac. Estoy bastante seguro de que C # es una mala elección para esto, y no tengo suficiente experiencia en C o C ++. Quiero alejarme de Flash. Por lo tanto, ¿Java es una buena opción para mí? Principalmente, uso C # y creo que Java es similar, así que supongo que no será tan difícil de aprender. ¿Pero es lo suficientemente rápido? ¿Existe un lenguaje más adecuado para mis necesidades que Java?
java
game-development
cross-platform
Panqueque Comunista
fuente
fuente
Respuestas:
Java es extremadamente adecuado para escribir juegos multiplataforma. Ventajas principales:
La decisión principal que tendrá que tomar es qué marco de GUI va a utilizar. Hay bastantes opciones diferentes, pero las más destacadas son:
Las principales desventajas de Java para los juegos están realmente en torno a los "casos extremos" que probablemente no te afectarán pero que son relevantes para algunas clases de juegos:
Tenga en cuenta que también hay algunas opciones de implementación a tener en cuenta:
Finalmente, también vale la pena considerar algunos de los otros lenguajes JVM: estos tienen todos los beneficios de la plataforma Java enumerada anteriormente, pero algunos los consideran mejores lenguajes que el propio Java. Scala, Clojure y Groovy serían los más destacados, y todos pueden hacer uso de las herramientas y bibliotecas de Java enumeradas anteriormente.
fuente
Minecraft y Blocks that Matter están construidos en Java, así que sí, es bastante bueno para hacer juegos. El principal problema con el que te encontrarás mientras usas Java es portar a plataformas móviles si eliges esa ruta y escribes una aplicación nativa. Android es una especie de Java SE frankensteined con una biblioteca separada. Blackberry de RIM usa Java ME. En teoría, iOS puede programarse con Java, aunque Objective-C probablemente sería una mejor opción para esa plataforma.
Java es bastante similar a C #. A menudo encuentro el código C # comprensible a pesar de solo conocer Java. Tienen una filosofía de diseño diferente, pero en cuanto a ser ampliamente desplegables con una molestia mínima, ambos encajan perfectamente. C # no es una opción terrible para los juegos de ninguna manera, aunque su implementación móvil será más difícil y la implementación en plataformas que no sean Windows llevará más tiempo o será más difícil dependiendo de las bibliotecas externas específicas, etc., que termine usando.
fuente
La forma más obvia y menos resistente es usar el combo HTML5 + javascript. Cualquier aplicación o juego creado con esto se ejecutará en casi todos los dispositivos y navegadores.
Ventaja : - Necesitarás una configuración cero para que tu juego se ejecute en varias plataformas y dispositivos.
NOTA: - He visto algunos juegos que se crean utilizando las tecnologías mencionadas anteriormente, pero eran más pequeños en estatura. Pero supongo que si uno puede hacer mantequilla con leche, entonces el queso no es imposible
fuente
Puede usar Scala y Scheme Bigloo en Eclipse para usar JVM para código estresado o acción paralela dentro de su juego Java.
Con Pattern Design y UML2, también puede asegurar el código con OCL, todo está en Topcased.org.
Dominar esas herramientas lleva tiempo, pero son el fondo de Java, la base que lo llevará a la cima.
fuente
Respuesta corta: no.
Java no genera un ejecutable binario, sino solo bytecode como lo hace C # (CLI), y esto no es algo bueno para negocios serios en "entornos abiertos" por dos razones principales:
Por supuesto, cada idioma tiene sus propias bibliotecas, pero debido a la gran cantidad de ellas para cada idioma, este no es un problema real y no creo que sea el propósito de este tema.
Tal vez a nivel profesional pueda encontrar algo que pueda romper la regla, como un kit de desarrollo que pueda traducir todas las declaraciones de C # en código de ensamblaje para una máquina del mundo real, pero si este tipo de enfoque no está en las tarjetas, está prácticamente obligado a hacerlo considere solo el C y el C ++ para su desarrollo cuando tenga como objetivo vender su producto en un entorno abierto.
Las cosas son un poco diferentes para los dispositivos móviles porque son un "entorno cerrado", incluso Android está prácticamente cerrado teniendo en cuenta el hecho de que la fuente de las ROM del mundo real no suele estar disponible para el público, Android puede considerarse de código abierto, pero el 99 % de las ROM en dispositivos reales no lo son. En estos casos, no puede discutir demasiado, todo ya está configurado para usted y cada plataforma tiene su propio idioma, como todos saben.
Al final, si va a vender estos productos en entornos abiertos, solo puedo sugerir idiomas que puedan producir código compilado y binario / ensamblado, en entornos cerrados, la decisión es típicamente más fácil de hacer por diferentes razones.
fuente