2010-11-29 19 views
13

Así que queremos programar un juego 3d para la escuela, probablemente podamos utilizar Blender para los modelos 3D, sin embargo, no tenemos ni idea de cómo usarlos en un juego/aplicación.Juego 3D con Python, comenzando desde la nada

¿Hay alguna guía/documento recomendado que deberíamos leer en la programación general de juegos en 3D y tal vez cosas específicas de Python.

Posiblemente también estamos considerando programarlo en C++, pero por ahora creo que es más fácil usar Python ya que podemos centrarnos totalmente en la mecánica 3D de esa manera.

+0

no todos familiarizados con Python, pero si va a analizar esto con C++, creo que OGRE 3D es bastante común. – silent

Respuesta

12

Hay Pygame: Un marco de juego para el lenguaje Python. Si necesita conocer los conceptos básicos para el desarrollo de juegos (motor, flujo, interfaz de usuario, matemáticas), este marco con todos sus ejemplos le ayudará mucho. Esto no te llevará de la mano y te guiará paso a paso a través del desarrollo del juego, pero si necesitas una referencia y un marco decente, entonces este es un buen comienzo.

También hay PyOpenGL: El contenedor oficial de Python para la programación de OpenGL.Nuevamente con muchos ejemplos de programación en el campo y montones de fragmentos de código sobre cómo usar modelos 3D y "me gusta". Se puede usar junto con PyGame.

Pero debe comenzar familiarizándose con algunos conceptos básicos 3D. Mire alrededor en el sitio GameDev.net. Aprenda una cosa o dos about matrices (and perhaps quaternions). Hay muchos beginners tutorials y referencias disponibles para que pueda comenzar.

editar: Casi lo olvido: también hay Panda3D con amplias posibilidades de scripting para Python. Tal vez eso ofrezca un mayor nivel de desarrollo del juego.

+0

Prefiero usar OpenGL sobre un motor de juego preconstruido , ya que quiero aprender tanto como sea posible con este proyecto y construir todo, me parece que es la manera de hacerlo. También veré los tutoriales, gracias. –

16

Panda3D es un potente y potente motor de juegos que permite crear scripts en Python. Este parece un buen lugar para comenzar.

Si busca algo más de bajo nivel, todavía hay PyOpenGL o pygame.

+2

He sido muy feliz jugando con Panda3D y lo apruebo para su uso con Python. Para 3D, no consideraría pygame. –

5

En realidad, puedes desarrollar juegos en Blender a través de Python. Hay bastantes tutoriales, te dejaré buscar el estilo que más te guste.

Más información here

2

Si desea escribir un juego en 3D es posible que desee comenzar por comprender los fundamentos de la programación y la informática. Comenzando por la parte superior y aprendiendo un idioma, entonces encuentra una buena biblioteca de gráficos, por ejemplo Panda, Pygame son todas buenas opciones, luego hay otras partes a considerar como la creación de redes con retorcido, por ejemplo, o un motor de física. También podría ser una buena opción considerar el uso de un motor funcional como el motor irreal ya que a menudo los diseñadores de juegos están demasiado metidos en la mecánica del juego y no en el juego

0

Implementaría las cosas críticas como el 3D y su objeto manejo + representación en C/C++ sin formato y permite que un Python integrado con módulos externos maneje la lógica del juego (movimiento de objetos, propiedades de objetos, secuencias de comandos, etc.).

+3

¿Te gustaría este enfoque como principiante? :) Suena un poco demasiado ambicioso para OP. –

+0

Estaba pensando en usar Python para entender los conceptos y el funcionamiento de la programación de juegos en 3D, una vez que me acostumbro a eso debería ser bastante trivial trasladarlo a C++ (algo que ya estaba planeando hacer) –

+0

@ sgolo: al principio iba a hacerlo en C++ de todos modos – Robert

1

Debe tener en cuenta que el 3D juego consiste en

  • modelos 3D animados
  • entorno 3D (incluyendo los NPCs y objetos)
  • simulación de la interacción entre el medio ambiente y los modelos (la lógica del juego y el juego mecánica)
  • interfaz de usuario (arranque, el ahorro y la configuración del juego)

El registro de juego El ic y la mecánica suelen ser la parte más grande y complicada, y deberías tratar de enfrentarte primero.

El modelado de objetos 3D y el entorno debería ser mucho más fácil después de eso.

2

Una alternativa a PyGame, que yo personalmente prefiero, es la piruleta. http://pyglet.org

0

Es fácil de descifrar simples juegos en 3D. La posición de cualquier objeto en la pantalla siempre se puede calcular como simplemente como:

position = (x/z*fov,x/z*fov) 

donde x y z son ambos ejes horizontal y fov es el campo del jugador de vista, en [/ grados/pixeles radianes/.. .].

Cuando gira alrededor, la palabra no gira usted. Significa que siempre estás mirando contra z positivo. Quaternions es la mejor manera de rotar el mundo que te rodea.

Ps. utilice vertexarrays o matrices para obtener los gráficos 3D más rápidos posibles

+0

Si está comenzando en la industria de los videojuegos, ciertamente no sabrá qué es un campo de visión. ¿Puedes usar nombres de variables precisos, por favor? – MadJlzz