3 sept 2006

03/09/06: Project Nostalgia

Diario de Guerra de Alejandro González, Alias "WaaghMan". Anotación nº 168:

Tras un examen un poco más en profundidad del XNA, he visto que sí que trae algunas cosas nuevas interesantes para los programadores de juegos, por ejemplo un pequeño sistema de colisiones mediante bounding boxes. Pero, a su vez, he visto que portar el motor Swift iba a resultar más complejo de lo que en un principio creía. Entre otras cosas, muchas de las funcionalidades que proporciona ya no son tan necesarias, por ejemplo el manejo de teclado y ratón es algo más sencillo en XNA, y otras clases de ayuda como el TextureCollection vienen ahora implementadas de serie.

Pero la mayor dificultad es que no veo ninguna forma de, a partir de una textura ya cargada en memoria, poder averiguar su tamaño en pixels: Se puede averiguar usando un método que la comprueba para un archivo, pero no para cuando ya está cargada. La clase Sprite se basaba en este dato para algunos procesos de relativa importancia.

Realmente, no es un obstáculo impasable, pero fue la gota que colmó el vaso. Ojo, no estoy diciendo que XNA sea una mierda ni nada parecido, simplemente que han cambiado mucho algunas cosas y dado que el Swift era, en según que casos, un simple wrapper, ahora no encaja muy bien con el nuevo enfoque.

Así pues, en mi opinión el mejor plan de actuación para portar el swift sería probar primero a hacer un juego en XNA, buscar qué partes necesitan mejorarse y hacer un motor para controlarlas. Pero en estos momentos no me apetece nada el ponerme a trastear con él, lo que yo quiero hacer ahora es un JUEGO, con todas sus letras. Y por ahí irán los tiros.

De nuevo bajando el listón, esta vez voy a por algo aún más simple que la vez anterior. El nombre del juego será Project Nostalgia, y simplemente será... pues un Pong multijugador.

Así de sencillo. Ni archivos en XML ni editores ni perfiles ni leches. Simplemente un Pong al que se pueda jugar en LAN, uno contra uno.

Y de ahí ir subiendo, claro. Tengo ya varias ideas que le darían un toque interesante y mejorarían la jugabilidad un buen trecho, pero lo primero es lo primero: Hacer un Pong multijugador.

Seguiré usando la versión del Swift con la que se desarrolló el Blast Zone, ya que como ya he dicho no me apetece en este momento practicar en XNA, y no nos olvidemos que no por ello va a funcionar más despacio, ni en menos sitios: En ambos casos necesita las DirectX 9 administradas, y no creo que el juego se distribuya para la Xbox 360 :).

A ver si se logra algo... para variar.

No hay comentarios: