{"id":126,"date":"2015-01-11T20:49:54","date_gmt":"2015-01-11T20:49:54","guid":{"rendered":"https:\/\/santiagomarquezsolis.com\/?p=126"},"modified":"2024-05-30T21:03:24","modified_gmt":"2024-05-30T21:03:24","slug":"programacion-de-juegos-en-python-parte-1","status":"publish","type":"post","link":"https:\/\/santiagomarquezsolis.com\/index.php\/2015\/01\/11\/programacion-de-juegos-en-python-parte-1\/","title":{"rendered":"Programaci\u00f3n de Juegos en Python. Parte 1."},"content":{"rendered":"<p>Pues que mejor que para reestrenar mi nueva web, comenzar con uno de los temas que m\u00e1s me gustan, que es la programaci\u00f3n de juegos, y hacerlo de la mano de un lenguaje, que si bien es famoso en el mundo de la IA, quiz\u00e1s no lo sea tanto en desarrollo de juegos. Y eso que a lo largo de los a\u00f1os, han ido apareciendo librer\u00edas que han facilitado, y mucho, su programaci\u00f3n. Una de estas librer\u00edas es Pygame, que fue lanzada a principios del presente siglo\u00a0y que ha sido una de las herramientas m\u00e1s populares y accesibles para los desarrolladores de juegos indie y principiantes en el desarrollo de videojuegos. Pygame se construye sobre la biblioteca SDL (Simple DirectMedia Layer), lo que le permite manejar gr\u00e1ficos, sonido y entradas de usuario de manera eficiente.<\/p>\n<h2>Caracter\u00edsticas Principales<\/h2>\n<ol>\n<li><strong>Facilidad de Uso<\/strong>: Pygame est\u00e1 dise\u00f1ado para ser f\u00e1cil de usar, lo que lo hace ideal para principiantes. Su sintaxis es simple y clara, siguiendo los principios de Python de legibilidad y simplicidad.<\/li>\n<li><strong>Compatibilidad Multiplataforma<\/strong>: Pygame es compatible con varios sistemas operativos, incluidos Windows, macOS y Linux, lo que permite a los desarrolladores crear juegos que se puedan ejecutar en m\u00faltiples plataformas sin cambios significativos en el c\u00f3digo.<\/li>\n<li><strong>Soporte para Gr\u00e1ficos 2D<\/strong>: Pygame proporciona una variedad de funciones para manejar gr\u00e1ficos 2D, lo que facilita la creaci\u00f3n y manipulaci\u00f3n de sprites, fondos y otros elementos visuales.<\/li>\n<li><strong>Gesti\u00f3n de Sonido<\/strong>: La biblioteca permite la integraci\u00f3n de efectos de sonido y m\u00fasica, soportando varios formatos de audio.<\/li>\n<li><strong>Entrada de Usuario<\/strong>: Pygame maneja la entrada de usuario a trav\u00e9s de teclado, rat\u00f3n y joysticks, proporcionando eventos y m\u00e9todos para gestionar las interacciones del jugador.<\/li>\n<\/ol>\n<h2>Instalaci\u00f3n de Pygame<\/h2>\n<p>La instalaci\u00f3n de Pygame es sencilla y se puede realizar mediante el gestor de paquetes pip. En la terminal o l\u00ednea de comandos, simplemente ejecuta:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-129 aligncenter\" src=\"https:\/\/santiagomarquezsolis.com\/wp-content\/uploads\/2015\/01\/pygamegames1.png\" alt=\"\" width=\"891\" height=\"44\" srcset=\"https:\/\/santiagomarquezsolis.com\/wp-content\/uploads\/2015\/01\/pygamegames1.png 891w, https:\/\/santiagomarquezsolis.com\/wp-content\/uploads\/2015\/01\/pygamegames1-300x15.png 300w, https:\/\/santiagomarquezsolis.com\/wp-content\/uploads\/2015\/01\/pygamegames1-768x38.png 768w\" sizes=\"auto, (max-width: 891px) 100vw, 891px\" \/><\/p>\n<p>Este comando descargar\u00e1 e instalar\u00e1 la \u00faltima versi\u00f3n de Pygame y sus dependencias.<\/p>\n<h2>Primeros Pasos con Pygame<\/h2>\n<p>A continuaci\u00f3n, se presenta un ejemplo b\u00e1sico de c\u00f3mo iniciar un proyecto con Pygame. Este script inicializa la biblioteca, crea una ventana y muestra un fondo de color.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-131 aligncenter\" src=\"https:\/\/santiagomarquezsolis.com\/wp-content\/uploads\/2015\/01\/pygamegames2.png\" alt=\"\" width=\"885\" height=\"886\" srcset=\"https:\/\/santiagomarquezsolis.com\/wp-content\/uploads\/2015\/01\/pygamegames2.png 885w, https:\/\/santiagomarquezsolis.com\/wp-content\/uploads\/2015\/01\/pygamegames2-300x300.png 300w, https:\/\/santiagomarquezsolis.com\/wp-content\/uploads\/2015\/01\/pygamegames2-150x150.png 150w, https:\/\/santiagomarquezsolis.com\/wp-content\/uploads\/2015\/01\/pygamegames2-768x769.png 768w, https:\/\/santiagomarquezsolis.com\/wp-content\/uploads\/2015\/01\/pygamegames2-800x800.png 800w\" sizes=\"auto, (max-width: 885px) 100vw, 885px\" \/><\/p>\n<p>Este ejemplo configura una ventana de 800&#215;600 p\u00edxeles con un fondo negro y un bucle principal que mantiene la ventana abierta hasta que el usuario la cierra.<\/p>\n<h2>Recursos y Comunidad<\/h2>\n<p>Pygame cuenta con una comunidad activa y una amplia gama de recursos para aprender y mejorar en el desarrollo de juegos. El sitio web oficial de Pygame (<a href=\"https:\/\/www.pygame.org\/\" target=\"_new\" rel=\"noreferrer noopener\">https:\/\/www.pygame.org\/<\/a>) ofrece documentaci\u00f3n, tutoriales y enlaces a proyectos de ejemplo. Adem\u00e1s, hay numerosos foros y grupos de discusi\u00f3n donde los desarrolladores pueden compartir sus experiencias y obtener ayuda.<\/p>\n<p>Pygame es una excelente herramienta para quienes desean iniciarse en el desarrollo de videojuegos. Su simplicidad, junto con la potencia de Python, permite a los desarrolladores crear juegos complejos y divertidos con relativa facilidad. Ya sea que est\u00e9s comenzando en el mundo de la programaci\u00f3n o que seas un desarrollador experimentado, Pygame ofrece las herramientas necesarias para dar vida a tus ideas de juegos.<\/p>\n<p>En pr\u00f3ximas entregas veremos como hacer nuestros primeros juegos, comenzando con el famoso Tres en Raya o TicTacToe.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pues que mejor que para reestrenar mi nueva web, comenzar con uno de los temas que m\u00e1s me gustan, que es la programaci\u00f3n de juegos, y hacerlo de la mano de un lenguaje, que si bien es famoso en el mundo de la IA, quiz\u00e1s no lo sea tanto en desarrollo de juegos. Y eso [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":127,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,53,52],"tags":[],"class_list":["post-126","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-games","category-python"],"jetpack_featured_media_url":"https:\/\/santiagomarquezsolis.com\/wp-content\/uploads\/2024\/05\/pygame.png","_links":{"self":[{"href":"https:\/\/santiagomarquezsolis.com\/index.php\/wp-json\/wp\/v2\/posts\/126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/santiagomarquezsolis.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/santiagomarquezsolis.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/santiagomarquezsolis.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/santiagomarquezsolis.com\/index.php\/wp-json\/wp\/v2\/comments?post=126"}],"version-history":[{"count":3,"href":"https:\/\/santiagomarquezsolis.com\/index.php\/wp-json\/wp\/v2\/posts\/126\/revisions"}],"predecessor-version":[{"id":132,"href":"https:\/\/santiagomarquezsolis.com\/index.php\/wp-json\/wp\/v2\/posts\/126\/revisions\/132"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/santiagomarquezsolis.com\/index.php\/wp-json\/wp\/v2\/media\/127"}],"wp:attachment":[{"href":"https:\/\/santiagomarquezsolis.com\/index.php\/wp-json\/wp\/v2\/media?parent=126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/santiagomarquezsolis.com\/index.php\/wp-json\/wp\/v2\/categories?post=126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/santiagomarquezsolis.com\/index.php\/wp-json\/wp\/v2\/tags?post=126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}