Mi último post en el Nexo de Caminos trató sobre el WoW y sus innovaciones en ámbito PVP. Lamentablemente WOTLK, la última expansión que sacó Blizzard para el WoW, no ha tenido demasiado tirón (al menos para mi), por lo que he aprovechado para desengancharme y empezar la lenta recuperación.
Por todos es sábido que un clavo saca a otro clavo. Saltándome un par de ellos me dió por hacer un curso de programación de videojuegos en XNA y asi os lo voy a contar.
Antes de nada explicaros un poco que es esto del XNA. Pues es una interfaz de programación de aplicaciones(API) facilitada por Microsoft para el desarrollo de vidiojuegos para las plataformas XBOX360, Zune y PC. Va por la version 3.1( recién horneada) y la verdad es que es una herramienta intuitiva y fácil de usar para crear videojuegos sencillos. El lenguaje usado en XNA es el C# una variación relativamente reciente del mítico C/C++. Es muy comodo de usar y sobretodo tocar muchas cosas. He aqui una comunidad en español para los que estén interesados.
Vamos al lio. Tomé el curso básico y avanzado en XNA promocionado por la UPF cuyo professor es uno de los programadores de Novarama, empresa especializada en desarrollo de videojuegos para todo tipo de consolas. Nuestro professor, un auténtico crack de la programación, nos enseño la estructura básica de un videojuego y todo lo que hay que saber para programar un juego básico como podría ser un mario, warcraft2 etc. Es muy intereseante ver lo fácil que es realmente crear un videojuego bajo XNA ya que tienes todas las herramientas para cargar modelos facilmente, pintarlos en pantalla, hacer que se muevan y todo esto en poquitas líneas de código.
Algo más avanzado es la animación de modelos. Es increible la de cálculos que tiene que procesar la tarjeta gráfica solo para hacer correr un stormtrooper(como vemos abajo). Para ello tienes que tener conocimientos de geometría, calculo de matrices, interpolación de vertices y muchas cosas más. Al oir de estos temas lo que más te apetece, es hacer el avestruz y meter la cabeza bajo tierra, pero no temais! XNA viene con mil funciones(no exagero) que te facilitan la implementación de algoritmos y todo tipo de ideas que te puedan venir a la cabeza.
Vemos en el video el modelo pintado en pantalla. Cada pixel del modelo representa un vértice de la maya del modelo, con su posición y color de textura (simplificado). Si tuvieramos que encargarndos del movimiento de cada vértice, nos podríamos morir en el intento. Por eso lo que se hace es definir un esqueleto y hacer que todos los vertices se muevan en su función (podemos verlo en el video).
Una cosa genial de esto es que tambíen es muy fácil subir tu juego terminado al bazar de la Xbox360, para que lo compren y jueguen otras personas. Tendrás que inscribirte primero en XNAcreators (para más información aqui). Solo para que os hagais una idea. El primero en hacer una sopa de letras y subirla a la comunidad ganó con un juego tan sencillo ~60.000$ y otros con un juego de «masaje» que provoca vibración en tu mando o en el de otra persona ha hecho unos ~80.000$.Gente depravada xD!
En definitiva, tenemos aquí la herramienta perfecta que te puede catapultar hacía el sector de la programación de videojuegos. Te permite hacer muchísimas cosas, en jerga informática, puedes marranear código todo lo que quieras y lo bueno es que obtener resultados es rápido y vistoso.
Bajaos el Visual C# Express Edition , el XNA Game Studio 3.1 y animaos! ^^
Salu2!!!