@ agnasg

Mi biblioteca de programador

15-09-2005 10:03 PM

  • Amazing 3D Games. Lary L. Myers fue tal vez uno de los pioneros en desarrollar un “engine” del tipo Wolfentein (el juego de ID Software predecesor de Doom). Todavía su sistema ACK anda en los baúles del olvido en algún servidor ftp. Tan cercano como 1995 el Coriolis Group publicó su libro que describe con toda la profundidad imaginable como desarrollar un juego usando este sistema. Es un libro de cabecera para cualquier aprendíz.

  • Black Art of 3D Game Programming. El libro de LaMothe está más orientado para juegos diseñados para DOS, pero contiene los conceptos básicos que todo programador debe conocer.

  • DirectX Inside y The Awesome Power of DirectX. Los libros de Bargen & Donnelly y Peter Kovach respectivamente son ideales para manipular con exito el API Direct X. Yo no tengo libros sobre Opengl, no tanto porque esta es una especificación inadecuada para desarrollar juegos 3D, sino porque las veces que necesité documentación la encontré en el Web.

  • Black Book Graphics Programming (Special Edition) de Michael Abrash describe suscintamente en 1300 páginas todo lo que hay que saber para desarrollar juegos del tipo Quake, y con un indice de 100 páginas! La mayoría del material resulta inútil pues está dedicado a conceptos de programación para DOS (VGA y cosas por el estilo) pero los capítulos dedicados a quake son memorables. Michael Abrash ahora está trabajando en la xBox de Microsoft.

  • Game Developer’s Marketplace de Ben Sawyer, Alex Dunne y Tom Berg. Hey!, deja de hacer preguntas de lamer en alt.games.programming y aprende todo lo que hay que saber sobre la comercialización de juegos. A menos que pertenezcas a un grupo de la euroscene, todo tu trabajo es para que obtengas un beneficio económico. Este libró explica cómo.

  • Game Design, secrets of the sages, de Marc Saltzman, es una excelente elección en cuanto a diseño de juegos. Tiene entrevistas a luminarias del octavo arte (desarrollo de juegos) tales como Gabe Newell (Half-Life), Matthew Toschlog (Descent), Sid Meier (Civilization, Railroad Tycoon, como si fuera necesario decirlo), Peter Molyneux (Populous, Dungeon Keeper), entre otros. Cada uno de ellos expresa desinteresadamente sus opiniones sobre el trauma de diseñar juegos, con recomendaciones sobre lo que hay que hacer y lo que debemos evitar para tener éxito. Este libro es indispensable para cualquiera que tome en serio el diseño y desarrollo de juegos de computadora.

  • Game Architecture and Design, de Andrew Rollings y Dave Morris, es una exploración completa y total sobre el tema (parece un libro de james Joyce, donde la visión es ecléctica). Como es usual, qué es gameplay, por qué es importante un diseño datallado y qué hace que un juego sea divertido ocupan algo asi como las primeras 100 páginas del libro. Es dificil evaluar un libro como este en una primera pasada. Quizás sea necesario leerlo y releerlo varias veces para llegar a una conclusión acertada sobre en qué medida es o no es valioso. No hay duda que es un libro que me va a tener ocupado algu
    nas semanas. Y esto es uno de los requisitos necesarios para que sea un libro altamente recomendable. Si tuviera que organizar estos libros en una lista quizás Game Architecture and Design ocuparía los primeros puestos por su caracter enciclopédico. Por cierto, los review en Amazon dan 4 estrellas y media a este libro, muy merecidas por cierto.

  • Casi por casualidad adquirí el libro editado por Mark DeLoura Game Programming Gems, publicado en agosto de 2000. Un vistazo al indice deja mudo a cualquier programador serio: Quaternions for Game Programming, Designing a General Robust AI Engine, A finite State Machine Class, A* for path finding,3D Collision detection, Keyframe animation, Real time shadow, etc, etc, etc. Uno de esos libros difíciles de abandonar, y tal como dice el autor, para un programador de juegos no hay un recurso único y definitivo que consultar a la hora de programar un algoritmo para el cual ni siquiera tenemos idea de como comenzar. Pues este libro está escrito con la finalidad de ser esa primera fuente de inspiración.

  • The C++ Programming Languaje de Bjarne Stroustrup, es la piedra angular de mi biblioteca, pues, siendo como soy un programador tiempo completo del lenguaje C++, cómo voy a prescindir del libro fundamental del lenguaje (Stroustrup es el creador de C++). El nivel de detalle que adopta el libro es el adecuado para un programador experto, aunque a veces no funciona como una buena referencia pues su organización no facilita la búsqueda de un tópico. En particular, es dificil conseguir información general, como por ejemplo, qué es más eficiente, un map de estructuras, o una estructura con varios maps.

  • The C++ Standard Library: a Tutorial and Reference de Nicolai Josuttis, es un excelente libro para un programador que quiera acercarse a las entrañas de C++. Con profusión de ejemplos, es ideal como libro para encontrar la rápidamente la forma de resolver un problema específico. Véase un excelente review en C/C++ Users Journal, pág. 40, marzo de 2.001.

  • Exceptional C++ de Herb Sutter, presenta 47 complicados problemas y su solución en C++. También está lleno de pequeños consejos para optimizar el código. Por ejemplo, en la construcción for (…;…;i++) {…} es más eficiente escribir ++i que i++ pues en esta última el compilador va aguardar innecesariamente el valor de i para incrementarlo posteriormente. Lo siguiente no aparece en este libro, pero lo acabo de recordar por asociación (recuerdan La cantante calva?): ¿es la siguiente construcción válida: k = i+++++j;?

    Todos estos libros están disponibles en Amazon