Desarrollando Juegos con Python

Desarrollando Juegos con Python Manuel Alejandro Cerón Estrada Colombia Dinámica de la charla 2 ● Qué es Python ●

Views 151 Downloads 6 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Desarrollando Juegos con Python

Manuel Alejandro Cerón Estrada Colombia

Dinámica de la charla

2



Qué es Python



Python y los juegos



Herramientas en Python



PyGame



Panda3D



Otros...

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

¿Qué es Python?

3

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

Python

4



Lenguaje de Programación de Alto Nivel



Interpretado y Dinámico



Multiparadigma,



Multiplataforma



Interoperable



Fácil de Usar y Aprender



De Código Abierto © Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

¿Python para hacer Juegos? ¡Una locura! Python es Leeeeeento

5

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

Python en la Industria de los Videojuegos



Como Lenguaje de Scripting –



Como Lenguaje Principal –



ToonTown, Pirates of the Caribbean

En muchos juegos independientes –

6

EVE ONLINE

No todos los juegos tienen que costar un chirrión de dólares

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Herramientas para hacer juegos con Python

7

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

Aquí deberían ser las : 6:40

PyGame

8

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

PyGame

9



SDL



Gráficos 2D + conexión OpenGL



Musica y Efectos de Sonido



Entrada (Teclado y Otros)



Otros

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Algunos Juegos

10

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

11

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

12

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

13

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

14

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

Pequeña demostración de PyGame

15

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

Todavía no me convence. ¿En verdad se pueden hacer juegos más rápido? !!PyWeek!!

16

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

PyWeek

17



Hacer un juego en una semana con Python.



Próximo 30 de Marzo.



Se aprende mucho y se divierte todavía más!!



No hay que ser experto.

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Si no se ha acabado el tiempo es un Milagro

Panda3D

18

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

Historia de Panda 3D





19

Disney VR Studio quería renovar sus sistemas DWD Se requería un systema más portable

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Historia de Panda3D







20

El Proyecto ToonTown Se necesita otro motor Como DWD pero mas modular y flexible

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Nace Panda3D



21

Platform Agnostic Networked Display Architecture Panda3D

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Historia de Panda3D









22

En 2002 Panda3D se vuelve Software Libre Todavía necesitaba muchos retoques Jeff Schell de Disney VR Studio entra a CMU ETC El ETC estaba buscando algo abierto y flexible

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Tres sectores confluyen

Panda3D Comunidad

Academia

Industria

23

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

La Tecnología detrás de Panda3D

24

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

Lenguaje de Programación

C++ Python 25

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Lenguaje de Programación







26

Núcleo en C++. Rápido y eficiente Recubrimiento en Python. Facilidad de Uso y flexibilidad Escribir un programa con Panda3D usualmente consiste en escribir un programa en python que maneje la librería 3D

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Extensibilidad



Extensibilidad a través de Módulos de C++



Extensibilidad a través de Módules de Python



27

El sistema Interrogate ayuda mantener acoplados los bindings

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Independencia del API Escena Gráfica

Abstracción de API

OpenGL 28

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Direct3D

Características de Panda3D



29

Carga de Modelos 3D eggs

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



30

Carga de Entornos 3D eggs

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



Efectos Especiales –

31

Cartoon Render

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



Efectos Especiales –

32

Niebla

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



Efectos Especiales –

33

Efectos de Luz

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



Efectos Especiales –

34

MotionTrails

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



35

Detección de Colisiones

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



36

Manejo de Objetos 3D

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



37

Manejo de la Iluminación

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



38

Normal Mapping

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



39

Sistemas de Partículas

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



40

Selección en el Espacio 3D

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



41

Geometría Procedural

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



42

Renderizar a Textura

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Características de Panda3D



43

Efectos de Sonido y Música

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Caso de Estudio

44

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Preguntas

45

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008

Enlaces de Interés





46

Web de Panda 3D: http://www.panda3d.org Web del ETC de CMU http://www.etc.cmu.edu/

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

¡Muchas gracias! Del mismo creador e esta charla llega: Desarrollo de Aplicaciones GNOME con MonoDevelop MonoUML y MonoHotDraw 47

© Manuel Alejandro Cerón Estrada. Creative Commons Attribution License 2.0.

Involucrate + GNOME 2008