10.07.2015 Views

[ebook]Programacion de videojuegos con SDL

[ebook]Programacion de videojuegos con SDL

[ebook]Programacion de videojuegos con SDL

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

P R O G R A M A C I Ó N D E V I D E O J U E G O S C O N S D LIntroducciónLa imaginación es el motor <strong>de</strong> la creatividad, y la creatividad elmotor <strong>de</strong> la inteligencia.Muchas son las personas que opinan que la programación <strong>de</strong> or<strong>de</strong>nadores esuna ciencia, otros lo ven como una ingeniería, sin embargo, algunos preferimosverla como un arte. Si tienes este libro entre tus manos, es porque te interesala programación y también los vi<strong>de</strong>ojuegos. Si es así, enhorabuena, porqueestás a punto <strong>de</strong> entrar en un mundo realmente fascinante. La programación <strong>de</strong>vi<strong>de</strong>ojuegos es muy diferente a la programación tradicional, requiere <strong>de</strong> una grancreatividad, pero también <strong>de</strong> una gran curiosidad y ganas <strong>de</strong> <strong>de</strong>scubrir y, por que no,inventar cosas nuevas. De hecho, cuando creamos un vi<strong>de</strong>ojuego, estamos creando unmundo nuevo, <strong>con</strong> su propio aspecto y sus propias leyes. En ese sentido el programadores como un dios <strong>de</strong>ntro <strong>de</strong> ese mundo. La mayoría <strong>de</strong> las personas que se <strong>de</strong>dican a laprogramación se han planteado en algún momento el hacer un juego, y sin embargo sonpocos los programadores que se <strong>de</strong>ci<strong>de</strong>n a hacerlo. ¿Hace falta algún don especial parahacer vi<strong>de</strong>ojuegos? Probablemente no, pero hay muy buenos escritores <strong>de</strong> novelas queno son capaces <strong>de</strong> escribir poesía, y viceversa. En programación parece ocurrir lo mismo,hay programadores especialmente dotados para la programación <strong>de</strong> gestión y otros se<strong>de</strong>senvuelven mejor <strong>con</strong> una programación más cercana a la máquina.Supondré que el lector ya posee <strong>con</strong>ocimientos <strong>de</strong> programación, y más<strong>con</strong>cretamente <strong>de</strong>l lenguaje C. En el transcurso <strong>de</strong>l libro, vamos a introducir las técnicasbásicas utilizadas en la creación <strong>de</strong> vi<strong>de</strong>ojuegos <strong>de</strong> forma práctica y a través <strong>de</strong> ejemplos,incluyendo el <strong>de</strong>sarrollo <strong>de</strong> un juego completo. Vamos a utilizar para ello una libreríamultiplataforma llamada <strong>SDL</strong> (Simple Directmedia Layer) que nos va a permitir quenuestros juegos sean portables entre Windows, Linux, Macintosh, BeOs y otros. Tambiénvamos a introducir ciertas características <strong>de</strong> la programación orientada a objetos (POO)que nos ofrece C++, pero no <strong>de</strong>be preocuparse el lector <strong>de</strong>s<strong>con</strong>ocedor <strong>de</strong> la POO,porque <strong>de</strong>dicamos un apéndice completo para familiarizarnos <strong>con</strong> los elementos quevamos a usar <strong>de</strong> dicho lenguaje. La programación orientada a objetos es hoy necesaria ala hora <strong>de</strong> <strong>con</strong>seguir juegos <strong>de</strong> calidad profesional, por ello, introduciremos ciertosaspectos <strong>de</strong> este paradigma <strong>de</strong> programación.Respecto a al grafismo utilizado en el juego <strong>de</strong> ejemplo que <strong>de</strong>sarrollaremos durante ellibro, he utilizado la librería <strong>de</strong> sprites GPL <strong>de</strong> Ari Feldman (http://www.arifeldman.com/),al cual agra<strong>de</strong>zco, y animo a seguir ampliando.Antes <strong>de</strong> acabar, quiero hacer una aclaración. Este no es un libro sobre programacióny uso <strong>de</strong> <strong>SDL</strong>. Es un libro sobre programación <strong>de</strong> vi<strong>de</strong>ojuegos, por lo tanto, no esperesuna exhaustiva referencia sobre <strong>SDL</strong>. Iremos <strong>de</strong>scubriendo los diferentes aspectos <strong>de</strong>esta librería según los necesitemos en nuestro camino a la creación <strong>de</strong> un vi<strong>de</strong>ojuego, espor ello que habrá elementos <strong>de</strong> la librería que no formarán parte <strong>de</strong> los temas cubiertospor este libro.Quiero, finalmente, <strong>de</strong>jar patente el objetivo que siempre he perseguido mientrasescribía el presente texto: Mantener las cosas simples, sin entrar en tecnicismosinnecesarios que distraigan al programador menos formal <strong>de</strong>l objetivo final, que es dotarle<strong>de</strong> las herramientas necesarias para expresar toda su creatividad en forma <strong>de</strong>vi<strong>de</strong>ojuego. No me cabe duda que hay cientos o miles <strong>de</strong> potenciales buenosprogramadores <strong>de</strong> juegos que, aún teniendo los <strong>con</strong>ocimientos <strong>de</strong> programaciónnecesarios, no han podido acce<strong>de</strong>r a una información clara y carente <strong>de</strong> formalismos más4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!