Margarita Vicarana
Diciembre de 2025
Este sitio web trata sobre la programación de videojuegos 2D y está dirigido a todo aquel que quiera introducirse en este área de la informática. Aunque es deseable tener conocimientos previos sobre programación y gráficos de computadora, no es condición indispensable, pues los conceptos básicos sobre ambas materias también pueden encontrarse aquí. Así pues, este sitio web está pensado para principiantes en la programación de juegos de computadora, sean desarrolladores con experiencia o sean programadores novatos.
Debes saber que el proceso de aprendizaje será largo, laborioso y combinará estudio y práctica, es decir, requerirá tiempo, dedicación y, sobre todo, paciencia. Sin embargo, si te gusta programar y te gustan los videojuegos, este proceso también será muy interesante y divertido, incluso apasionante, y el esfuerzo invertido se verá recompensado con creces.
Entre las muchas opciones que hay para programar videojuegos, yo propongo utilizar el lenguaje Python en combinación con Pygame. El motivo de elegir Python es que se trata de un lenguaje de alto nivel muy utilizado actualmente, dotado de una simplicidad (al menos en sus elementos de uso común) y versatilidad que lo hacen ideal para el aprendizaje y para su aplicación en múltiples áreas. Por lo tanto, en este sitio web también encontrarás los recursos necesarios para aprender a programar en Python y para utilizar Pygame en la creación de videojuegos.
Si ya sabes programar pero prefieres hacerlo en un lenguaje que no sea Python, esta web también te resultará útil, pues incluye teoría y conceptos de carácter general sobre los videojuegos, independientes del lenguaje de programación. En este sentido, me parece una alternativa interesante utilizar C/C++ junto con la biblioteca raylib, un conjunto de funciones escritas en lenguaje C para programar videojuegos.
Resumiendo, esta web constituye una recopilación de información sobre desarrollo de videojuegos 2D, con referencias a documentación pública de otros sitios web. Como suele ocurrir con cualquier otro tema, en la Web hay una cantidad ingente de información sobre programación de juegos y es difícil saber por dónde empezar. Aquí encontrarás una selección básica de documentación gratuita en español que yo considero didáctica y de fácil lectura, aunque con diferentes niveles de detalle y dificultad. Vaya por delante mi agradecimiento y admiración a todos los autores que han publicado gratuitamente los documentos mencionados en esta web.
Saber más sobre Pygame...
Pygame es un conjunto de módulos Python diseñado para programar videojuegos y otras aplicaciones multimedia. Está basado en la biblioteca SDL, actuando como un envoltorio (wrapper) de esta para proporcionar capacidades de desarrollo multimedia de más alto nivel. Es compatible con los sistemas Microsoft Windows, Linux y macOS, pero no es oficialmente portable a iOS y Android porque estos sistemas no soportan Python de forma nativa.
SDL (Simple DirectMedia Layer) es una biblioteca de desarrollo multimedia que proporciona acceso de bajo nivel al hardware gráfico, audio y dispositivos de entrada (teclado, ratón, mandos de juegos, etc.). SDL está escrito en lenguaje C y es compatible con los sistemas operativos Windows, Linux, macOS, iOS y Android. Actualmente tiene dos grandes ramas de versiones, SDL2 y SDL3.
SDL permite escribir aplicaciones que produzcan gráficos 2D y 3D. SDL2 utiliza las API gráficas OpenGL y Direct3D (Microsoft), mientras que SDL3 también puede utilizar Vulkan y Metal (Apple).
Pygame 1.x está basado en SDL 1.2, mientras que Pygame 2.x está basado en SDL2. Posiblemente, en el futuro haya una rama de versiones Pygame 3.x basada en SDL3.
Pygame está pensado para videojuegos 2D, no incluye módulos ni funciones específicas para gráficos 3D. Para desarrollar videojuegos 3D mediante Python, habría que utilizar otras alternativas, como PyOpenGL (programación a bajo nivel) o Panda3D (motor de videojuegos de alto nivel).
Pygame es una biblioteca de programación ideal para aprender a programar videojuegos 2D con Python, pero no suele utilizarse profesionalmente para la creación de productos comerciales. No tiene un editor visual como los motores de videojuegos de uso público (Unity, Unreal Engine, Godot, CryEngine, etc.), ofrece un rendimiento gráfico menor que otras bibliotecas (pues es una capa adicional sobre SDL y Python es un lenguaje interpretado), carece de motor de físicas y proporciona una funcionalidad básica para el manejo de sprites. Aún así, Pygame ofrece muchas funcionalidades, es más fácil de usar que SDL y otras API de bajo nivel (como OpenGL o DirectX) y permite realizar videojuegos completos de muy buena calidad (consulta la sección de ejemplos sobre este tema).
Otras bibliotecas alternativas a Pygame son Pyglet y Arcade, ambas instalables con pip (gestor de paquetes de Python). Pyglet tiene menos dependencias externas porque trabaja a más bajo nivel (en el aspecto gráfico no usa SDL, se apoya directamente sobre OpenGL), pero esto complica su manejo y hace que sea menos popular que Pygame. The Python Arcade Library es una biblioteca más moderna y fácil de usar, basada en Pyglet y OpenGL, que incluye características más avanzadas (por ejemplo, integra soporte para animación de sprites y para físicas 2D), pero de momento su comunidad de usuarios es mucho más pequeña que la de Pygame.
La instalación de Python 3 y Pygame 2 en una computadora personal con Linux o Windows es un proceso relativamente sencillo. La mayoría de sistemas Linux modernos incluyen Python 3 por defecto, pero en sistemas Microsoft Windows esto no es así, lo cual puede complicar un poco la instalación.
Esta sección aporta algunos ejemplos de demos y pequeños videojuegos escritos con Python y Pygame. Puedes consultarlos en cualquier momento como complemento a la documentación de aprendizaje o, si quieres saber ya cómo funciona Pygame, aquí puedes examinar directamente el código fuente de los programas. Lógicamente, si quieres ejecutar estos programas en tu PC, debes tener instalado Python 3 y Pygame.
Además, hay un apartado final donde se enumeran algunos videojuegos de buena calidad basados en Pygame, así como los sitios web donde pueden encontrarse.
En este apartado, se enumeran, comentan y ofrecen una serie de documentos descargables que, bajo mi punto de vista, te permitirán aprender a programar videojuegos 2D. Un par de ellos han sido escritos por la autora de este sitio web (o sea, por mí), así que pido disculpas por anticipado por los posibles errores cometidos. 🙂
Puedes revisar directamente el listado de documentos con su sinopsis, valorar por ti mismo cuáles se ajustan mejor a tus necesidades, expectativas e intereses, y decidir cuáles vas a leer. Si en cambio prefieres conocer cuál es mi recomendación al respecto, a continuación propongo un orden de lectura paso a paso, adaptado al nivel de conocimientos del lector, que puedes considerar como una guía de aprendizaje:
En primer lugar, deberías adquirir conocimientos generales sobre videojuegos 2D (esto no es imprescindible, pero a mí me parece muy conveniente):
Empieza por leer el documento "Conceptos básicos para desarrollo de videojuegos 2D", pues te introducirá en el mundo del desarrollo de videojuegos y te permitirá adquirir las nociones necesarias para facilitarte las lecturas posteriores.
Continúa ampliando tus conocimientos sobre videojuegos con la lectura de los tres primeros capítulos del documento "Videojuegos 2D" (Estructura de un videojuego, Tile based engine y Física). El abordaje de este texto requiere una formación básica en Matemáticas, Física e Informática, recibida típicamente a través de la enseñanza secundaria, pero no te asustes si lo ves complicado, no se trata de que lo comprendas todo a la primera, lo importante es que vayas adquiriendo conocimientos generales sobre desarrollo de videojuegos.
Para terminar esta primera parte introductoria, lee el artículo de Wikipedia "Motor de videojuego", es una buena iniciación a los componentes principales del software de los videojuegos.
Si no sabes programar, puedes utilizar los siguientes textos:
Lee el capítulo 1 del libro "Introducción a la programación con Python 3", una introducción general a los computadores, la codificación de la información, la programación y los algoritmos. A continuación, puedes seguir íntegramente el libro "Inventa tus propios juegos de computadora con Python".
Si prefieres aprender en línea, sigue el curso "Programar Juegos Arcade con Python y Pygame", que enseña a programar desde cero.
Si sabes programar, pero no con el lenguaje Python, lee el documento "Introducción a la programación en Python". Una vez concluida su lectura, si quieres profundizar más en Python, puedes leer "Resumen de Python 3". Si eres un programador de Java con experiencia, seguramente te resulte interesante este taller de Python para desarrolladores Java.
Si ya sabes programar con Python, puedes iniciarte en Pygame con estos documentos:
Capítulos 17-20 del libro "Inventa tus propios juegos de computadora con Python".
Investiga en la Web sobre pygame-menu, una biblioteca adicional para crear menús de juegos fácilmente.
Para aprender más sobre la programación de videojuegos 2D con Python y Pygame, tienes estos dos libros:
Making Games with Python & Pygame: este texto es el único de los recomendados que está en inglés. Si tienes un dominio razonable de este idioma, no dudes en leerlo.
Si en cualquier momento quieres ampliar conocimientos sobre alguna materia en particular, consulta la sinopsis de los documentos referidos en esta web, seguramente encuentres lo que buscas.
Conceptos básicos para desarrollo de videojuegos 2D [pdf] [email]
Roberto Albornoz Figueroa (2007), 29 páginas, licencia CC BY-NC-ND.
En las páginas de este texto conoceremos la terminología básica que nos hará comprender de mejor forma los conceptos gráficos involucrados en un videojuego: características de los componentes del hardware gráfico, píxel, bitmap, colores, sprites, animación, transparencia, transformaciones matemáticas, sistema de coordenadas, superficies, sincronización, etc.
Motor de videojuego [pdf] [web]
Wikipedia (2025), 5 páginas, licencia CC BY-SA.
Este breve artículo es una buena introdución no sólo a los motores de videojuegos, sino también a los componentes principales del software de los videojuegos, lo cual es muy importante para que te hagas una idea inicial de cómo se debería estructurar el programa de un videojuego, es decir, en qué módulos debería descomponerse: parte principal con el bucle del juego, sistema de entrada (manejo de teclado, joystick, ratón), motor gráfico (renderización), motor de audio, motor de física, Inteligencia artificial, sistema de scripting, etc.
Por otro lado, nada más empezar menciona algunos entornos de desarrollo de juegos 2D/3D muy populares como Godot, Unreal o Unity (también alude a Pygame como una herramienta más elemental). Son motores de videojuegos de alcance profesional, con una interfaz gráfica de usuario compleja para desarrollo visual a alto nivel, aunque todavía es necesario programar la lógica del juego (con lenguajes como C++ o C#). Si esto despierta tu curiosidad, quizás te interese buscar información por tu cuenta y aprender a usar alguna de estas herramientas, en vez de proseguir en este sitio web, que está enfocado en la programación. En esto te resultará útil el texto "¿Cómo se diseña un motor de videojuegos?", que puedes encontrar más adelante en esta página web.
Programar Juegos Arcade con Python y Pygame [web]
Paul Vincent Craven (2017), traducción de Antonio Rodríguez Verdugo, curso en línea, lectura gratuita
Este es el único curso en línea de la documentación presentada en esta página web. No requiere conocimientos previos de programación, pues enseña a programar videojuegos 2D desde cero. El curso está estructurado en una introducción y 20 capítulos para que aprendas a diseñar y crear juegos de tipo arcade, enseñando Python al mismo tiempo que trata temas como el uso de gráficos e imágenes, manejo de dispositivos de entrada (teclado, ratón y mandos de juego), reproducción de sonido, animación de sprites, cuadrículas y matrices, etc., todo ello usando Pygame. Cada capítulo consta de vídeos complementarios (en inglés), ejercicios cortos y talleres (labs) para consolidar los conocimientos adquiridos.
A partir de los contenidos del curso web, el autor ha escrito el libro "Program Arcade Games with Python and Pygame" de unas 400 páginas. Además, es el creador de la biblioteca Arcade de Python para programación de videojuegos 2D, más moderna y avanzada que Pygame, y ha compuesto el curso en línea "Arcade Academy - Learn Python" para el aprendizaje de Python y la biblioteca Arcade (de momento, sin traducción al español).
Inventa tus propios juegos de computadora con Python [pdf] [web] [recursos] [ebook]
Al Sweigart (3ª edición, 2015), traducción de Alfredo Carella, Alejandro Pernin y Francisco Palm, 380 páginas, licencia CC BY-NC-SA
La programación no es difícil. Lo difícil es encontrar materiales de aprendizaje que te enseñen a hacer cosas interesantes programando. Otros libros de computadoras tratan muchos temas que la mayoría de los programadores novatos no necesita. Este libro te enseñará a programar tus propios juegos de computadora ¡Adquirirás una habilidad útil y podrás hacer juegos divertidos para demostrarlo! El libro enseña programación mediante la creación de juegos no gráficos, basados en texto, para novatos totales, y también incluye algunos capítulos sobre el uso de la biblioteca Pygame para crear juegos gráficos.
Este libro es para:
- Principiantes que quieran aprender a programar por sí mismos, incluso si no tienen ninguna experiencia en programación.
- Niños y adolescentes que quieran aprender a programar a través de la creación de juegos.
- Adultos y profesores que quieran enseñar a otros a programar.
- Cualquier persona, joven o viejo, que quiera aprender a programar a través de un lenguaje de programación de uso profesional.
Invent Your Own Computer Games with Python [pdf] [web] [recursos]
Al Sweigart - No Starch Press (4ª edición, 2017), 374 páginas, licencia CC BY-NC-SA
Versión original en inglés del libro "Inventa tus propios juegos de computadora con Python".
Hacete tu videojuego [pdf] [web] [recursos]
Fernando Sansberro - Batovi Games (1ª edición, versión 1.0, 2021), 397 páginas, licencia CC BY-NC-SA
Este libro te enseñará a programar videojuegos desde cero y, una vez que aprendas los conceptos fundamentales, siguiendo el libro y aplicando sus ejemplos, serás capaz de crear tus propios juegos. El libro enseña a programar videojuegos utilizando el lenguaje Python y utilizando la biblioteca gráfica Pygame, aunque todos los conceptos que aprendas serán aplicables en cualquier lenguaje. La idea es que aprendas fácilmente a desarrollar videojuegos, en forma profesional. ¡Hacete tu videojuego! te introducirá en el apasionante mundo del desarrollo de videojuegos de una forma práctica y, sobre todo, aplicada.
Este libro se ha escrito asumiendo que se tienen nociones básicas de programación (puede ser en cualquier lenguaje). Como es un libro que enseña a programar videojuegos de forma profesional, se ha evitado la enseñanza de conceptos básicos de programación, enfocándose en los conceptos que son necesarios para el desarrollo de videojuegos.
Making Games with Python & Pygame [pdf] [web] [recursos]
Al Sweigart (1ª edición, versión 2, 2012), 365 páginas, licencia CC BY-NC-SA
Este libro te enseñará a crear videojuegos en el lenguaje de programación Python, utilizando la biblioteca Pygame. Se asume que tienes algunos conocimientos básicos de Python o de programación en general. Si no sabes programar, puedes aprender leyendo el libro gratuito "Inventa tus propios juegos de computadora con Python", o puedes empezar directamente con este libro e ir aprendiendo sobre la marcha.
El libro comienza con una breve introducción sobre la biblioteca Pygame y las funciones que ofrece. A continuación, proporciona el código fuente completo de algunos juegos reales y explica su funcionamiento, para que puedas comprender cómo los programas de juegos reales hacen uso de Pygame.
El documento Fundamentos de Pygame es una traducción al español del capítulo 2 (Pygame Basics) de este libro.
Manualito de Pygame [pdf] [web]
Margarita Vicarana (enero de 2026), 57 páginas, licencia LGPL.
Este documento es un manual de referencia resumida de Pygame, organizado mediante un recorrido de sus módulos en orden alfabético. Cada módulo consta de una explicación introductoria seguida de la descripción de sus variables, funciones y clases/objetos.
El texto ha sido traducido y adaptado por quien suscribe estas líneas, partiendo de la documentación oficial de Pygame.
Además, al final del documento hay unos breves apéndices sobre superficies de píxeles, sonido digital, teclados, cursores, mandos de juegos y sprites, con el propósito de facilitar el entendimiento de los conceptos manejados en los módulos de Pygame.
Introducción a la programación en Python [pdf] [web] [recursos] [wiki]
Valentina Álvarez Gálvez y Adrián Soto Suárez - Universidad Católica de Chile (versión beta, 2020), 88 páginas, descarga gratuita.
Este libro está lleno de ejemplos que te servirán para aprender, además de tener referencia a muchos de los conceptos más utilizados del lenguaje Python. El libro posee una Wiki en la que vas a encontrar detalles como la instalación de Python, la ejecución de un programa de Python y la forma de ejecutar programas de Python en Google Colab. Esto último es muy importante, porque en este libro vas a encontrar ejercicios propuestos. Las soluciones a los ejercicios van a estar en un repositorio de GitHub. Si lees el articulo de Wiki sobre Google Colab te debería quedar claro cómo importar estas soluciones para ejecutarlas en línea. Si no, puedes ver el código desde el repositorio y copiarlo de forma local en tu computador. La idea es que vayas revisando las soluciones a medida que avances.
Introducción a la programación con Python 3 [pdf] [web] [ebook]
Andrés Marzal Varó, Isabel Gracia Luengo y Pedro García Sevilla - Universitat Jaume I (1ª edición, 2014), 413 páginas, licencia CC BY-SA.
Este libro desarrolla el temario de la asignatura "Programación I" que se imparte durante el primer semestre de primer curso en los grados en Ingeniería Informática y en Matemática Computacional de la Universitat Jaume I. En ella se pretende enseñar a programar y se utiliza Python como primer lenguaje de programación.
Ciertamente hay muchos libros que enseñan a programar desde cero. Creemos que este texto se diferencia de ellos en la forma en que se exponen y desarrollan los contenidos. Hemos procurado adoptar siempre el punto de vista del estudiante y presentar los conceptos y estrategias para diseñar programas básicos paso a paso, incrementalmente.
Resumen de Python 3 [pdf]
Margarita Vicarana (enero de 2026), 66 páginas, licencia CC BY-SA.
Este documento es un resumen de los principales conceptos, elementos y características del lenguaje de programación Python 3, con numerosas descripciones y ejemplos sobre tipos de datos, variables, objetos, operadores, estructuras de control, funciones, módulos, clases, decoradores, iteradores, manejo de ficheros, reglas de estilo, espacios de nombres, entornos virtuales, etc.
Jesús Alonso Alonso - Universitat Oberta de Catalunya (2011), 134 páginas, licencia CC BY-NC-ND.
En este texto trataremos los aspectos involucrados en la realización de un videojuego. Con este propósito se establecerán las bases de la programación de videojuegos ofreciendo su estructura principal, se describirá el motor tile based engine, daremos a conocer cómo realizar la gestión de eventos y ventanas y unos módulos iniciales de física y programación gráfica. A continuación, se estudiará la herramienta de desarrollo Visual Studio .net y las librerías GLUT para la gestión de ventanas y eventos, así como OpenGL como API gráfica. Para acabar, mostraremos la solución que nos brinda DirectX para la programación de videojuegos 2D.
Esta sección pone a tu disposición documentos más avanzados para seguir profundizando en el desarrollo de videojuegos, es decir, para ampliar conocimientos ya adquiridos y afrontar materias nuevas, incluida la programación de videojuegos 3D.
Matemáticas para desarrolladores de juegos [pdf] [web]
Denny Burzynski - Downey Unified School District (edición del educador, 2023), 174 páginas, licencia CC BY.
Para diseñar o programar juegos divertidos y llenos de aventura no es necesario poseer conocimientos matemáticos profundos para entender comandos de programación, lo que hacen y cómo manipularlos como desees. En este libro, nos enfocamos en algunos instrumentos matemáticos usados en los lenguajes de programación. En Matemáticas para Desarrolladores de Juegos, exploramos las ideas básicas sobre cómo los instrumentos matemáticos controlan la acción y movimiento en los juegos que creas, y además te presentamos tecnologías que realizan los cálculos matemáticos que podrías necesitar ¡Bastante genial!
Definimos claramente cuatro instrumentos matemáticos: vectores, matrices, y funciones trigonométricas del seno y coseno, y se describe qué hace cada una. Guiar a tu computadora para que rote un objeto, o lo mueva vertical u horizontalmente, usa comandos que nacieron de algunos de estos instrumentos.
2D Game Development: From Zero To Hero [web]
Daniele Penazzo (Python edition, 2025), unas 700 páginas, licencia CC BY-NC-SA.
Este libro pretende ser una recopilación organizada del conocimiento de la comunidad sobre técnicas, algoritmos y experiencia en el desarrollo de videojuegos, con el objetivo de ser lo más completo posible. Pretende ser una referencia para desarrolladores de juegos, orientados a 2D, además de ser una recopilación de “buenas prácticas” a seguir al desarrollar un juego por tu cuenta (o con algunos amigos). También proporciona consejos, trucos y estructuras que algún día te hagan decir: "¡Claro, esto me sirve!".
Este libro todavía está en desarrollo y se actualiza frecuentemente, así que lo mejor es descargarse la última versión de su sitio web, donde lo encontrarás en formato PDF y EPub. Además, tiene ediciones específicas para los lenguajes Python, C++, Javascript, LUA y pseudocódigo.
En el repositorio web de la Universitat Oberta de Catalunya se pueden encontrar diversos textos relacionados con el desarrollo de videojuegos, como por ejemplo los tres siguientes.
¿Cómo se diseña un motor de videojuegos? [pdf] [web]
Jorge Arnal Montoya - Universitat Oberta de Catalunya (2017), 22 páginas, licencia CC BY-NC-ND.
En este material vamos a presentar al estudiante el concepto de motor de videojuegos, así como una breve historia de los motores que se han visto desde los inicios de la creación de videojuegos hasta nuestros días.
Dedicaremos un apartado a los motores actuales, y otro a los videojuegos que se sean desarrollado con estos motores. A continuación veremos las diferentes API gráficas empleadas según las plataformas y los componentes que incluye un motor de videojuegos. Por último, conoceremos los diferentes patrones y arquitecturas de programación que se utilizan en el sector.
Inteligencia artificial para videojuegos [pdf] [web]
J, Duch, H. Tejedor, S. Kanaan y G. Escudero - Universitat Oberta de Catalunya (2019), 112 páginas, licencia CC BY-NC-ND.
Un videojuego tiene que ofrecer retos al usuario. Para poder introducir estos retos en un videojuego son necesarias una serie de técnicas que se engloban dentro del estudio de la Inteligencia Artificial. Estas técnicas deciden cuáles son las mejores opciones que pueden tomar los elementos del videojuego (agentes) a partir de las condiciones del entorno que los rodea.
El texto presenta las diferentes técnicas desarrolladas en Inteligencia Artificial que permitirán al alumno crear las herramientas necesarias con qué ofrecer una buena experiencia de juego.
Jesús Alonso Alonso - Universitat Oberta de Catalunya (2011), 190 páginas, licencia CC BY-NC-ND.
En este texto trataremos los aspectos involucrados en la realización de videojuegos 3D. En primer lugar, veremos las diferencias existentes entre las versiones de juegos 2D y 3D, el concepto y las características de un game engine, así como un número considerable de ejemplos. Continuaremos con un nuevo apartado de física de mayor complejidad y veremos dos ejemplos de motores físicos. Posteriormente, trataremos el punto más denso, la programación gráfica, por lo que veremos las diferentes tecnologías ligadas al desarrollo de videojuegos de carácter profesional.
La tecnología que utilizaremos a tal efecto será Visual Studio como herramienta de desarrollo y las librerías GLUT y OpenGL.
La Universidad Castilla-La Mancha, como parte de su Curso de Experto en Desarrollo de Videojuegos, ofrece gratuitamente una colección de cuatro libros que se ha convertido en un referente internacional en la formación de desarrolladores de videojuegos. La colección está orientada a la capacitación de profesionales de la programación de videojuegos y tiene un público objetivo con un perfil principalmente técnico, no está orientada para un público de perfil artístico (modeladores, animadores, músicos, etc.). Se asume que el lector es capaz de desarrollar programas de nivel medio en C++ y tiene conocimientos de estructuras de datos y algoritmia.
Desarrollo de Videojuegos 1 - Arquitectura del Motor [pdf] [web]
David Vallejo y Cleto Martín - Universidad Castilla-La Mancha (septiembre 2015), 190 páginas, licencia CC BY-NC-ND.
Este libro introduce los conceptos básicos relativos a las estructuras y principios de diseño y desarrollo comúnmente empleados en la creación de videojuegos. Para ello, uno de los principales objetivos es proporcionar una visión general de la arquitectura general de un motor de juegos. Los ejemplos prácticos están implementados en C++ y Ogre3D. También se discute una gran variedad de patrones de diseño y la biblioteca STL.
Desarrollo de Videojuegos 2 - Programación Gráfica [pdf] [web]
C. González., J. Albusac, C. Mora y S. Sánchez - Universidad Castilla-La Mancha (septiembre 2015), 306 páginas, licencia CC BY-NC-ND.
Este libro cubre los aspectos esenciales relativos al desarrollo de un motor gráfico interactivo, discutiendo los fundamentos del desarrollo de la parte gráfica, como por ejemplo el pipeline gráfico, como elemento fundamental de la arquitectura de un motor de juegos, las bases matemáticas, las APIs de programación gráfica, el uso de materiales y texturas, la iluminación o los sistemas de partículas.
Desarrollo de Videojuegos 3 - Técnicas Avanzadas [pdf] [web]
D. Villa, S. Pérez, F. Moya, M. Redondo, J. López, F. Villanueva, C. Mora, M. García y J. González - Universidad Castilla-La Mancha (septiembre 2015), 372 páginas, licencia CC BY-NC-ND.
Este libro profundiza es aspectos de desarrollo más avanzados que permitan explorar soluciones más eficientes en el contexto del desarrollo de videojuegos. Introducen aspectos básicos de jugabilidad y se describen algunas metodologías de desarrollo de videojuegos. Por otra parte, se abordan aspectos avanzados del lenguaje de programación C++, como por ejemplo el estudio en profundidad de la biblioteca STL, y las optimizaciones. Finalmente, el libro ofrece contenido sobre representación avanzada, como los filtros de partículas o la programación de shaders, y un estudio en detalle de técnicas de optimización para escenarios interiores y exteriores.
Desarrollo de Videojuegos 4 - Desarrollo de Componentes [pdf] [web]
F. Jurado, J. Albusac, J. Castro, D. Vallejo, L. Jiménez, F. Villanueva, D. Villa, C. González, M. Palomo, G. Simmross y D. Frutos - Universidad Castilla-La Mancha (septiembre 2015), 320 páginas, licencia CC BY-NC-ND.
Este libro profundiza en técnicas específicas vinculadas al desarrollo de videojuegos, como por ejemplo el uso de técnicas de Inteligencia Artificial o la programación multijugador en red. Asimismo, también contempla aspectos relativos a la edición de audio, la gestión de vídeo y la importancia de la integración de nuevos dispositivos de interacción. En el contexto del desarrollo de videojuegos, técnicas como la visión por computador o la realidad aumentada pueden contribuir a mejorar la experiencia del jugador.
El Ministerio de Educación de Argentina ofrece publicaciones gratuitas de carácter docente y divulgativo, entre las que se encuentran los dos siguientes libros dedicados a temas de Física:
Física - Nivel Secundario para Adultos [pdf] [web]
Juan Carlos Muñoz - Ministerio de Educación, Ciencia y Tecnología de Argentina (1a edición, 2007), 152 páginas, distribución gratuita
En este libro se desarrollan diversos contenidos de Física, con ejercicios y actividades, a lo largo de cuatro unidades dedicadas a la naturaleza de la ciencia, la mecánica newtoniana, la energía y la Física actual.
Aquí se puede encontrar una edición actualizada del año 2015.
Mecánica básica. Fuerza y movimiento [pdf] [web]
Lorenzo Iparraguirre - Instituto Nacional de Educación Tecnológica de Argentina (1a ed, 2009), 247 páginas, distribución gratuita.
Este libro esencialmente presenta las ideas básicas de Mecánica adaptadas para el nivel medio de enseñanza. A lo largo de este texto de física estudiaremos y revisaremos las ideas fundamentales sobre el movimiento de los cuerpos, un tema que ha sido clave en el desarrollo de la ciencia. Es útil tener en cuenta que muchos de los conceptos que veremos en estas páginas, como los de vector, de trabajo, o de energía, fueron elaborados para resolver problemas, o explicar aspectos de movimientos, y son fundamentales en cualquier rama de la física actual.