SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Downloaden Sie, um offline zu lesen
II Foro Cesine sobre Ocio Digital y Videojuegos



          Creación de
        videojuegos en
          entornos de
        Software Libre
                   Miriam Ruiz <miriam@debian.org>
                          
                             Santander, 23 de marzo de 2010
Índice

Introducción al Software Libre

Copyleft: All Rights Reversed

Desarrollo de Software

Ejemplos de Componentes Libres

Ejemplos de Aplicaciones Libres
Interrumpidme libremente


                     No me
                    como a
                   nadie por
                   preguntar
                
Introducción al Software Libre
¿Qué es Software?


       Según la IEEE, es la suma total de los
        programas, procedimientos, reglas,
    documentación y datos asociados que forman
      parte de las operaciones de un sistema.
     Incluye más los programas en sus distintas
     formas (código fuente y código ejecutable o
            binario) y su documentación.
        Software es todo lo intangible
                           
¿Qué son las Licencias?

     Conjunto de términos o condiciones bajo las
    que se permite utilizar, modificar, distribuir y/o
      comunicar públicamente el software, en una
    forma determinada, por parte de quienes poseen
          los derechos de autoría del mismo.
      Por defecto, sin una licencia explícita que
        autorice el uso, modificación, difusión o
      comunicación pública, no tenemos ningún
    derecho ni permiso para usar de ningún modo
                      la aplicación
                             
¿Qué es el Software Libre?
      Libertad 0: Usar el programa y los
      resultados de su ejecución con cualquier
      propósito
      Libertad 1: Estudiar el programa,
      aprender y poder aplicar el conocimiento
      obtenido
      Libertad 2: Copiar, distribuir y difundir
      el programa, en su totalidad o en parte
      Libertad 3: Modificar y mejorar el
      programa y publicar los cambios
      realizados      
¿Por qué hacer un juego Libre?
●   Porque es la mejor forma de difundirlo sin
    invertir muchísimo en publicidad
●   Porque hay un montón de elementos libres
    sobre los que nos podemos apoyar para crearlo
●   Porque podemos contar con el apoyo de mucha
    gente de la comunidad para desarrollarlo
●   Porque podemos extenderlo a muchos
    sistemas para los que no tendríamos
    capacidad si no
●
    Porque el juego sobrevivirá en el tiempo
                           
¿Qué software NO es Libre?

        El software no libre (software propietario,
    software privativo, software privado) se refiere a
      cualquier programa informático en el que se
      tienen limitadas las posibilidades de uso,
        modificación o redistribución (con o sin
      modificaciones), o que su código fuente no
    está disponible o el acceso a éste se encuentra
                       restringido.

                             
Dos conceptos diferentes



Libre          Libertad

Gratis           Dinero
¿Qué software NO es Libre?
    ●   Software privativo o propietario: Otorga el
        derecho de uso del programa binario a cambio
        de una cantidad de dinero y en determinadas
        condiciones.
    ●   Shareware: Permite probar el programa antes
        de comprarlo.
    ●   Freeware: Se puede usar de forma gratuíta en
        determinadas condiciones.
    ●   Código fuente disponible para su inspección
        pero no para su uso, modificación y distribución
 
         libres.                
Software Libre != Software Gratuito




                      
Tres aspectos del Software Libre




                Metodología
                de desarrollo


     Licencia                   Comunidad
Copyleft: All Rights Reversed
¿Qué es el Copyleft?
    ●   Eliminar las restricciones de distribución o
        modificación impuestas por el copyright
    ●   Condición de que el trabajo derivado se
        mantenga con el mismo régimen de
        derechos de autoría que el original
    ●   Permite proteger una gran diversidad de obras,
        tales como programas informáticos, arte,
        cultura y ciencia, es decir prácticamente casi
        cualquier tipo de producción creativa

                               
Distribución sin Copyleft


     Libre         Libre          Libre



    Autor/a


    Privativo     Privativo     Privativo
                       
Distribución con Copyleft


     Libre         Libre         Libre



    Autor/a        X             X
    Privativo     Privativo     Privativo
                       
Tipos de Copyleft




             
Licencias: La elección sencilla
●   Protección con copyleft fuerte: GPL v3
●   Protección con copyleft débil: LGPL v3
●   Sin copyleft, pero queremos que tenga
    protección contra patentes: Apache 2.0
●   Si queremos una licencia sencilla sin copyleft,
    contra patentes, DRM, etc: MIT o BSD-2




                            
Licencias: La elección menos sencilla
●   Para trabajos que no sean de software, considerar las
    licencias Creative Commons (CC-by ó CC-by-sa 3.0)
●   Si queremos protección con copyleft fuerte para
    aplicaciones en red, aún a costa de limitar su uso
    comercial: AGPL v3
●   Si queremos copyleft débil y que explícitamente sea
    incompatible con GPL: CPL, EPL, MPL 1.1, CDDL,...
●   Si tenemos dependencias que limiten nuestras
    opciones, hay que tenerlas en cuenta.
●   Algunas licencias son muy populares en sectores
    concretos
                                
Licencias Creative Commons
Cláusulas disponibles:
● Reconocimiento ("by", o Attribution)

● No Comercial ("nc", o Non commercial)

● Sin Obra Derivada ("nd" o No Derivate Works)

● Compartir Igual ("sa" o Share Alike)




6 licencias principales para escoger:
● by, by-nc

● by-nd, by-nc-nd

● by-sa, by-nc-sa




Realmente libres (DFSG):
● CC0 (dominio público)

● CC-by 3.0

● CC-by-sa 3.0

                                  
Proceso de desarrollo
Desarrollo de un juego Libre
    ●   Idea, concepto y diseño inicial
    ●   Elección de la arquitectura y las herramientas
    ●   Selección de la licencia
    ●   Recopilación de componentes
    ●   Desarrollo del código y elementos artísticos
    ●   Publicación del código fuente
    ●   Integración en los diferentes sistemas
    ●   Distribución de los binarios
    ●   Comunidad de desarrollo
 
    ●   Mantenimiento, bugs y  desarrollos posteriores
El Sistema Operativo
    ●   Elemento que actúa de intermediario entre el
        hardware y el software, y provee los sistemas
        y librarías básicas
    ●   Hay numerosos sistemas operativos, tanto para
        ordenadores como para videoconsolas,
        móviles, etc. Algunos son privativos y otros no
    ●   Existen diversas librerías, frameworks y
        entornos de ejecución que nos permiten
        abstraernos del sistema operativo sobre el
        que se va a ejecutar el programa
                               
El Sistema Base
    ●   Tecnologías de las que vamos a depender:
        C/C++, Posix, Java, Python, OpenGL, SDL,
        Flash, Perl, Crystal Space, Ogre, .Net, DirectX,
        VB, Delphi, XULRunner, ...
    ●   Entorno de desarrollo: modificación del
        programa, compiladores soportados,
        herramientas de transformación, edición de
        contenidos, ...
    ●   Componentes: compatibilidad de la licencia,
        portabilidad de las librerías, estabilidad,
 
        mantenimiento, ...        
La toolchain
    ●   Herramientas, binarios y librerías necesarias
        para realizar la compilación
    ●   Dependiendo de las herramientas de desarrollo
        elegidas se podrá usar en unos sistemas
        operativos u otros
    ●   Si existe una toolchain libre en la que se
        pueda compilar, se puede compilar
        potencialmente para cualquier sistema
    ●   Si se necesita una toolchain privativa, solo se
        podrá portar a algunos sistemas, y estará
 
        condicionada a la empresa que la fabrique
                                
La parte artística
    ●   No se puede coger cualquier cosa que
        encontremos por ahí: copyright, licencia,
        condiciones
    ●   Será tan libre, distribuíble, portable, etc. como
        lo sea la parte más restrictiva de las piezas
        que lo componen
    ●   Elementos habitualmente problemáticos:
        texturas, mapas, modelos, fotos, tipos de letra,
        sonidos, música, iconos, etc.

                                
El proceso productivo




               
El “bazar” vs. La “catedral”

    Modelo de                    Modelo de
    desarrollo                   desarrollo
       Tipo                        Tipo
    “catedral”                    “bazar”




                       
El “bazar” vs. La “catedral”
    ●   El esquema de desarrollo estilo “catedral”, en
        el que se establece una jerarquía de
        decisiones, se está viendo cada vez más
        desfasada por un modelo que aporta mejores
        resultados en muchos casos: el modelo
        “bazar”
    ●   Los nuevos medios tecnológicos están
        transformando la sociedad, de tal forma que
        cada vez van desapareciendo más los
        conceptos de producer y consumer, y va
        surgiendo uno nuevo: “prosumer”
                              
Cooperación competitiva

      El Software Libre configura un paradigma de
    desarrollo entre pares sin la necesidad de una
    autoridad coordinadora, que se aprovecha de los
    mecanismos de evolución natural para mejorar
      la calidad, y en el que la permanencia en las
    posiciones de control del producto están regidas
     por la meritocracia y la participación activa,
        eliminando automáticamente a quienes no
                          innovan

                            
Nacimiento de un proyecto Libre


                                 Modelo de
     Fase inicial    Fase de
                                 desarrollo
    tipo catedral   transición
                                 tipo bazar




                          
Crecimiento de un proyecto Libre




      Grupo                      Mecanismos
     pequeño                     formales de
     con una     Formalización   participación
    estructura                   y resolución
     informal                    de conflictos
                        
Ejemplos de Componentes Libres
Simple DirectMedia Layer (SDL)
●   Bibliotecas en C que proporcionan funciones
    básicas para realizar dibujado 2D, sonido y
    música y carga y gestión de imágenes
●   Wrappers a otros lenguajes de programación
    como C++, Ada, C#, Basic, Erlang, Lua, Java,
    Python, etc.
●   Multiplataforma, soportando oficialmente
    Windows, GNU/linux, MacOS y QNX, además
    de otras como Dreamcast, GP32, GP2X, ...
●   Licencia LGPL
                           
Capas de SDL




          
PyGame
●   Módulos del lenguaje Python que permiten la
    creación de videojuegos en 2D
●   Es esencialmente un interfaz de las bibliotecas
    SDL, orientado al manejo de sprites.
●   Permite prototipar y desarrollar rápidamente
●   También puede utilizarse para crear otros
    programas multimedia o interfaces gráficas de
    usuario.

                            
Open Graphics Library (OpenGL)
●   Es una especificación estándar que define una
    API multilenguaje y multiplataforma para escribir
    aplicaciones que produzcan gráficos 2D y 3D
●   Hay implementaciones eficientes de OpenGL
    para Mac OS, Microsoft Windows, GNU/Linux,
    varias plataformas Unix y PlayStation 3
●   Existen implementaciones software que
    permiten ejecutar aplicaciones OpenGL sin
    soporte de aceleración hardware
●   iPhone soporta la variante OpenGL ES
                            
Pipeline de OpenGL




             
OpenGL vs. DirectX
●   Tiene llamadas más rápidas que DirectX y
    acceso directo a nuevas características de las
    GPU mediante extensiones
●   Acceso a las nuevas características en todas
    las plataformas. DirectX solo las permite en las
    últimas versiones de Windows. La única forma
    de disponer de las últimas características en XP
    es con OpenGL
●   OpenGL es multiplataforma
●   OpenGL es un estándar abierto y sin coste
                            
Crystal Space
●   Framework para aplicaciones 3D escrito en C++
●   Puede ser usado para cualquier tipo de
    visualización 3D
●   Es muy portable y se ejecuta en Microsoft
    Windows, Linux, UNIX, y Mac OS X
●   Crystal Space es software de código abierto,
    licenciado bajo LGPL.
●   Existen bindings para Python y Java, entre
    otros.
                            
Crystal Space




           
Otros motores 3D Libres
●   Otros motores Libres 3D en tiempo real:
       –   OGRE
       –   Irrlicht Engine
       –   Soya 3D
       –   Horde3D
       –   Panda3D
       –   Axiom
       –   Delta3D
       –   G3D Engine
       –   JmonkeyEngine
       –   Lightfeather
       –   NeL
       –   OpenSceneGraph
       –   OpenSG
       –   PySoy
       –   Xith3D
                              
Isométrico: FIFE Engine




                
MMORPG: Planeshift




             
Edición en el juego: Cube 2




                  
Novelas visuales: Ren'Py




                
Programación fácil: Löve




                
Otros recursos
●   Gráficos: Clker.com (http://www.clker.com/), OpenClipArt (
    http://openclipart.org/), Image *After (http://gpl.imageafter.com/), BurningWell
    (http://www.burningwell.org/), Vecteezy (http://www.vecteezy.com/)
●   Modelos 3D: BlendSwap (http://www.blendswap.com/)
●   Fuentes de texto: OpenFontLibrary (http://openfontlibrary.org/)
●   Sonidos: Free Sound Samples from the OLPC project (
    http://wiki.laptop.org/go/Sound_samples), PDSounds (
    http://www.pdsounds.org/), Sound Bible (http://soundbible.com/),
    OpenOffice.org gallery (http://www.freedesktop.org/wiki/OpenOffice)
●   Música: Jamendo (http://www.jamendo.com/), Wikipedia (
    http://en.wikipedia.org/wiki/Wikipedia:Sound/list), The Mutopia Project (
    http://www.mutopiaproject.org/), ccMixter (http://ccmixter.org/), simuze
    (http://www.simuze.nl/)
●   Miscelánea: Wiki on FreeGameDev, Free Art Search (
    http://search.freegamedev.net/), Free Game Resources in Löve Club (
    http://love2d.org/forum/viewtopic.php?f=3&t=12), OpenGameArt (
    http://opengameart.org/), otros juegos Libres
                                            
Crystal Space
●   Framework para aplicaciones 3D escrito en C++
●   Puede ser usado para cualquier tipo de
    visualización 3D
●   Es muy portable y se ejecuta en Microsoft
    Windows, Linux, UNIX, y Mac OS X
●   Crystal Space es software de código abierto,
    licenciado bajo LGPL.
●   Existen bindings para Python y Java, entre
    otros.
                            
Ejemplos de Aplicaciones Libres
GIMP




      
Blender




        
Wings3D




        
Audacity




        
Cinelerra




         
Eclipse IDE




          
Code::Blocks




          
II Foro Cesine sobre Ocio Digital y Videojuegos



          Creación de
        videojuegos en
          entornos de
        Software Libre
                   Miriam Ruiz <miriam@debian.org>
                          
                             Santander, 23 de marzo de 2010
Licencia

         Copyright © 2010, Miriam Ruiz
       This work is licensed under the Creative
    Commons Attribution-Share Alike 3.0 (CC-by-
      sa 3.0) license. You can use, copy, modify,
      merge, remix, distribute, display, perform,
       sublicense and/or sale it freely under the
           conditions defined in that license.
       See http://creativecommons.org/licenses/by-sa/3.0/

                                

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Curso-Taller GNU-Linux Dia 1
Curso-Taller GNU-Linux Dia 1Curso-Taller GNU-Linux Dia 1
Curso-Taller GNU-Linux Dia 1
 
Codigo abierto y software libre
Codigo abierto y software libreCodigo abierto y software libre
Codigo abierto y software libre
 
Software libre
Software libreSoftware libre
Software libre
 
Software libre frente a software de código abierto
Software libre frente a software de código abiertoSoftware libre frente a software de código abierto
Software libre frente a software de código abierto
 
Introduccion al Software Libre
Introduccion al Software LibreIntroduccion al Software Libre
Introduccion al Software Libre
 
Introducción al software libre
Introducción al software libreIntroducción al software libre
Introducción al software libre
 
Software libre power point
Software libre power pointSoftware libre power point
Software libre power point
 
El Software Libre
El Software LibreEl Software Libre
El Software Libre
 
Presentacion
PresentacionPresentacion
Presentacion
 
Software Libre, Open Hardware
Software Libre, Open Hardware Software Libre, Open Hardware
Software Libre, Open Hardware
 
Software libre ppt.
Software libre ppt.Software libre ppt.
Software libre ppt.
 
Software propietario
Software propietarioSoftware propietario
Software propietario
 
¿Que es Software Libre? - v3.9.4
¿Que es Software Libre? - v3.9.4¿Que es Software Libre? - v3.9.4
¿Que es Software Libre? - v3.9.4
 
Diapositivas Software Libre
Diapositivas Software LibreDiapositivas Software Libre
Diapositivas Software Libre
 
Diapositiva de software libre
Diapositiva de software libreDiapositiva de software libre
Diapositiva de software libre
 
1. software libre slideshare
1. software libre slideshare1. software libre slideshare
1. software libre slideshare
 
Software libre vs software gratis
Software libre vs software gratisSoftware libre vs software gratis
Software libre vs software gratis
 
Software libre vs software gratis
Software libre vs software gratisSoftware libre vs software gratis
Software libre vs software gratis
 
Instituto Nacional De Acajutla
Instituto Nacional De AcajutlaInstituto Nacional De Acajutla
Instituto Nacional De Acajutla
 
Software libre ppt
Software libre pptSoftware libre ppt
Software libre ppt
 

Ähnlich wie Creación de videojuegos en entornos de Software Libre (2010)

Ähnlich wie Creación de videojuegos en entornos de Software Libre (2010) (20)

Software de acceso libre
Software de acceso libreSoftware de acceso libre
Software de acceso libre
 
Presentación de estudiantes de grado 11
Presentación de estudiantes de grado 11Presentación de estudiantes de grado 11
Presentación de estudiantes de grado 11
 
Software libre
Software libreSoftware libre
Software libre
 
Presentacion software libre, juan carlos Gallardo, mantenimiento seccion 022
Presentacion software libre, juan carlos Gallardo, mantenimiento  seccion 022Presentacion software libre, juan carlos Gallardo, mantenimiento  seccion 022
Presentacion software libre, juan carlos Gallardo, mantenimiento seccion 022
 
Diapositivas (1)
Diapositivas (1)Diapositivas (1)
Diapositivas (1)
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 
Diapositivas (1)
Diapositivas (1)Diapositivas (1)
Diapositivas (1)
 
Software Libre
Software Libre Software Libre
Software Libre
 
Software libre
Software libreSoftware libre
Software libre
 
software libre
software libresoftware libre
software libre
 
Softwarelibre
SoftwarelibreSoftwarelibre
Softwarelibre
 
Mariel
MarielMariel
Mariel
 
Ut5 clases software_propietario_y_libre
Ut5 clases software_propietario_y_libreUt5 clases software_propietario_y_libre
Ut5 clases software_propietario_y_libre
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 
Software Libre
Software LibreSoftware Libre
Software Libre
 
Diaposowarelibre
DiaposowarelibreDiaposowarelibre
Diaposowarelibre
 
Software libre
Software libreSoftware libre
Software libre
 
Software libre
Software libreSoftware libre
Software libre
 
Publicando juegos libres (ArsGames 2008)
Publicando juegos libres (ArsGames 2008)Publicando juegos libres (ArsGames 2008)
Publicando juegos libres (ArsGames 2008)
 
Montaje de-un-proyecto-de-software-libre-v0114069
Montaje de-un-proyecto-de-software-libre-v0114069Montaje de-un-proyecto-de-software-libre-v0114069
Montaje de-un-proyecto-de-software-libre-v0114069
 

Mehr von Miriam Ruiz

MBTI (Myers-Briggs Type Indicator) (doc. v3)
MBTI (Myers-Briggs Type Indicator) (doc. v3)MBTI (Myers-Briggs Type Indicator) (doc. v3)
MBTI (Myers-Briggs Type Indicator) (doc. v3)Miriam Ruiz
 
Patrones de Escalas Musicales (Draft)
Patrones de Escalas Musicales (Draft)Patrones de Escalas Musicales (Draft)
Patrones de Escalas Musicales (Draft)Miriam Ruiz
 
Diagramas de Escalas Musicales (draft)
Diagramas de Escalas Musicales (draft)Diagramas de Escalas Musicales (draft)
Diagramas de Escalas Musicales (draft)Miriam Ruiz
 
Diagramas tonales de acordes musicales (draft)
Diagramas tonales de acordes musicales (draft)Diagramas tonales de acordes musicales (draft)
Diagramas tonales de acordes musicales (draft)Miriam Ruiz
 
Mapas Tonales Musicales [Draft]
Mapas Tonales Musicales [Draft]Mapas Tonales Musicales [Draft]
Mapas Tonales Musicales [Draft]Miriam Ruiz
 
Ukelele Chords Cheat Sheet v2
Ukelele Chords Cheat Sheet v2Ukelele Chords Cheat Sheet v2
Ukelele Chords Cheat Sheet v2Miriam Ruiz
 
Ukelele Chords Cheat Sheet
Ukelele Chords Cheat SheetUkelele Chords Cheat Sheet
Ukelele Chords Cheat SheetMiriam Ruiz
 
Mujeres en el Software Libre (Campus Party Colombia, 2020)
Mujeres en el Software Libre (Campus Party Colombia, 2020)Mujeres en el Software Libre (Campus Party Colombia, 2020)
Mujeres en el Software Libre (Campus Party Colombia, 2020)Miriam Ruiz
 
MBTI (Myers-Briggs Type Indicator)
MBTI (Myers-Briggs Type Indicator)MBTI (Myers-Briggs Type Indicator)
MBTI (Myers-Briggs Type Indicator)Miriam Ruiz
 
DiSC (Dominance, Influence, Steadiness, Conscientiousness)
DiSC (Dominance, Influence, Steadiness, Conscientiousness)DiSC (Dominance, Influence, Steadiness, Conscientiousness)
DiSC (Dominance, Influence, Steadiness, Conscientiousness)Miriam Ruiz
 
MBTI (Myers-Briggs Type Indicator) [old]
MBTI (Myers-Briggs Type Indicator) [old]MBTI (Myers-Briggs Type Indicator) [old]
MBTI (Myers-Briggs Type Indicator) [old]Miriam Ruiz
 
Mujeres en el Software Libre: El proyecto Debian Women (2015)
Mujeres en el Software Libre: El proyecto Debian Women (2015)Mujeres en el Software Libre: El proyecto Debian Women (2015)
Mujeres en el Software Libre: El proyecto Debian Women (2015)Miriam Ruiz
 
Planets in our Solar System (2015)
Planets in our Solar System (2015)Planets in our Solar System (2015)
Planets in our Solar System (2015)Miriam Ruiz
 
Understanding Debian Packages (2014)
Understanding Debian Packages (2014)Understanding Debian Packages (2014)
Understanding Debian Packages (2014)Miriam Ruiz
 
El Paradigma de la Cultura Libre (2014)
El Paradigma de la Cultura Libre (2014)El Paradigma de la Cultura Libre (2014)
El Paradigma de la Cultura Libre (2014)Miriam Ruiz
 
Mnemonic Acronym and Mnemonic Images for Object Oriented Principles (2014)
Mnemonic Acronym and Mnemonic Images for Object Oriented Principles (2014)Mnemonic Acronym and Mnemonic Images for Object Oriented Principles (2014)
Mnemonic Acronym and Mnemonic Images for Object Oriented Principles (2014)Miriam Ruiz
 
UML Design Class Diagrams (2014)
UML Design Class Diagrams (2014)UML Design Class Diagrams (2014)
UML Design Class Diagrams (2014)Miriam Ruiz
 
Curso de C++ (2014)
Curso de C++ (2014)Curso de C++ (2014)
Curso de C++ (2014)Miriam Ruiz
 
Feminismo en la Red (2013)
Feminismo en la Red (2013)Feminismo en la Red (2013)
Feminismo en la Red (2013)Miriam Ruiz
 
El Sistema Operativo Debian GNU/Linux (2012)
El Sistema Operativo Debian GNU/Linux (2012)El Sistema Operativo Debian GNU/Linux (2012)
El Sistema Operativo Debian GNU/Linux (2012)Miriam Ruiz
 

Mehr von Miriam Ruiz (20)

MBTI (Myers-Briggs Type Indicator) (doc. v3)
MBTI (Myers-Briggs Type Indicator) (doc. v3)MBTI (Myers-Briggs Type Indicator) (doc. v3)
MBTI (Myers-Briggs Type Indicator) (doc. v3)
 
Patrones de Escalas Musicales (Draft)
Patrones de Escalas Musicales (Draft)Patrones de Escalas Musicales (Draft)
Patrones de Escalas Musicales (Draft)
 
Diagramas de Escalas Musicales (draft)
Diagramas de Escalas Musicales (draft)Diagramas de Escalas Musicales (draft)
Diagramas de Escalas Musicales (draft)
 
Diagramas tonales de acordes musicales (draft)
Diagramas tonales de acordes musicales (draft)Diagramas tonales de acordes musicales (draft)
Diagramas tonales de acordes musicales (draft)
 
Mapas Tonales Musicales [Draft]
Mapas Tonales Musicales [Draft]Mapas Tonales Musicales [Draft]
Mapas Tonales Musicales [Draft]
 
Ukelele Chords Cheat Sheet v2
Ukelele Chords Cheat Sheet v2Ukelele Chords Cheat Sheet v2
Ukelele Chords Cheat Sheet v2
 
Ukelele Chords Cheat Sheet
Ukelele Chords Cheat SheetUkelele Chords Cheat Sheet
Ukelele Chords Cheat Sheet
 
Mujeres en el Software Libre (Campus Party Colombia, 2020)
Mujeres en el Software Libre (Campus Party Colombia, 2020)Mujeres en el Software Libre (Campus Party Colombia, 2020)
Mujeres en el Software Libre (Campus Party Colombia, 2020)
 
MBTI (Myers-Briggs Type Indicator)
MBTI (Myers-Briggs Type Indicator)MBTI (Myers-Briggs Type Indicator)
MBTI (Myers-Briggs Type Indicator)
 
DiSC (Dominance, Influence, Steadiness, Conscientiousness)
DiSC (Dominance, Influence, Steadiness, Conscientiousness)DiSC (Dominance, Influence, Steadiness, Conscientiousness)
DiSC (Dominance, Influence, Steadiness, Conscientiousness)
 
MBTI (Myers-Briggs Type Indicator) [old]
MBTI (Myers-Briggs Type Indicator) [old]MBTI (Myers-Briggs Type Indicator) [old]
MBTI (Myers-Briggs Type Indicator) [old]
 
Mujeres en el Software Libre: El proyecto Debian Women (2015)
Mujeres en el Software Libre: El proyecto Debian Women (2015)Mujeres en el Software Libre: El proyecto Debian Women (2015)
Mujeres en el Software Libre: El proyecto Debian Women (2015)
 
Planets in our Solar System (2015)
Planets in our Solar System (2015)Planets in our Solar System (2015)
Planets in our Solar System (2015)
 
Understanding Debian Packages (2014)
Understanding Debian Packages (2014)Understanding Debian Packages (2014)
Understanding Debian Packages (2014)
 
El Paradigma de la Cultura Libre (2014)
El Paradigma de la Cultura Libre (2014)El Paradigma de la Cultura Libre (2014)
El Paradigma de la Cultura Libre (2014)
 
Mnemonic Acronym and Mnemonic Images for Object Oriented Principles (2014)
Mnemonic Acronym and Mnemonic Images for Object Oriented Principles (2014)Mnemonic Acronym and Mnemonic Images for Object Oriented Principles (2014)
Mnemonic Acronym and Mnemonic Images for Object Oriented Principles (2014)
 
UML Design Class Diagrams (2014)
UML Design Class Diagrams (2014)UML Design Class Diagrams (2014)
UML Design Class Diagrams (2014)
 
Curso de C++ (2014)
Curso de C++ (2014)Curso de C++ (2014)
Curso de C++ (2014)
 
Feminismo en la Red (2013)
Feminismo en la Red (2013)Feminismo en la Red (2013)
Feminismo en la Red (2013)
 
El Sistema Operativo Debian GNU/Linux (2012)
El Sistema Operativo Debian GNU/Linux (2012)El Sistema Operativo Debian GNU/Linux (2012)
El Sistema Operativo Debian GNU/Linux (2012)
 

Kürzlich hochgeladen

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Kürzlich hochgeladen (11)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Creación de videojuegos en entornos de Software Libre (2010)

  • 1. II Foro Cesine sobre Ocio Digital y Videojuegos Creación de videojuegos en entornos de Software Libre Miriam Ruiz <miriam@debian.org>     Santander, 23 de marzo de 2010
  • 2. Índice Introducción al Software Libre Copyleft: All Rights Reversed Desarrollo de Software Ejemplos de Componentes Libres Ejemplos de Aplicaciones Libres
  • 3. Interrumpidme libremente No me como a nadie por preguntar    
  • 5. ¿Qué es Software? Según la IEEE, es la suma total de los programas, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema. Incluye más los programas en sus distintas formas (código fuente y código ejecutable o binario) y su documentación. Software es todo lo intangible    
  • 6. ¿Qué son las Licencias? Conjunto de términos o condiciones bajo las que se permite utilizar, modificar, distribuir y/o comunicar públicamente el software, en una forma determinada, por parte de quienes poseen los derechos de autoría del mismo. Por defecto, sin una licencia explícita que autorice el uso, modificación, difusión o comunicación pública, no tenemos ningún derecho ni permiso para usar de ningún modo la aplicación    
  • 7. ¿Qué es el Software Libre? Libertad 0: Usar el programa y los resultados de su ejecución con cualquier propósito Libertad 1: Estudiar el programa, aprender y poder aplicar el conocimiento obtenido Libertad 2: Copiar, distribuir y difundir el programa, en su totalidad o en parte Libertad 3: Modificar y mejorar el programa y publicar los cambios   realizados  
  • 8. ¿Por qué hacer un juego Libre? ● Porque es la mejor forma de difundirlo sin invertir muchísimo en publicidad ● Porque hay un montón de elementos libres sobre los que nos podemos apoyar para crearlo ● Porque podemos contar con el apoyo de mucha gente de la comunidad para desarrollarlo ● Porque podemos extenderlo a muchos sistemas para los que no tendríamos capacidad si no ●   Porque el juego sobrevivirá en el tiempo  
  • 9. ¿Qué software NO es Libre? El software no libre (software propietario, software privativo, software privado) se refiere a cualquier programa informático en el que se tienen limitadas las posibilidades de uso, modificación o redistribución (con o sin modificaciones), o que su código fuente no está disponible o el acceso a éste se encuentra restringido.    
  • 10. Dos conceptos diferentes Libre Libertad Gratis Dinero
  • 11. ¿Qué software NO es Libre? ● Software privativo o propietario: Otorga el derecho de uso del programa binario a cambio de una cantidad de dinero y en determinadas condiciones. ● Shareware: Permite probar el programa antes de comprarlo. ● Freeware: Se puede usar de forma gratuíta en determinadas condiciones. ● Código fuente disponible para su inspección pero no para su uso, modificación y distribución   libres.  
  • 12. Software Libre != Software Gratuito    
  • 13. Tres aspectos del Software Libre Metodología de desarrollo   Licencia   Comunidad
  • 15. ¿Qué es el Copyleft? ● Eliminar las restricciones de distribución o modificación impuestas por el copyright ● Condición de que el trabajo derivado se mantenga con el mismo régimen de derechos de autoría que el original ● Permite proteger una gran diversidad de obras, tales como programas informáticos, arte, cultura y ciencia, es decir prácticamente casi cualquier tipo de producción creativa    
  • 16. Distribución sin Copyleft Libre Libre Libre Autor/a Privativo Privativo Privativo    
  • 17. Distribución con Copyleft Libre Libre Libre Autor/a X X Privativo Privativo Privativo    
  • 19. Licencias: La elección sencilla ● Protección con copyleft fuerte: GPL v3 ● Protección con copyleft débil: LGPL v3 ● Sin copyleft, pero queremos que tenga protección contra patentes: Apache 2.0 ● Si queremos una licencia sencilla sin copyleft, contra patentes, DRM, etc: MIT o BSD-2    
  • 20. Licencias: La elección menos sencilla ● Para trabajos que no sean de software, considerar las licencias Creative Commons (CC-by ó CC-by-sa 3.0) ● Si queremos protección con copyleft fuerte para aplicaciones en red, aún a costa de limitar su uso comercial: AGPL v3 ● Si queremos copyleft débil y que explícitamente sea incompatible con GPL: CPL, EPL, MPL 1.1, CDDL,... ● Si tenemos dependencias que limiten nuestras opciones, hay que tenerlas en cuenta. ● Algunas licencias son muy populares en sectores concretos    
  • 21. Licencias Creative Commons Cláusulas disponibles: ● Reconocimiento ("by", o Attribution) ● No Comercial ("nc", o Non commercial) ● Sin Obra Derivada ("nd" o No Derivate Works) ● Compartir Igual ("sa" o Share Alike) 6 licencias principales para escoger: ● by, by-nc ● by-nd, by-nc-nd ● by-sa, by-nc-sa Realmente libres (DFSG): ● CC0 (dominio público) ● CC-by 3.0 ● CC-by-sa 3.0    
  • 23. Desarrollo de un juego Libre ● Idea, concepto y diseño inicial ● Elección de la arquitectura y las herramientas ● Selección de la licencia ● Recopilación de componentes ● Desarrollo del código y elementos artísticos ● Publicación del código fuente ● Integración en los diferentes sistemas ● Distribución de los binarios ● Comunidad de desarrollo   ● Mantenimiento, bugs y  desarrollos posteriores
  • 24. El Sistema Operativo ● Elemento que actúa de intermediario entre el hardware y el software, y provee los sistemas y librarías básicas ● Hay numerosos sistemas operativos, tanto para ordenadores como para videoconsolas, móviles, etc. Algunos son privativos y otros no ● Existen diversas librerías, frameworks y entornos de ejecución que nos permiten abstraernos del sistema operativo sobre el que se va a ejecutar el programa    
  • 25. El Sistema Base ● Tecnologías de las que vamos a depender: C/C++, Posix, Java, Python, OpenGL, SDL, Flash, Perl, Crystal Space, Ogre, .Net, DirectX, VB, Delphi, XULRunner, ... ● Entorno de desarrollo: modificación del programa, compiladores soportados, herramientas de transformación, edición de contenidos, ... ● Componentes: compatibilidad de la licencia, portabilidad de las librerías, estabilidad,   mantenimiento, ...  
  • 26. La toolchain ● Herramientas, binarios y librerías necesarias para realizar la compilación ● Dependiendo de las herramientas de desarrollo elegidas se podrá usar en unos sistemas operativos u otros ● Si existe una toolchain libre en la que se pueda compilar, se puede compilar potencialmente para cualquier sistema ● Si se necesita una toolchain privativa, solo se podrá portar a algunos sistemas, y estará   condicionada a la empresa que la fabrique  
  • 27. La parte artística ● No se puede coger cualquier cosa que encontremos por ahí: copyright, licencia, condiciones ● Será tan libre, distribuíble, portable, etc. como lo sea la parte más restrictiva de las piezas que lo componen ● Elementos habitualmente problemáticos: texturas, mapas, modelos, fotos, tipos de letra, sonidos, música, iconos, etc.    
  • 29. El “bazar” vs. La “catedral” Modelo de Modelo de desarrollo desarrollo Tipo Tipo “catedral” “bazar”    
  • 30. El “bazar” vs. La “catedral” ● El esquema de desarrollo estilo “catedral”, en el que se establece una jerarquía de decisiones, se está viendo cada vez más desfasada por un modelo que aporta mejores resultados en muchos casos: el modelo “bazar” ● Los nuevos medios tecnológicos están transformando la sociedad, de tal forma que cada vez van desapareciendo más los conceptos de producer y consumer, y va surgiendo uno nuevo: “prosumer”    
  • 31. Cooperación competitiva El Software Libre configura un paradigma de desarrollo entre pares sin la necesidad de una autoridad coordinadora, que se aprovecha de los mecanismos de evolución natural para mejorar la calidad, y en el que la permanencia en las posiciones de control del producto están regidas por la meritocracia y la participación activa, eliminando automáticamente a quienes no innovan    
  • 32. Nacimiento de un proyecto Libre Modelo de Fase inicial Fase de desarrollo tipo catedral transición tipo bazar    
  • 33. Crecimiento de un proyecto Libre Grupo Mecanismos pequeño formales de con una Formalización participación estructura y resolución informal de conflictos    
  • 35. Simple DirectMedia Layer (SDL) ● Bibliotecas en C que proporcionan funciones básicas para realizar dibujado 2D, sonido y música y carga y gestión de imágenes ● Wrappers a otros lenguajes de programación como C++, Ada, C#, Basic, Erlang, Lua, Java, Python, etc. ● Multiplataforma, soportando oficialmente Windows, GNU/linux, MacOS y QNX, además de otras como Dreamcast, GP32, GP2X, ... ● Licencia LGPL    
  • 37. PyGame ● Módulos del lenguaje Python que permiten la creación de videojuegos en 2D ● Es esencialmente un interfaz de las bibliotecas SDL, orientado al manejo de sprites. ● Permite prototipar y desarrollar rápidamente ● También puede utilizarse para crear otros programas multimedia o interfaces gráficas de usuario.    
  • 38. Open Graphics Library (OpenGL) ● Es una especificación estándar que define una API multilenguaje y multiplataforma para escribir aplicaciones que produzcan gráficos 2D y 3D ● Hay implementaciones eficientes de OpenGL para Mac OS, Microsoft Windows, GNU/Linux, varias plataformas Unix y PlayStation 3 ● Existen implementaciones software que permiten ejecutar aplicaciones OpenGL sin soporte de aceleración hardware ● iPhone soporta la variante OpenGL ES    
  • 40. OpenGL vs. DirectX ● Tiene llamadas más rápidas que DirectX y acceso directo a nuevas características de las GPU mediante extensiones ● Acceso a las nuevas características en todas las plataformas. DirectX solo las permite en las últimas versiones de Windows. La única forma de disponer de las últimas características en XP es con OpenGL ● OpenGL es multiplataforma ● OpenGL es un estándar abierto y sin coste    
  • 41. Crystal Space ● Framework para aplicaciones 3D escrito en C++ ● Puede ser usado para cualquier tipo de visualización 3D ● Es muy portable y se ejecuta en Microsoft Windows, Linux, UNIX, y Mac OS X ● Crystal Space es software de código abierto, licenciado bajo LGPL. ● Existen bindings para Python y Java, entre otros.    
  • 43. Otros motores 3D Libres ● Otros motores Libres 3D en tiempo real: – OGRE – Irrlicht Engine – Soya 3D – Horde3D – Panda3D – Axiom – Delta3D – G3D Engine – JmonkeyEngine – Lightfeather – NeL – OpenSceneGraph – OpenSG – PySoy – Xith3D    
  • 46. Edición en el juego: Cube 2    
  • 49. Otros recursos ● Gráficos: Clker.com (http://www.clker.com/), OpenClipArt ( http://openclipart.org/), Image *After (http://gpl.imageafter.com/), BurningWell (http://www.burningwell.org/), Vecteezy (http://www.vecteezy.com/) ● Modelos 3D: BlendSwap (http://www.blendswap.com/) ● Fuentes de texto: OpenFontLibrary (http://openfontlibrary.org/) ● Sonidos: Free Sound Samples from the OLPC project ( http://wiki.laptop.org/go/Sound_samples), PDSounds ( http://www.pdsounds.org/), Sound Bible (http://soundbible.com/), OpenOffice.org gallery (http://www.freedesktop.org/wiki/OpenOffice) ● Música: Jamendo (http://www.jamendo.com/), Wikipedia ( http://en.wikipedia.org/wiki/Wikipedia:Sound/list), The Mutopia Project ( http://www.mutopiaproject.org/), ccMixter (http://ccmixter.org/), simuze (http://www.simuze.nl/) ● Miscelánea: Wiki on FreeGameDev, Free Art Search ( http://search.freegamedev.net/), Free Game Resources in Löve Club ( http://love2d.org/forum/viewtopic.php?f=3&t=12), OpenGameArt ( http://opengameart.org/), otros juegos Libres    
  • 50. Crystal Space ● Framework para aplicaciones 3D escrito en C++ ● Puede ser usado para cualquier tipo de visualización 3D ● Es muy portable y se ejecuta en Microsoft Windows, Linux, UNIX, y Mac OS X ● Crystal Space es software de código abierto, licenciado bajo LGPL. ● Existen bindings para Python y Java, entre otros.    
  • 52. GIMP    
  • 59. II Foro Cesine sobre Ocio Digital y Videojuegos Creación de videojuegos en entornos de Software Libre Miriam Ruiz <miriam@debian.org>     Santander, 23 de marzo de 2010
  • 60. Licencia Copyright © 2010, Miriam Ruiz This work is licensed under the Creative Commons Attribution-Share Alike 3.0 (CC-by- sa 3.0) license. You can use, copy, modify, merge, remix, distribute, display, perform, sublicense and/or sale it freely under the conditions defined in that license. See http://creativecommons.org/licenses/by-sa/3.0/