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
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