19 febrero 2023

Introduction to Game Design, Prototyping, and Development: From Concept to Playable Game with Unity and C#

Introduction to Game Design, Prototyping, and Development: From Concept to Playable Game with Unity and C# de Jeremy Gibson Bond es un buen libro para iniciarse en el desarrollo de juegos. A diferencia de otros que se centran en cómo desarrollar en Unity, Bond pone en práctica su experiencia como profesor universitario adoptando un enfoque global que abarca tanto conceptos teóricos como prácticos y técnicos. Es cierto que su estructura ordenada y formal huele a libro de texto, pero este es de los buenos, de los que de verdad te aportan conocimientos que no se evaporarán cuando pasen un par de años y cinco versiones del engine de turno.

La primera parte del libro se centra en aspectos teóricos empezando a un gran nivel de abstracción y bajando poco a poco al detalle. De hecho comienza describiendo lo que se entiende por un juego y cuales son los elementos y la estructura que los caracterizan. Fíjate que he dicho juego, no juego de ordenador. Tan generales son los conceptos de esta parte, que el autor anima a ponerlos en práctica en una mesa con lápiz y papel. Se nota también que Bond es un gran fan de los juegos de mesa y rol, empezando por D&D, por las numerosas referencias a ellos y a sus mecánicas. El objetivo de esta parte es que el lector sea capaz de modelar el juego en su cabeza, centrándose en elaborar las mecánicas que lo hagan atractivo de jugar. En esta parte me ha resultado especialmente sugerente la estructuración por capas de los distintos tipos de juego que hay dentro de un mismo juego: está el juego que prentendían diseñar sus creadores al fijar sus reglas, el juego que surge en la mesa según  lo juegan los jugadores y finalmente el juego que surge cuando la gente lo hace suyo y empieza a modificarlo y a hacerlo evolucionar al margen de los creadores originales (cualquier aficionado a los mods disfrutará con esta formulación teórica).

La segunda parte se zambulle en el diseño de un juego. Partiendo de los conceptos teóricos se trata de dar forma a las piezas que conformarán el juego, primero con prototipos en papel jugados por sucesivos grupos de testers. Aquí me resultó muy interesante la parte en la que te enseña las formas sutiles que tienen los juegos para guiar al jugador hacia donde quiere el diseñador. En esta parte hay sitio incluso para un breve baño de Agile y Scrum. 

Creo que estas dos primeras partes serán las que más gusten a los que ya tengan cierta experiencia con Unity.

La tercera parte se encarga de llevar los prototipos en papel a prototipos técnicos, más cercanos a la forma final del juego. Aquí es donde empieza con los conceptos básicos de Unity. Empieza desde cero, incluso desde cómo ordenar el layout de paneles del editor de Unity y luego va avanzando por la programación en C# para Unity. Los que ya sepan de C# y hayan hecho sus pinitos de Unity probablemente pasen rápido las hojas de esta parte, aunque no recomiendo saltárselas del todo porque hay algunos trucos interesantes. Yo mismo he aprendido un par de cosillas a pesar de tener ya bastante experiencia programando tanto en otros lenguajes, como en C# para Unity.

La cuarta parte se centra en desarrollar una serie de prototipos que cubren algunos de los tipos básicos de juegos. Son como minitutoriales, cubriendo cada uno de ellos un tipo diferente de juegos. Los que estén empezando con Unity encontrarán aquí una excelente manera de soltarse aprendiendo además buenas prácticas.

Se trata por tanto de un libro muy completo, bien estructurado y tremendamente didáctico, con un montón de enlaces y referencias a otros libros con los que continuar al terminar este. Lo recomiendo tanto a los que ya sepan de Unity y quieran empezar con el diseño de juegos, como a aquellos que estén empezando y quieran coger confianza con Unity empezando desde cero.