Pregunta

Debido a la falta de capital y tiempo, tenemos que hacer nuestro juego en 2D, aunque yo (el desarrollador) preferiría hacerlo en 3D. Odiaría que los usuarios se unieran al juego, solo para pensar que los gráficos se ven mal y se van. Aunque supongo que tenemos que intentarlo lo mejor que podamos.

Dicho esto, me gustaría desarrollar el juego de tal manera que, si llegara el momento, podamos portar a 3D lo más fácilmente posible. Sé de juegos que tuvieron que reescribir todo desde cero. No me gustaría hacer eso, por lo que me gustaría recibir algunos consejos o pautas para programar el juego, de modo que, cuando pasemos a 3D, sea tan sencillo como cambiar el código de 1 a 5 clases de representación de gráficos (o cerrar) y se ejecutarán los gráficos 3D.

P.S Es un juego de rol multijugador ( No un MMORPG, por ahora mucho más pequeño)

¿Fue útil?

Solución

  

Por falta de capital y tiempo estamos   Teniendo que hacer nuestro juego en 2D incluso   aunque yo (el desarrollador) preferiría   Si se hizo en 3D. Odiaría por   Los usuarios se unen al juego, solo para pensar.   Los gráficos se ven mal y se van.   Aunque supongo que solo hay que intentarlo.   y haz nuestro mejor esfuerzo.

No creo que todo tenga que ser 3D para verse bien. Bien hecho 2D puede verse muchas veces mejor que algunos gráficos 3D estándar. Para tener excelentes gráficos en 3D tienes que invertir un esfuerzo serio. Si su presupuesto no lo permite, preferiría esforzarme mucho en el desarrollo del juego.

Piensa en Diablo II (un tanto anticuado) que no es 3D pero que aún tiene algunos gráficos bonitos y atractivos.

Ciertamente, es posible construir una arquitectura que podría facilitar el cambio de la representación gráfica, pero creo que casi nunca será tan simple como lo describiste. Por supuesto, si solo quieres 3D por 3D, se podría hacer (en lugar de mapas de bits, ahora renderizas modelos en 3D), pero esto es algo inútil. Si desea usar 3D, el jugador debería poder usarlo (por ejemplo, al mover la cámara, tener más grados de libertad, ...) pero esto debería considerarse en el diseño del juego y, por lo tanto, seriamente. afecta el juego.

Otros consejos

La forma más sencilla de lograr esto es escribir el juego en 3D y renderizar las vistas usando una proyección de 3D a 2D, por ejemplo. En planta o alzado. Si la mecánica interna de los juegos es 2D e intenta moverse a un marco 3D real, probablemente sería mejor reescribirlo. También depende en gran medida de lo que quiere decir con 3D y de si tiene una opción de mapeo efectiva. Por ejemplo, Microsofts Age of Empires se representa en 3D, pero funcionaría perfectamente bien como un plan 2D. Un tirador en primera persona como Half Life o Quake, por otro lado, no lo haría.

Puede utilizar la vista orto GL. Esto le permitirá dibujar en la pantalla usando solo coordenadas 2D, si desea 3D más adelante, cambie de la vista Orto a la Perspectiva y tendrá 3D, sin embargo, no creo que le ayude a reutilizar el código, ya que la vista Orto 2D Generalmente se realiza con texturas y no se puede transformar una textura en una malla 3D.

Tal vez un mejor enfoque sea hacer todo en 3D y configurar su cámara para que mire desde arriba. Si lo hace más adelante, puede cambiar a 3D con solo reubicar la cámara y crear mejores modelos y texturas. Estas opciones suenan mejor, pero le da más trabajo con la compensación 2D a la portabilidad 3D sin cambios de código.

Un patrón de MVC debería ayudar.

Y supongo que ya lo sabes, pero has visto Java3D ? Tal vez tener una vista de representación 3D reemplazable por enchufe basada en eso (pero que no esté necesariamente pulida y lista para producción) lo mantendrá honesto para que no termine atado a 2D de una manera horrible. Podría ser tan simple como representar tus cosas en 2D con un poco de posicionamiento Z agregado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top