2009-10-19 1101 views
5

He estado trabajando en un juego de simulación de Java por algún tiempo (rehaciendo el hospital de temas a mi manera). Hasta ahora, he hecho todo en 2d, usando cuadrados y círculos, etc. He buscado algunos tutoriales sobre cómo hacer 3d en Java, encontrar coque y código, sin embargo, no estoy seguro si esto es lo que necesito usar. Mi idea era tener 3d simple, como en 3d plano. o 3d real, que sería mucho más trabajo y más difícil. Realmente quería escuchar las opiniones generales de las personas sobre cómo ir en 3D. Aquí hay un video de mi progreso desde hace unos meses (http://screenjel.ly/bdO7Rj8DVl8). Los 2d gráficos son bastante impresionantes. Quiero progresar un poco más, sin embargo, no sé si debería continuar desarrollando en 2d, si quiero ir eventualmente a 3d.¿Debería usar 3D para mi juego? Si es así, ¿qué tan lejos y cualesquier buenos tutoriales?

Además, no sé cuán difícil sería 3d. Idealmente, quiero 3d completamente rotativo. Sé que es bastante ambicioso, pero me gustaría conformarme con personas y elementos en bloque en lugar de círculos y cuadrados. Alguien sabe de algún buen 3d en los tutoriales de Java, que incluye la rotación?

¿Alguna otra opinión o comentario al respecto?

Gracias

+1

+1 para el hospital temático: D – sfussenegger

+0

Gracias. ¡De hecho fue un juego increíble! :) – Relequestual

Respuesta

4

Use Isometric Projection!

No creo que sea necesario "real 3D" para recrear el aspecto del Hospital de temas. Solo necesita una imagen para cada orientación (si desea que el usuario elija entre 4 direcciones de visualización como en el original) y cada objeto. Simplemente doble sus líneas de trama vertical 45 grados y haga que sus objetos se vean en 3D (y para dibujarse sobre las celdas vecinas) para crear una apariencia tridimensional sin agregar una complejidad adicional como OpenGL a su código.

Espero haber aclarado mi punto. De lo contrario, pregunte :)

Bien, entonces no me hice claro, como esperaba :) Tampoco soy un experto, lo siento. Lo que llamé "doblar" arriba se llama "cortante" (al menos en Gimp). La idea básica es crear un aspecto en 3D sin hacer realidad 3D, del mismo modo que dibujaría un cubo 3D en papel. Tal vez una (la verdad es bastante feo) puede ayudar ejemplo:

looks 3D but isn't http://i37.tinypic.com/6jlkqr.png

No es 3D - no hay coordenadas en un espacio tridimensional es necesario - sólo mapas de bits para crear un aspecto uniforme.

+1

Lo siento, sé muy poco acerca de los gráficos ... ¿Qué quiere decir con "simplemente doblar las líneas verticales de trama en 45 grados"? No estoy seguro de si quiero adoptar el aspecto de Theme Hospital por completo, ya que ya hay 2 proyectos que usan los gráficos originales. Quiero tener algo gráficamente único sobre el juego. – Relequestual

+1

Acabo de agregar un ejemplo – sfussenegger

+1

Eso se llama visualización isométrica. – Blindy

9

Yendo 3D elevará los costos de creación de contenido de 7x. (Lo siento, no puedo hacer referencia al estudio, pero NCsoft Korea lo analizó e informó un aumento de 7 veces). Esto se debe a que la creación de activos viables, eficientes y atractivos requiere una multitud de conjuntos de habilidades. Así que tenlo en mente. Mucha gente piensa que mudarse a 3D mágicamente hará que su juego "luzca mejor". Esto es una falacia Solo se verá mejor si los activos son lo suficientemente buenos como para crear un nivel de inmersión mejor que el que tenía antes.

Mantenerse en 2D le brinda muchas libertades. Realmente puedes crear un estilo artístico, concentrarte en el juego, etc. Una vez que ingresas en 3D, pasarás la mayor parte de tu tiempo optimizando al cliente en lugar de hacer un juego mejor.

Por lo tanto, en última instancia, la decisión es suya, no podemos hacerlo por usted.

Si decide ir en 3D, debe decidir cuál es su objetivo. Si solo se trata de crear el juego, es posible que desee analizar un motor para reducir el desarrollo. Si desea aprender sobre la mecánica subyacente de los gráficos 3D, vaya directamente a OpenGL usando JOGL o LWJGL.

Algunos motores a mirar en:

  • jMonkeyEngine (soy parcial aquí).
  • ardor3d
  • jPCT

buena suerte.

+0

Gracias por pesar ambos lados hacia arriba. No soy muy artista, por lo tanto, en 2D o 3D, probablemente no haga ninguno de los gráficos. Sé muy poco acerca de realmente usar cualquier motor para juegos. Este es mi primer juego, así que espero aprender :) jME parece un poco demasiado grande para un proyecto de este tamaño. Planeo mantener los gráficos 3D en un plano z (creo), como en un solo piso a la vez, para que los elementos solo tengan una xey, y z siempre sea 0. Miró el jPCT, interesante. .. – Relequestual

1

Si va a hacer 3D, es casi seguro que es mejor utilizar algo como OpenGL (por ejemplo, a través de JOGL). En este caso, básicamente describe sus objetos en el espacio tridimensional (por ejemplo, posiciones y colores de las paredes, posiciones y colores de las luces, etc.) A continuación, especifica una ubicación de "cámara" actual. La rotación se maneja (normalmente) simplemente especificando una orientación diferente para la cámara.

Aprender la API de OpenGL no es trivial, pero lo más probable es que le preocupen las cosas incorrectas, por ejemplo, la rotación 3D completa es bastante trivial. La creación de iluminación realista (especialmente si desea incluir sombras) es un gran trabajo de .

+0

Hum, Ok, yeh Puedo ver tu punto. Si lo hiciera, creo que desafiantemente iría a OpenGL. La iluminación sería un problema secundario para mí, aunque sería bueno tenerlo. – Relequestual

2

Theme Hospital - buenos recuerdos :)

Si se trata de un proyecto de aprendizaje, sin duda Comience 2D. Obtendrá mucho más, y un juego de trabajo mucho antes. Agregar 3D en esta etapa solo agregará complicaciones.

¡Además, Theme Hospital se vería raro en 3D!

+0

jeje oh sí, buenos recuerdos de hecho! ¡Sí, es mi primer proyecto de cualquier tamaño decente, así que me estoy inclinando y ya he aprendido mucho! Solo quiero tener la opción de ir a 3d en una fecha posterior si quiero. Probablemente sea más difícil de lo que creo que sería – Relequestual

+0

Diría que haga esto todo en 2D, luego cuando quiera ir a 3D busque algo mucho más simple para empezar. Quizás entonces puedas volver a visitar Java Hospital ... – Skilldrick

+0

Sí, estoy de acuerdo, creo. Quiero decir que 3D suena como una buena idea, pero para introducirlo en mi primer proyecto este complejo ... Ah, bueno. Gracias por su entrada :) – Relequestual

Cuestiones relacionadas