desarrollando juegos con python

Upload: aprender-libre

Post on 07-Apr-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Desarrollando Juegos con Python

    1/47

    Desarrollando Juegos conPython

    Manuel Alejandro Cern Estrada

    Colombia

  • 8/6/2019 Desarrollando Juegos con Python

    2/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.2

    Dinmica de la charla

    Qu es Python

    Python y los juegos Herramientas en Python

    PyGame

    Panda3D Otros...

  • 8/6/2019 Desarrollando Juegos con Python

    3/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.3 Involucrate + GNOME 2008

    Qu es Python?

  • 8/6/2019 Desarrollando Juegos con Python

    4/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.4

    Python

    Lenguaje de Programacin de Alto Nivel

    Interpretado y Dinmico

    Multiparadigma,

    Multiplataforma

    Interoperable Fcil de Usar y Aprender

    De Cdigo Abierto

  • 8/6/2019 Desarrollando Juegos con Python

    5/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.5 Involucrate + GNOME 2008

    Python para hacerJuegos? Una locura!

    Python es Leeeeeento

  • 8/6/2019 Desarrollando Juegos con Python

    6/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.6

    Python en la Industria de los

    Videojuegos

    Como Lenguaje de Scripting EVE ONLINE

    Como Lenguaje Principal

    ToonTown, Pirates of the Caribbean

    En muchos juegos independientes

    No todos los juegos tienen que costar unchirrin de dlares

  • 8/6/2019 Desarrollando Juegos con Python

    7/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.7 Involucrate + GNOME 2008

    Herramientas para hacerjuegos con Python

  • 8/6/2019 Desarrollando Juegos con Python

    8/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.8 Involucrate + GNOME 2008

    PyGame

    Aqu deberan ser las :6:40

  • 8/6/2019 Desarrollando Juegos con Python

    9/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.9

    PyGame

    SDL Grficos 2D + conexin OpenGL

    Musica y Efectos de Sonido

    Entrada (Teclado y Otros)

    Otros

  • 8/6/2019 Desarrollando Juegos con Python

    10/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.10 Involucrate + GNOME 2008

    Algunos Juegos

  • 8/6/2019 Desarrollando Juegos con Python

    11/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.11 Involucrate + GNOME 2008

  • 8/6/2019 Desarrollando Juegos con Python

    12/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.12 Involucrate + GNOME 2008

  • 8/6/2019 Desarrollando Juegos con Python

    13/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.13 Involucrate + GNOME 2008

  • 8/6/2019 Desarrollando Juegos con Python

    14/47

  • 8/6/2019 Desarrollando Juegos con Python

    15/47

  • 8/6/2019 Desarrollando Juegos con Python

    16/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.16 Involucrate + GNOME 2008

    Todava no me convence.

    En verdad se puedenhacer juegos ms rpido?

    !!PyWeek!!

  • 8/6/2019 Desarrollando Juegos con Python

    17/47

    Manuel Alejandro Cer

    n Estrada. Creative Commons Attribution License 2.0.17

    PyWeek

    Hacer un juego en una semana con Python.

    Prximo 30 de Marzo.

    Se aprende mucho y se divierte todava ms!!

    No hay que ser experto.

  • 8/6/2019 Desarrollando Juegos con Python

    18/47

    Manuel Alejandro Cer

    n Estrada. Creative Commons Attribution License 2.0.18

    Involucrate + GNOME 2008

    Panda3D

    Si no se ha acabado el tiempoes un Milagro

  • 8/6/2019 Desarrollando Juegos con Python

    19/47

    Manuel Alejandro Cer

    n Estrada. Creative Commons Attribution License 2.0.

    19

    Historia de Panda 3D

    Disney VR Studio

    quera renovar sussistemas DWD

    Se requera unsystema ms

    portable

  • 8/6/2019 Desarrollando Juegos con Python

    20/47

    Manuel Alejandro Cer

    n Estrada. Creative Commons Attribution License 2.0.

    20

    Historia de Panda3D

    El ProyectoToonTown

    Se necesita otromotor

    Como DWD peromas modular yflexible

  • 8/6/2019 Desarrollando Juegos con Python

    21/47

    Manuel Alejandro Cer

    n Estrada. Creative Commons Attribution License 2.0.

    21

    Nace Panda3D

    Platform AgnosticNetworkedDisplayArchitecture -Panda3D

  • 8/6/2019 Desarrollando Juegos con Python

    22/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.22

    Historia de Panda3D

    En 2002 Panda3D se vuelve SoftwareLibre

    Todava necesitaba muchos retoques

    Jeff Schell de Disney VR Studio entra a

    CMU ETC El ETC estaba buscando algo abierto y

    flexible

  • 8/6/2019 Desarrollando Juegos con Python

    23/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.23

    Tres sectores confluyen

    Industria

    Comunidad Academia

    Panda3DPanda3D

  • 8/6/2019 Desarrollando Juegos con Python

    24/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.24 Involucrate + GNOME 2008

    La Tecnologa detrs de

    Panda3D

  • 8/6/2019 Desarrollando Juegos con Python

    25/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.25

    Lenguaje de Programacin

    C++++Pythonython

  • 8/6/2019 Desarrollando Juegos con Python

    26/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.26

    Lenguaje de Programacin

    Ncleo en C++. Rpido y eficiente

    Recubrimiento en Python. Facilidad de Uso yflexibilidad

    Escribir un programa con Panda3D

    usualmente consiste en escribir un programaen python que maneje la librera 3D

  • 8/6/2019 Desarrollando Juegos con Python

    27/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.27

    Extensibilidad

    Extensibilidad a travs de Mdulos de C++

    Extensibilidad a travs de Mdules de Python

    El sistema Interrogate ayuda manteneracoplados los bindings

  • 8/6/2019 Desarrollando Juegos con Python

    28/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.28

    Independencia del API

    OpenGL Direct3D

    Abstraccin de API

    Escena Grfica

  • 8/6/2019 Desarrollando Juegos con Python

    29/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.29

    Caractersticas de Panda3D

    Carga deModelos 3D -eggs

  • 8/6/2019 Desarrollando Juegos con Python

    30/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.30

    Caractersticas de Panda3D

    Carga deEntornos 3D -eggs

  • 8/6/2019 Desarrollando Juegos con Python

    31/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.31

    Caractersticas de Panda3D

    EfectosEspeciales

    CartoonRender

  • 8/6/2019 Desarrollando Juegos con Python

    32/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.32

    Caractersticas de Panda3D

    Efectos

    Especiales

    Niebla

  • 8/6/2019 Desarrollando Juegos con Python

    33/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.33

    Caractersticas de Panda3D

    Efectos

    Especiales

    Efectos deLuz

  • 8/6/2019 Desarrollando Juegos con Python

    34/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.34

    Caractersticas de Panda3D

    Efectos

    Especiales

    MotionTrails

  • 8/6/2019 Desarrollando Juegos con Python

    35/47

  • 8/6/2019 Desarrollando Juegos con Python

    36/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.36

    Caractersticas de Panda3D

    Manejo de

    Objetos 3D

  • 8/6/2019 Desarrollando Juegos con Python

    37/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.37

    Caractersticas de Panda3D

    Manejo de la

    Iluminacin

  • 8/6/2019 Desarrollando Juegos con Python

    38/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.38

    Caractersticas de Panda3D

    Normal

    Mapping

  • 8/6/2019 Desarrollando Juegos con Python

    39/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.39

    Caractersticas de Panda3D

    Sistemas de

    Partculas

  • 8/6/2019 Desarrollando Juegos con Python

    40/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.40

    Caractersticas de Panda3D

    Seleccin en el

    Espacio 3D

  • 8/6/2019 Desarrollando Juegos con Python

    41/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.41

    Caractersticas de Panda3D

    Geometra

    Procedural

  • 8/6/2019 Desarrollando Juegos con Python

    42/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.42

    Caractersticas de Panda3D

    Renderizar a

    Textura

  • 8/6/2019 Desarrollando Juegos con Python

    43/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.43

    Caractersticas de Panda3D

    Efectos de

    Sonido yMsica

  • 8/6/2019 Desarrollando Juegos con Python

    44/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.44

    Caso de Estudio

  • 8/6/2019 Desarrollando Juegos con Python

    45/47

  • 8/6/2019 Desarrollando Juegos con Python

    46/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.46

    Enlaces de Inters

    Web de Panda 3D:http://www.panda3d.org

    Web del ETC de CMUhttp://www.etc.cmu.edu/

    http://www.panda3d.org/http://www.etc.cmu.edu/http://www.etc.cmu.edu/http://www.panda3d.org/
  • 8/6/2019 Desarrollando Juegos con Python

    47/47

    Manuel Alejandro Cern Estrada. Creative Commons Attribution License 2.0.47 Involucrate + GNOME 2008

    Muchas gracias!

    Del mismo creador e esta charla llega:

    Desarrollo de Aplicaciones GNOME con MonoDevelop

    MonoUML y MonoHotDraw