[pyar] Python 3D Game

Juan Carlos Ojeda juancarlospaco en gmail.com
Mie Jun 6 17:50:03 ART 2012


On Wed, Jun 6, 2012 at 8:43 AM, Diego Sarmentero <diego.sarmentero en gmail.com
> wrote:

> 2012/6/5 Juan Carlos Ojeda <juancarlospaco en gmail.com>:
> > Cuando uno dice...  que hay que plantar un libro y leer un arbol
> > bueno, siempre decia algun dia creare un Juego...
> >
> > http://pynature.appspot.com  ---> Download
> >
> > Python + BGE
> > Long story short, cuando no le das Play es asi:
> >
> https://lh6.googleusercontent.com/-bvA0NniaAUY/T7_6nNb4BOI/AAAAAAAABZQ/MZBFksKV0e8/s1290/python-codez.jpg
> > Cuando le das Play es asi:
> >
> https://lh4.googleusercontent.com/-R-_s9VJCg50/T80RJ1RB-EI/AAAAAAAABbM/-UQWYCt8Bn8/s837/abandoned-mine3.jpg
> >
> https://lh6.googleusercontent.com/-cECK8-w-AnM/T5jz5gzf5cI/AAAAAAAABUE/yk8g1PsR5HE/s800/Screenshot+from+2012-04-26+03%3A31%3A11.jpg
> >
> > Le falta mucho, pero we... es un proyecto dominguero
> > --
> > .
> >
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> > Argentina - http://www.usla.org.ar
>
>
> Muy groso!!
> Felicitaciones! :D
>
> --
> Diego Sarmentero
>
> Blog: http://diegosarmentero.com
> Twitter: http://twitter.com/diegosarmentero
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>

Python lento, ...y yo creo que no,
el mayor cuello de botella es el procesamiento en tiempo real en 3D,
que le dicen Rasterizer, mucha gente descuida como hace las cosas,
las hace de manera muy ineficiente, pero en un engine que usa C no lo notas
que esta mal hecho, por explicar un poco... el juego tiene escrito un
LOD de 4 niveles en Python ( http://en.wikipedia.org/wiki/Level_of_detail )
sin eso, es imposible darle Play, se cuelga la PC.
Todos los juegos lo unico que saben dibujar es 1 cosa, un Triangulo
(unica manera de tener 3 vertices en un mismo plano), si usas poligono de
mas lados, el engine tiene que triangularlo antes de usarlo (partir el
poligono en triangulos) por tanto eso ralentiza.
Usa GLSL Shaders, es como un JavaScript pero pa OpenGL,
este tiene hechos de AA (anti dentado),
SSAO ( http://en.wikipedia.org/wiki/Screen_Space_Ambient_Occlusion ),
Bloom ( http://en.wikipedia.org/wiki/Bloom_(shader_effect) ),
DOF ( http://en.wikipedia.org/wiki/Depth_of_field ),
SSS ( http://en.wikipedia.org/wiki/Subsurface_scattering ).

Controles competos para Player/Camara:
W = Adelante ↑
S = Atras ↓
D = Derecha →
A = Izquierda ←
Q = Rotar hacia la Derecha ↻
E = Rotar hacia la Izquierda ↺
R = Invertir Sentido (Quick Flip) ↕
Scroll+ = Zoom+
Scroll- = Zoom-
Click Derecho = RayTracing Mouse Look, Drop Objects(Drag&Drop)
Click Izquierdo = Seleccionar, Atacar, Go To, Drag Objects(Drag&Drop),
Usar, etc
SHIFT + W = Correr Adelante ↑
Space = Saltar
F1 = Cheatsheet de teclas
F2-F11 = Efectos de Camara
F12 = in-game Screenshot (en Python, no del sistema)
ESC = Quit

Tiene 1 Enemigo de ejemplo con estupidez artificial de manera tal que si
Player se acerca lo sigue con la mirada, Player lo ataca contrataca, si
Player ataca y huye lo persigue, sino camina por ahi de acuerdo a lo que un
randint() le diga.
Tambien 1 Objeto Draggable de ejemplo (3D Drag&Drop).

Despues como cosas estaticas y primitivas en el mundo hay montañas
escalables, una mina abandonada, piramides egipcias, un bosque de arboles
Fractales hechos en Python, unos pastizales, un templo indio a la
intemperie, mesas, sillas, choza, arboles, palmeras, cactus, todo se puede
recorrer por dentro y por fuera, el mundo no tiene ninguna pared invisible.

Despues que termine lo estatico vendran mas NPC, objetos Draggables, hay
muchas cosas para "meter" dentro del engine todavia...

Leonardo Otero:
Panda3D no es un Engine en si, es un monton de librerias para ensamblar un
engine, igual que Ogre3D tampoco, es un engine de graficos en 3D, ejemplo
random por defecto no tienen ni sonido, ni simulacion de fisica, etc.

Alejandro:
Estoy comenzando un Game Launcher en HTML5/Qt que va permitir mas opciones
(como los demas juegos) y solucionar esas cosas, una onda asi:
https://lh5.googleusercontent.com/-0WawB9zcqig/TsmJOfAxvGI/AAAAAAAAA08/aH0s1SPPvlE/s640/nethelper2.jpg
https://lh3.googleusercontent.com/-iuYUxz0FQb4/TsmIwOTSoTI/AAAAAAAAA0s/FCunGAzO6mo/s640/nethelper3.jpg



PD: aguante Pilas-Engine!, pero este tenia que ser en 3D  :P
-- 
.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120606/b8328b2f/attachment.html>


More information about the pyar mailing list