2010-04-25 13 views
6

Tengo una gran idea para un juego de red 3D, y he llegado a la conclusión de que es posible escribirlo en Java como un applet que vivirá bajo el navegador web, al igual que un software completo en C++. Y se verá y sentirá igual.¿Qué tecnología debo usar para escribir mi juego?

La principal ventaja de Java en C++ es que con Java puede jugar sin descargar ningún software. Ya he pensado en la descarga de gráficos, sonido, etc. pero encontré una solución para ello. RuneScape simplemente demuestra que es posible.

Así que mi primera pregunta es, ¿debería mi juego vivir en un navegador web o en el sistema operativo? Creo que en un navegador web es mucho más portátil, aunque es necesario instalar Java y esas cosas. Pero el hecho es que la mayoría de los juegos MMO actualmente son y no en la web. Si sugiere en un software, por favor sugiera un lenguaje: ¿C++ o algo más productivo como Python o C#?

Entonces, después de elegir un idioma, necesito una solución de gráficos. ¿Debo escribir directamente con OpenGL/DirectX o utilizar un motor de juego? ¿Qué motor de juego debería usar? Ogre? jMonkeyEngine?

¿Cuál es su opinión?

¡Gracias!

P.S: No utilice respuestas como "Use lo que sabe".

Respuesta

7

A pesar de su último punto, use todo lo que pueda y lo que proporcionará la mayor base de usuarios posible.

Los applets son antiguos y ya no se usan tan extensamente como solían hacerlo. Flash o Silverlight son el "estándar" para los juegos web ahora. Puede valer la pena comprobar JavaFX basado su interés en el uso de Java, se supone que es un reemplazo de lo que deberían haber sido los applets. Realmente no he usado JavaFX, ni sé mucho al respecto, tómelo como lo desee. El mayor beneficio de implementar en la web es, como dijiste, la base de usuarios es más grande y es más probable que la gente juegue a jugar. La desventaja es que terminas usando los gustos de Flash o su equivalente para el proceso de desarrollo.

Si va por la ruta de construir una aplicación independiente, puede usar lo que desee. C++, Java, C#, Python, etc. son todas opciones viables. Puedes hacer juegos en la mayoría de los idiomas. C++ es el estándar de la industria, pero ignore este hecho. Puedes hacer juegos increíbles de apariencia y rendimiento en cualquier idioma si eres un desarrollador aficionado. Lo que trato de decir es que a menos que estés construyendo el próximo gran éxito, se puede evitar el uso de C++. A diferencia de las aplicaciones web, sus usuarios necesitarán un marco/API que usted use. Por ejemplo, necesitarán OpenGL/DirectX/XNA, etc. En cuanto a XNA vs DirectX vs OpenGL? No importa, su elección de idioma probablemente dictará su elección de gráficos API/Framework. Así que voy a dejar este punto para usted para la investigación.

¿Debería usar un motor? Depende.

  • ¿Estás haciendo un juego lo suficientemente complejo como para garantizar un motor?
  • ¿Desea solo centrarse en el juego, en lugar del motor?
  • ¿Se siente cómodo aprendiendo un motor existente?
  • ¿Te sientes cómodo produciendo los componentes necesarios (colisión, etc.) por tu cuenta?

Otros factores entran en esto, pero puede valer la pena centrarse solo en el juego en cuestión. Puede escribir fácilmente un motor lo suficientemente simple para lo que necesita. Al hacer esto, evitará problemas de licencia e implementación.

+3

Si utiliza Flash, su juego no funcionará el próximo año cuando Flash esté muerto :) –

+0

@Longpoke tanto como desearía que fuera verdad, no lo es;) – Finglas

+0

mayhap. http://www.craftymind.com/factory/html5video/CanvasVideo.html –

0

Un juego que solo se ejecuta como un applet no se percibirá como un real juego para la mayoría de los jugadores hardcore.

Si quieres un juego que solo se reproduzca mediante noobs, java podría ser una opción; de lo contrario, suéltalo y adhiéralo a un lenguaje que permita producir ejecutables.

Hablando de la biblioteca, no hay tantos que no puedas probarlos todos y elijas el que más te guste, así que ... hazlo.

+0

El problema subyacente es que ningún "juego real" como el que pones ha sido hecho en forma de applet, y no debido a la falta de tecnología. Los "jugadores Hardcore" jugarán cualquier cosa hardcore, y no se ha creado ningún juego como un applet. – Ricket

+0

-1 El único juego que realmente juego es ut99, y ** tengo ** a todos en él. Está escrito en C/C++/asm y sigue siendo lento a veces. Podría escribir fácilmente algo con la misma calidad de gráficos en Java y ejecutar 40 instancias de este. Bibliotecas ... LWJGL, JOGL, .... –

+0

@Longpoke: ¿y qué? ¿Dónde hablé sobre velocidad? ¿Incluso leíste? –

7

Una opción a considerar es el motor de juego 3D Unity, además de ser una herramienta de desarrollo bastante poderosa, tiene varios cross-platform deployment options. Puede compilar tanto un ejecutable independiente (para Windows y Mac, aún no Linux), y una versión de navegador web, que responde a su primera pregunta sobre la implementación en la web en comparación con el sistema operativo. Puedes hacer ambas cosas

También utiliza tanto Javascript como C# (y Boo, una variante de Python) para scripting languages. Estos se basan en Mono, la versión de código abierto de .NET, por lo que no es solo una plataforma de juegos, sino que tiene acceso a todas las capacidades de .NET (bueno, las implementadas en Mono de todos modos).

Consulte la página Licensing para obtener una lista larga de las funciones de Unity (la versión básica es gratuita). Y mira la lista de Unity-based games, de la cual la primera es Tiger Woods PGA Tour Online, de Electronic Arts.

+0

Cross Platform C#? ¿Cómo es eso posible? Utiliza Mono? –

+0

Correcto, usa Mono: http://unity3d.com/unity/features/scripting –

Cuestiones relacionadas