2008-10-08 9 views
5

esta es mi primera publicación aquí. Tengo 22 años de España y he terminado la universidad donde estudié I.T. Un grupo de amigos y yo queremos desarrollar un juego que consistirá en un mundo en 3D en el que las formas 3D simples interactúan entre sí donde la física "real" está involucrada. No tengo experiencia en la programación de videojuegos, y estoy dispuesto a aprender, así que quiero preguntar:Desarrollo de proyectos de juego

Qué lenguaje de programación y/o bibliotecas usarías para un juego que consiste en formas 3D interactuando entre sí y "real" como la física?

Gracias de antemano.

p.s .: Sé que esta pregunta tiene múltiples respuestas, pero quiero tener una idea de cuáles son las tecnologías más utilizadas en la actualidad.

Respuesta

0

He desarrollado un par de juegos de plataforma en Java para Windows usando el libro "Developing Games in Java" de David Brackeen. Sí cubre cosas en 3D, pero aún no he llegado tan lejos.

0

Sugiero buscar en el marco XNA de Microsoft. Esto cubrirá los aspectos del "juego" de la misma. En cuanto a la física, sugiero mirar el motor Bullet, aunque hay muchos para elegir.

+0

Sí, C# y XNA es un buen combo. Buena productividad, fácil de aprender. XNA no incluye física (aún (y no sé si habrá)). Busque una biblioteca de física separada para .NET para incluir física también. – Statement

8

Tome un vistazo a Bullet:

bala juego 3D Multiphysics Biblioteca proporciona el estado de la detección de colisiones arte, cuerpo suave y dinámica de cuerpos rígidos.

  • Utilizado por muchas compañías de juegos en títulos AAA en Playstation 3, Xbox 360, Nintendo Wii y PC
  • diseño
  • extensible modular C++ con intercambio en caliente de la mayoría de los componentes
  • optimizado back-ends con multi-roscado soporte para Playstation 3 Cell SPU y otras plataformas
  • detección de colisiones discretas y continuas (CCD)
  • colisión barrido consulta
  • Ray fundición con el filtrado de colisión de encargo
  • Soporte genérico convexo (usando GJK), cápsula, cilindro, cono, esfera, caja y mallas triangulares no convexas.
  • dinámica del cuerpo rígido que incluye solucionadores de restricciones, limitaciones genéricas, muñecas de trapo, bisagra, una rótula y
  • apoyo a los límites de restricción y motores
  • soporte de cuerpo blando, incluyendo tela, cuerda y deformable
  • bala está integrado en Blender 3D y proporciona un Plugin Maya
  • compatible con la importación y exportación en COLLADA 1,4 formato Physics
  • Apoyo para la deformación dinámica del triángulo no convexo engrana, por la reposición de las estructuras de aceleración

La Biblioteca es gratuita para uso comercial y de código abierto bajo la Licencia ZLib.

+0

Muy buena respuesta. –

2

Recomendaría que empiece por usar Flash. Es un buen entorno para crear juegos simples, pero tiene buenos motores 3D y físicos disponibles (por ejemplo, Papervision3D y Fisix) para cuando desee obtener más fantasía.

5

Usted debe mirar en la biblioteca SDL (http://www.libsdl.org), ya que soporta múltiples plataformas y tiene fijaciones para una variedad de lenguajes de programación. También es compatible con OpenGL.

¡Buena suerte!

+0

Eso sería útil. –

3

XNA Game Studio escrito con C#. Es más fácil (subjetivo) aprender que C++ y DirectX/OpenGL. http://creators.xna.com/

Hay otro hilo aquí. Se unirá cuando lo encuentre.

0

SDL es el punto de partida de facto para los juegos, así en algunas plataformas de todos modos. Te pondrá en funcionamiento rápidamente (y funciona en Linux).

Una vez allí puede buscar sourceforge para algunos: por ejemplo, PLIB, Ogre, CrystalSpace. Todos están bien, aunque no sé cómo han progresado en los últimos años.

0

Si quieres ejecutar 3D puramente en tiempo real con buena física, sugeriría C++ con, por ejemplo, OpenGL.

Lo sugeriría para que busque en http://nehe.gamedev.net/ los tutoriales sobre OpenGL. También puede encontrar un ejemplo de un sistema de detección de colisiones en http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=30

Si realmente no hace cosas buenas en tiempo real, es probable que pueda navegar por el C++ y entrar en un lenguaje de codificación "más simple".

0

Hay a lot of engines disponibles para usted. Debes comenzar a investigar cuál se ajustará al diseño de tu juego.

La mayoría de los juegos comerciales están escritos en C++ con un salpicado de otros idiomas para enlazarlos por completo. Otros idiomas ofrecen diferentes características, como la portabilidad de Java, el derecho a los teléfonos móviles.

1

Solo para su información, existe un proyecto con licencia BSD de OpenSource muy interesante llamado OpenSim que consiste en recrear la infraestructura del lado del servidor SecondLife tanto en C# como en Mono.

Parece corresponder con lo que su amigo y usted quieren hacer. Aunque todavía está en etapa Alpha, es bastante estable y definitivamente vale la pena intentarlo.

+0

Estoy jugando con OpenSim en este momento para una asignación de AI. Vale la pena señalar que puede tener problemas con scripts recursivos o scripts que se ejecutan durante mucho tiempo. Hay configuraciones ini para evitar estos problemas, pero además definitivamente no sería mi elección si estuviera buscando velocidad o estabilidad (en este caso, está prescrito para una tarea, así que no hay otra opción). Si elige OpenSim, asegúrese de ejecutar algunas pruebas sencillas para asegurarse de que el entorno maneje las operaciones que necesita (p.es mucho más fácil depurar un desbordamiento de pila cuando lo causa a propósito). –

0

Si no tiene absolutamente ninguna experiencia en programación y le gustaría obtener resultados visuales realmente rápidos, entonces debe consultar idiomas como DarkBasic o Blitz3D.

Dicho esto, esos idiomas tienen límites bastante fuertes y si está considerando aprender a programar también, probablemente querrá dirigirse hacia las diferentes API creadas por el usuario de Java o C# como JOpenGl, Jogre, XNA, SDL.Net o Irrlicht.Net. Le permitirán aprender los principios básicos de la programación de objetos mientras crea su juego.

Éstos son enlaces diferentes:

DarkBasic Home

Blitz3d

Java:

JopenGL

JOGRE

C#:

XNA

SDL.net

Irrlicht.net

0

Algo simple y potente (al menos según mi gusto :)) es Apocalyx.

fuente completamente abierta, un montón de demostración, muchos tutoriales, puede trabajar directamente con muchos formatos comunes (por ejemplo, MD2, Cal3D o BSP) para que pueda utilizar herramientas avanzadas para crear su mundo.

Escrito en C++, con script en Lua (tiene un editor dedicado para scripting).

0

En C++ he usado SDL y GLFW; en Python he usado PyGame y Pyglet.

Por lo que respecta a los idiomas, si usa C++, definitivamente recomendaría usar algo como Squirrel, Lua o Python para escribir scripts, aunque escribir todo el juego en algo como Python también sería bueno (y debería funcionar empiece a convertirse en un problema más adelante, puede escribir solo los módulos que están causando problemas en C++, después del perfilado, por supuesto).

0

Si está familiarizado con Delphi, pruebe GlScene.

Cuestiones relacionadas