requisitos - OpenGL para simuladores espaciales
los mejores simuladores espaciales (6)
Descubrí que OpenGL es más fácil de empezar ya que la curva de aprendizaje no es tan pronunciada. Puede obtener resultados rápidos que ayudan mucho con la frustración / motivación inicial. Toneladas de ayuda, etc. Palabras de advertencia: la programación 3D es intrínsecamente compleja y gastará más energía en la creación de tecnología gráfica que el juego en sí. Considera adoptar Ogre3D si realmente quieres ver el juego terminado: o) (descargo de responsabilidad: sé que también hay otros motores pero Ogre es estable, probado y viene con buena documentación)
con unos pocos amigos comenzamos este proyecto amateur basado en plataforma independiente de java para un juego de simulador de combate espacial (algo así como la saga largamente muerta del comandante de ala). Ninguno de nosotros es un programador 3D, por lo que el camino será largo.
Mi pregunta es: en nuestro lugar, ¿comenzarías a aprender OpenGL (quizás a través de GLUT) o hay una mejor posibilidad hoy? ¿Qué hay de Direct3D? ¿Algún libro que sugieras? Pedimos una pareja, específicamente
- Guía de programación OpenGL de Dave Shriner
- Programación del juego OpenGL inicial de Luke Benstead
Gracias :-)
Bueno, si nunca antes has hecho la programación de gráficos en 3D, ve por la simplicidad y aprende sobre la marcha. Solía haber un conjunto de tutoriales realmente agradables de NeHe (Neon Helium) para OpenGL, que fue la ruta que tomé.
Considere usar un motor 3d de fuente abierta como Ogre3D o Irrlicht . De esta forma puedes concentrarte en hacer un juego: contenido, juego.
Ambos motores definen una capa de abstracción que puede asignarse a los backends de Direct3D o OpenGL.
EDITAR: al principio no noté que mencionó Java, de todos modos ambos motores admiten enlaces de Java.
Puede elegir un motor 3D de código abierto como Ogre3D .
Pero si realmente quiere escribir el motor de gráficos por su cuenta (bastante interesante), comience por aprender álgebra lineal. No es algo muy avanzado, pero debería sentirse muy cómodo expresándose en vectores de traducción, matrices de rotación y similares.
Si ya está familiarizado con esos conceptos, elija Direct3D u OpenGL; esto depende más de la plataforma disponible. Si desea codificar en un entorno Mircosoft, elija Direct3D, todo lo demás, elija OpenGL.
La elección de bibliotecas adicionales depende del lenguaje de programación. Mejores alternativas que GLUT son probablemente SDL (C) o Qt (C ++).
Si decide aprender la programación de gráficos de bajo nivel en lugar de usar un motor 3D de nivel superior como Ogre3D o Irrlicht, recomiendo comenzar con OpenGL ES 2.X, que es un subconjunto de OpenGL.
OpenGL ES 2.X es un subconjunto simplificado de OpenGL para sistemas integrados con hardware programable como teléfonos. Por ejemplo, en OpenGL puede haber múltiples formas de realizar tareas, pero en Open GL ES 2.X, solo hay una forma. Debido a que hay menos opciones en OpenGL ES 2.X, hay mucho menos que aprender para dominar OpenGL ES 2.X. La Guía de programación de OpenGL ES 2.0 tiene 480 páginas y la Guía de programación de OpenGL, Séptima edición, tiene 936 páginas.
Además, el uso de OpenGL ES 2.X le dará una audiencia de hardware más amplia para su juego. Debido a que es un subconjunto de OpenGL, el código escrito para OpenGL ES 2.X funcionará en un sistema OpenGL completo con poca o ninguna modificación. Los gráficos de su juego pueden funcionar en una variedad de máquinas de destino, desde computadoras de escritorio hasta teléfonos inteligentes.
Si desea mantenerse independiente de la plataforma, DirectX no lo hará, ya que está restringido a las plataformas de Microsoft Windows.