¡Júntate con tus amigos y arma un equipo, diseña tu propio videojuego, libera tu creatividad, desarróllalo, y busca maneras de distribuir tu juego y comercializarlo!
En esta serie de libros se encuentra todo lo que necesitas para desarrollar un videojuego, desde la idea inicial a su realización.
Este libro en particular 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.
Este 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. Todo lo que necesitas es una computadora y los materiales incluidos en el proyecto ¡Hacete tu Videojuego!
Nota para los Padres y Educadores
El proyecto ¡Hacete tu Videojuego! fue pensado para que el estudiante pueda seguir el curso de forma autodidacta. Esta decisión ha sido tomada basada en el hecho de que no existe una formación establecida (educación formal) para el desarrollo de videojuegos, y entre las principales dificultades para su formalización se encuentra el hecho de que esta actividad es relativamente nueva, además de estar compuesta por diversas áreas como la programación, el arte, el diseño de juegos, el audio, etc.
Los videojuegos y los ejemplos de este libro, pueden ser una excelente opción para ser utilizados en clases curriculares. Por ejemplo, al hablar de temas como la velocidad, el movimiento, la gravedad de los planetas, etc. Es posible modificar los parámetros de los programas de ejemplo para ver aplicados los conceptos y fórmulas matemáticas detrás del funcionamiento de las cosas.
El libro toma un enfoque totalmente práctico, dado que un videojuego es algo totalmente visual y lo que programamos se ve reflejado en la pantalla. En lugar de enseñar los conceptos en forma abstracta y sin aplicación, el enfoque del libro es mostrar el código de los ejemplos y explicar sus conceptos, por lo cual cada concepto teórico se muestra aplicado en un ejemplo que el estudiante puede modificar a su gusto y realizar las pruebas que desee. Una vez entendido el concepto y apropiado el código, lo puedes aplicar en tu propio juego.
En el aula, los docentes pueden usar los ejemplos de videojuegos para enseñar conceptos en diferentes materias, como por ejemplo, matemática, física, astronomía, arte, informática, etc. Los ejemplos se pueden utilizar para crear videojuegos o simplemente demostraciones de conceptos de programación, conceptos matemáticos aplicados, ejemplos de física, etc.
Se agradece el apoyo de los docentes en facilitar este material a los estudiantes, realizar actividades en clase con ellos y fomentar su estudio y realización de trabajos prácticos, concursos, etc.
¿Porqué se Escribió este Libro?
Este libro viene a llenar un vacío existente, en el caso cuando una persona quiere aprender a programar videojuegos y no es un programador experimentado, que va desde el momento en que se aprende a programar hasta llegar a crear un videojuego de calidad comercial.
Enseñando desarrollo de videojuegos, cuando quería brindar material de lectura, he visto que no existe una bibliografía completa, fiable, y centralizada en el tema, que comience desde cero y que cubra todos los puntos claves de hacer un juego. Menos aún en el idioma español.
La inmensa mayoría de los libros de programación de juegos están vinculados a una plataforma o a un lenguaje de programación determinado, haciendo muy difícil su lectura. Cuando a los alumnos les he dado material de lectura, les he tenido que aclarar cosas como “en este libro lean esto, pero no miren el código porque no está sólido”, o “este libro explica bien el concepto, pero el código depende mucho de la plataforma”, o “en este libro el código está bien realizado, pero no se explican los conceptos en profundidad”, etc.
Esto hace que no sea sencillo el estudio cuando alguien falta a una clase o se ha quedado atrás por problemas de abstracción o de asimilación de los conceptos. Desde ese lugar es que me ha surgido la necesidad de contar con materiales de la calidad acorde al curso impartido, y por otra parte, no siendo un tema nada menor, en idioma español. Este es el libro que me hubiera gustado tener cuando empecé a estudiar cómo programar videojuegos.
Sobre el Libro
Este libro es el producto de la experiencia de muchos años en el dictado de clases sobre desarrollo de videojuegos (materias: Programación de Videojuegos, Producción y Game Design) y los ejemplos se encuentran basados en los materiales desarrollados para dichos cursos.
El autor, Fernando Sansberro, ha escrito este libro durante 2013 a 2021, y junto con sus materiales han sido publicado con licencia Creative Commons como parte del proyecto de formación denominado ¡Hacete tu Videojuego!, desarrollado por Batovi Games.
Se ha hecho público el libro bajo licencia Creative Commons (ver la página de licenciamiento al inicio del libro), lo que permite copiar y distribuir los materiales, con tal que se mantenga la atribución hacia el autor y que no sea utilizado con fines comerciales.
Descarga de los Materiales
El libro y los materiales son de libre distribución. El sitio para descargar el libro en formato PDF, el código de los ejemplos y los materiales es: www.fsansberro.com.
Si encuentras algún error, tienes alguna sugerencia para realizar o quieres hacernos llegar tus comentarios, por favor dirígete a la sección de contacto en el sitio web y envíanos tu mensaje.
Los materiales (los ejemplos de juegos y assets) que acompañan este libro han sido liberados bajo licencia Creative Commons (CC-BY-SA). Esto quiere decir que los materiales pueden adaptarse y/o ser usados para crear juegos comerciales.
¿Para Quién es este Libro?
Este libro está dirigido a cualquier persona que tenga ganas de desarrollar un videojuego y que cuente con algún tiempo libre para eso.
El libro y los materiales están basados en las experiencias que he tenido dando clases de desarrollo de videojuegos a gente con poco o ningún conocimiento previo de programación. Naturalmente que si se tienen conocimientos más profundos de programación, más rápido se llegará al nivel esperado, y por lo tanto mejores juegos se podrán hacer, aunque el ser mejor programador no siempre significa hacer un mejor juego. Cualquiera que aprenda programación puede llegar a realizar un excelente juego.
Este libro se encuentra orientado a adolescentes en etapa liceal y pre-universitaria, pero estos materiales han sido utilizados durante años en la carrera de desarrollo de videojuegos que imparto, tanto a jóvenes como a adultos. Cualquiera puede ser capaz de comenzar a desarrollar un videojuego desde un conocimiento de nivel cero.
¿Qué Nivel alcanza el Libro?
El libro cubre todos los aspectos fundamentales del desarrollo de videojuegos, y explica todos los conceptos sin asumir ningún conocimiento previo. Sin embargo, cada sección del libro explica estos conceptos en profundidad, siendo útil incluso para quien ya conozca del tema y desee formalizar los mismos.
Este quizás sea el desafío más grande que tiene el libro como objetivo, el servir tanto de guía a los principiantes como ser el libro de cabecera para los cursos de desarrollo de videojuegos que se impartan en el futuro.
Dicho esto, cualquier desarrollador, incluso con experiencia, puede beneficiarse de la lectura en profundidad de este libro. Habiendo trabajado en más de un centenar de juegos de diferentes géneros y plataformas como desarrollador, game designer y productor en Batovi Games, he visto innumerables aciertos y errores a nivel de equipo, proyectos y personas, y este libro plasma muchas de las experiencias adquiridas, motivo por el cual el libro le servirá tanto a los desarrolladores principiantes como a los desarrolladores más avanzados.
¿Por qué es tan Importante la Programación?
Este libro es básicamente sobre programación de videojuegos, aunque incluye algunos conceptos sobre diseño de videojuegos (game design) y producción, que son tres de los pilares fundamentales para realizar un videojuego (más el arte y el audio para nombrar a los otros pilares).
El libro se enfoca en la programación de videojuegos simplemente por el hecho de que es indispensable saber programar para hacer un juego. Un programador, por ejemplo, puede realizar un buen juego con un arte muy simple, pero generalmente es muy difícil que un artista pueda hacer un buen juego con una programación simple.
Alguien que tenga aspiraciones de ser artista para videojuegos, debe comprender el proceso de creación de un videojuego, y tener elementos de programación como los que se imparten en este libro, de forma tal que su arte pueda integrarse fácilmente en el juego, evitando problemas que son comunes, y entregando los materiales de arte en la forma en la que se esperan para poder ser integrados correctamente en el juego.
Requisitos para Comenzar
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.
En este libro se explica desde cero el uso de la biblioteca gráfica Pygame, que es el módulo que debemos utilizar para hacer juegos 2D con gráficos y sonido en lenguaje Python.
El libro está organizado en capítulos de forma tal de que en cada capítulo se cubre un tema específico, mientras se van aplicando los conceptos adquiridos en un videojuego (un juego tipo Space Invaders) que se va realizando desde los primeros pasos, cuando comenzamos a dibujar y mover objetos por la pantalla, hasta que tenemos un control total del motor del juego.
En el Apéndice A, se hace una introducción al lenguaje de programación Python. Si eres nuevo a la programación, o eres nuevo en este lenguaje, es necesario comenzar por este apéndice. Luego de leer sobre el funcionamiento de Python, para practicar la programación, debes poder escribir y ejecutar código en un editor. Debes consultar a un profesor de informática, a un desarrollador o a algún amigo para que te explique cómo escribir y ejecutar un programa si es que no puedes hacerlo luego de leer el Apéndice A.
Comments