Mostrando las entradas con la etiqueta General. Mostrar todas las entradas
Mostrando las entradas con la etiqueta General. Mostrar todas las entradas

sábado, diciembre 15, 2007

XNA Game Studio 2.0 .... sin express

Buenas a todos,

mucho ha llovido desde la ultima vez que actualice el blog, hace mas de dos semanas. En primer lugar, no podia dejar pasar por alto que el XNA Team ha lanzado finalmente la version 2.0 del XNA Game Studio, que en esta version ha perdido la coletilla de express. Se han incluido en esta versión una gran cantidad de mejoras respecto a la versión 1.0, la cual tiene un año ya de antiguedad aunque nos parezca que fue ayer mismo cuando fue liberada. En este enlace aparecen los nuevos cambios en esta versión, aunque nada mejor que empezar a picar código para ver que es distinto frente a la antigua versión:

http://blogs.msdn.com/xna/archive/2007/08/13/announcing-xna-game-studio-2-0.aspx

Yo la acabo de instalar ahora mismo, y de momento la plantilla parece muy similar a la anterior.

Por otro lado, Microsoft ha incluido un asistente para la actualización de proyectos realizados con la version antigua, la 1.0. Me he tomado la molestia de actualizar mis proyectos antiguos, y de paso ir tomando algunas capturas del proceso, el cual es bastante sencillo. Es importante remarcar que aunque el entorno de desarrollo ha sido actualizado, no ha pasado lo mismo con el XNA Framework, que todavia esta en versión 1.0 pero que sera actualizado en un breve espacio de tiempo.

Actualización de un proyecto XNA Game Studio Express 1.0 a XNA Game Studio 2.0

En primer lugar es necesario descargar los binarios de instalación del asistente, el cual una vez instalado se integra en el XNA Game Studio 2.0. La descarga se encuentra en la pagina de XNA Creators Club, aunque lo podéis descargar directamente desde este enlace:

http://creators.xna.com/gamestudio2/UpgradeWizardSetup.msi



Una vez descargado e instalado el asistente necesario abrir el IDE XNA Game Studio 2.0. Cuando termine de arrancar, nos vamos al menu "File" y nos vamos a la opción "New Project"


Dentro del cuadro de dialogo de creación de un nuevo proyecto le damos a la opcion "Project Upgrade Wizard (2.0)


Pinchamos en OK y nos aparece el asistente, el cual simplemente nos pide localizar el proyecto antiguo.


Pinchamos en "upgrade" y simplemente nos queda esperar a que el asistente termine de convertir nuestro proyecto. Si todo ha salido correctamente, nos aparecera una pantalla indicando que el proyecto se ha actualizado correctamente, y nos avisara de los cambios que tengamos que hacer, en el caso de que no lo haya podido convertir al completo. En mi caso, con unos proyectos muy sencillos (el del arquero y las flechas de los post pasados) unicamente me indica que tendre que cambiar algunas cosas en el proyecto cuando finalmente sea lanzada la ultima versión del XNA Framework.



Para mas información acerca del asistente de actualización, como por ejemplo para ver que actualiza y que limitaciones tiene, podeis visitar este enlace de la pagina del XNA Creators Club:

http://creators.xna.com/GameStudio2/ProjectUpgradeWizardForXNAGameStudio2.htm


Cambiando un poco de tema, a dia de hoy doy por concluida la encuesta que puse en la web hace un par de semanas, acerca de que tipo de juego queriais que utilizase para los nuevos tutoriales. Finalmente, por pocos votos, ha salido ganadora la opcion de un juego de coches, por lo que empezare a pensar que elementos va a tener este nuevo juego (¿o tendria que decir mejor demo?) para que aprendamos todos algo mas de XNA. Estos son los resultados de la encuesta:


Estos ultimos dias, he tenido la oportunidad de charlar un rato con algunos lectores del blog. De estas conversaciones he sacado en claro que estaria bastante bien tener un foro donde vosotros, los lectores del blog pudierais comunicarnos, ya que he sido consciente como varios lectores del blog estan trabajando de forma individual en proyectos muy interantes, y de similares caracteristicas (MMORPG's), y estoy convencido de que un foro seria un buen punto de encuentro para poder encontrar colaboradores e ideas nuevas. Por esta razón, de aqui a final de año, levantare un foro asociado al blog, aunque todavia estoy pensando si en un sitio de foros gratuitos o registrar un dominio & hosting y montar ahi el blog y el foro, todo dependera de como ande de tiempo libre.

Y para terminar, y fruto tambien de las charlas que he mantenido con un lector del blog, he decidido crear un articulo acerca de como controlar el tiempo, los fotogramas por segundo y la velocidad de ejecución de un juego. Espero tenerlo listo para los proximos dias, aunque para los que dominan el ingles, deciros que me voy a basar en un magnifico articulo que trata este tema de un tal Shawn Hargreaves, que se puede encontrar en este enlace (Ingles):

http://blogs.msdn.com/shawnhar/archive/2007/07/25/understanding-gametime.aspx

Y de momento poco mas que contaros por hoy, simplemente animaros a instalar la ultima versión de XNA Game Studio ya que todo el contenido a partir de hoy sera generado con esta versión, y asi podreis evitar problemas de compatibilidad al intentar seguir los ejemplos.

Un saludo y feliz navidad!!

sábado, noviembre 24, 2007

Petición de ideas

Buenas de nuevo,

tal y como tenía programado, durante estos ultimos dias he vuelto a ponerme al día en C# haciendo algunos pequeños proyectos.

El problema ahora es que no tengo muy claro con que tipo de juego empezar los nuevos tutoriales, ya que el juego del guerrero esta un poco quemado, y me apetece comenzar con algo distinto. Actualmente tengo varias ideas en mente, aunque ninguna de forma clara. Por esta razon he diseñado una pequeña encuesta para que seais vosotros, los seguidores de este blog, los que decidais con que tipo de juego quereis (¿deberia decir queremos ;-) ) aprender mas acerca de XNA.

Las opciones de la encuesta no estan cerradas, asi que si a alguien se le ocurre alguna idea mejor la puede proponer usando los comentarios del post. Eso si, una de las cosas importantes es que en principio sea 2D, ya que el tema 3D todavia no lo domino, y sobre todo que existan animacionse gratuitas en la red para crear los sprites, ya que esto ultimo es lo que me ha parado de intentar hacer muchas cosas, porque no hay mucho material creado en 2D, con buenas animaciones, o por lo menos yo no lo he encontrado.

Basicamente, mi fuente principal de material grafico es la pagina http://reinerstileset.4players.de/
de hecho los tutoriales del guerrero estaban hechos con material sacado de esa pagina. Si alguien conoce alguna pagina con contenido similar, le agradeceria mucho que la pusiera en un comentario.

En defintiva, aqui teneis la encuesta. Para el fin de semana que viene aproximadamente, y siempre que tenga un numero de votos decente, la cerraré.




























Un saludo a todos

sábado, noviembre 17, 2007

Vuelta a los ruedos de XNA

Saludos de nuevo!!

Ha pasado ya aproximadamente un año desde que deje de actualizar este blog. Durante este tiempo he podido comprobar como el blog no ha perdido fuelle, es mas ha mantenido el mismo nivel de actividad que tenia antes de que dejase de actualizarlo.

Actualmente no dispongo todavía del suficiente tiempo para volver a actualizar el blog al mismo ritmo que hacia antes, pero estoy volviendo a ponerme al día acerca de los cambios que han ido apareciendo en el mundo de XNA durante este tiempo de ausencia.

Antes de comenzar a crear contenido, si es que finalmente me vuelvo a animar, voy a necesitar un tiempo para volver a pillar el hilo, ya que me he dado cuenta de que estoy totalmente desactualizado, y lo que conseguí aprender hace ya un año se me ha olvidado casi por completo.

Quería agradecer también el apoyo que me habéis dado durante todo este tiempo mediante comentarios en el blog y a través del correo, de hecho es una de las cosas que me ha animado a volver a ponerme con este tema, ya que ademas me he dado cuenta de que sigue sin haber casi contenido en Español, y la gente entra en el blog con muchas esperanzas de encontrar buenos contenidos y horas y horas de lectura y al final lo único que se encuentra es un blog con contenido obsoleto (beta 2 de XNA) y abandonado.

Como todavía no tengo contenido relacionado con XNA, lo único que puedo ofrecer es una grafica donde se muestran las estadísticas del blog, con las visitas en el ultimo año y el video del ultimo tutorial que hice, pero ahora en formato youtube, ya que voy a utilizar mi cuenta para subir todos los videos que vaya poniendo, ya que las descargas de los videos de fraps daba muchos problemas, sobre todo de codecs.

Un saludo a todos!


ESTADISTICAS DEL ULTIMO AÑO

VIDEO DEL TUTORIAL 3 DEL PROYECTO DEL GUERRERO



sábado, noviembre 25, 2006

Comentarios y cambios

Buenas a todos,

en primer lugar he arreglado el vídeo, ya que muchos de vosotros me habéis reportado que no erais capaces de verlo. El problema era que estaba hecho con Fraps, que tiene su propia calificación.

Aunque he cambiado el formato, y ya se puede descargar bien desde el anterior post, o AQUI, os animo a que os descarguéis el programa Fraps. Este programa muestra el numero de Frames por segundo al que esta corriendo una aplicación, y yo lo uso siempre mientras estoy haciendo cosas en XNA para que siempre vea si el juego esta corriendo a un numero de frames decente.

Este programa lo podéis descargar desde su pagina oficial:

Por otro lado, he recibido otro comentario acerca de la visualizacion de las lineas comentadas en los tutoriales. No había caído en la cuenta de que estoy trabajando con un monitor bastante grande y yo veo los comentarios bien, pero si trabajais con una revolución mas o menos estándar como puede ser 1024x768 estos comentarios se salen de la pantalla, obligando a tener que usar todo el rato el scroll horizontal. Intentare hacerlo para que os sea mas cómodo.
Además, también hacia referencia a que era complejo para gente que empieza con esto el seguir los tutoriales, ya que eran un tanto complejos. Por esta razón, intentare ir haciendo dos ramas de tutoriales, una un poco de teoría y conceptos de programación, y otra la actual con proyectos un poco mas complejos. Necesitare algún tiempo para ver como hago esos tutoriales básicos, ya que yo también he empezado con programación orientada a objetos hace relativamente poco y me cuesta poder explicar como funciona todo esto de una forma que sea entendible para todos.
Además, creo que voy a poner en marcha una iniciativa que tenia pensada hace tiempo, y es la de hacer videotutoriales estilo los que hacen en xnatutorial.com , y me han comentado que podría usar un software llamado Camtasia, de nuevo le echare una pensada a ver como los hago, además de tenerme que comprar un micro que se entienda bien.
De momento voy a añadir mas cosas al proyecto del guerrero, con vistas a sacar un tutorial 3 en menos de una semana.
Un saludo a todos!

lunes, noviembre 20, 2006

De vueltas con la beta 2 de XNA

Por fin se acabaron mis problemas, este fin de semana he decidido retornar mi PC a su estado natural y he desinstalado Windows Vista. Es una lastima, porque me estaba empezando a gustar, pero el no poder ejecutar XNA en condiciones me ha hecho tomar la decisión de volver a mi antiguo sistema operativo.


En lo que respecta a XNA, ayer mismo me puse de nuevo a picar código. Estuve primero acostumbrándome a los cambios en la plantilla de juego de PC, y finalmente estuve escribiendo un tutorial. Actualmente me encuentro comentando el código del tutorial, ya que esta va a ser mi forma de trabajar a partir de ahora, es decir, poco código en el blog, y mas comentarios en los fuentes que voy a ir publicando.


Para realizar este tutorial he utilizado unos sprites creados por un tal Reiner. Dentro de su web podemos encontrar una gran cantidad de sprites para nuestros juegos, y además realizando multitud de animaciones. Para este tutorial he utilizado una guerrera con hacha, con 8 frames para cada una de las 8 direcciones que he utilizado. Además, he utilizado únicamente la animación de andar, aunque tiene muchas mas, y que usare cuando vaya avanzando en el tutorial.


Su web es:


http://reinerstileset.4players.de/


Como todavía no he terminado de comentar el código, voy a publicar el ejecutable para que le vayáis echando un vistazo. Espero que mañana pueda colgar en el blog los fuentes comentados, y escribir un post explicando el código.

En resumen, el tutorial consta de un guerrero, el cual tiene 8 direcciones de movimiento. Este movimiento se controla con los cursores del teclado, y además, esta programado para que en el caso de detenerse se quede correctamente orientado y en una postura fija. El sprite tiene en total 64 posiciones, 8 por cada una de las 8 direcciones.


Una captura del tutorial:




Ver en grande...



Un detalle importante que se me olvidaba, para poder ejecutar el binario es necesario tener instalado por lo menos el XNA Framework. Esta descarga son aproximadamente 2 Mb, y se puede obtener aqui:
Mañana nos vemos !!!

domingo, octubre 22, 2006

Regalo por unos dias sin actualizaciones

Como esta semana que entra voy a estar fuera de Madrid, concretamente en Viena(Austria), y no voy a poder escribir mucho en el blog, he pensado en dejaros un pequeño juego que estoy haciendo. Es simplemente una prueba de concepto, por lo que no esta ni mucho menos terminado, y el código no esta totalmente ordenado, pero os puede ser interesante para que veáis como funcionan algunas cosas con XNA.

El juego es una versión moderna del antiguo Gozilla, que venia incluido con el QBASIC en MSDOS y algunas versiones tempranas de Windows.

Aquí os dejo algunas capturas para que lo veáis antes de descargarlo, para que veáis si os puede interesar.


Ver en grande...




Ver en grande...

La descargar del codigo fuente con todos los objetos necesarios para ejecutarlo se encuentra en este enlace: DESCARGAR FUENTES


Para comenzar el juego hay que pulsar Intro o botón derecho del ratón. Después, para parar la flecha de selección del ángulo de disparo hay que usar el espacio, y finalmente, para detener la barra de potencia hay que usar la tecla "f". Como ya he dicho antes, es simplemente una prueba de concepto, así que no os desilusionéis si el mono de la derecha os parece invencible.
Lo dicho, para el viernes de la semana que viene estaré de nuevo de vuelta, y preparado para meter algún contenido que tengo pensado. Entre otras cosas, tengo la intención de escribir un articulo para explicar el código por defecto de una plantilla de "XNA game", escribir también acerca del control del tiempo de ejecución del bucle, y también empezare a escribir algunos fragmentos de código sencillos que tengo pensados, para empezar a entrar en materia.

Un saludo a todos.

martes, octubre 17, 2006

Tren con destino XNA... próxima parada.... C#

Resulta emocionante instalar todo el software descrito en el post anterior y que de repente te aparezca en los programas instalados un tal "XNA Game Studio Express". Con ese nombre, parece como si al abrirlo, nos fuese a aparecer una herramienta súper intuitiva que nos permitiese construir nuestros propios juegos casi sin despeinarnos. Nada mas lejos de la realidad...., una vez que abrimos XNA GSE, nos damos cuenta que es exactamente igual al Visual Studio C# 2005 Express Edition, salvo por algunos cambios que veremos luego. Es decir, lo que nos encontramos es un entorno de desarrollo para el lenguaje C#, pero con algunas sutiles diferencias. Básicamente, la principal diferencia de este IDE, por lo menos ahora que esta en versión beta, son las plantillas para la creación de nuevos proyectos. Dentro de estas plantillas vamos a encontrar dos que están relacionadas con el desarrollo de juegos.












Para simplificar, empezaremos hablando de la primera plantilla "Windows Game(XNA)". Esta plantilla, si la seleccionamos, nos creara un nuevo proyecto de desarrollo en el cual vamos a disponer de una parte del código ya escrito. Este código, no es ni más ni menos que los cimientos sobre los que levantar un juego basado en XNA. De hecho, y para empezar a investigar, podemos crear un nuevo proyecto usando esta plantilla, y pulsar F5, para ejecutar el proyecto, y veremos el resultado en pantalla del código escrito. Básicamente nos encontraremos una pantalla de juego, vacía....





Es labor nuestra ahora, el ser creativos, y ver de que podemos llenar esa pantalla... En los próximos post de este blog veremos como ir incluyendo algunos elementos dentro de nuestro proyecto de juego, y como modificar su comportamiento, y a la vez iremos aprendiendo el lenguaje de programación que nos va a permitir ir levantando nuestro proyecto, sobre estos cimientos que acabamos de colocar. Recordaros que este lenguaje es C#, con el cual estoy haciendo yo también mis primeros pinitos, por lo que no os asustéis que esta dentro de mucho no vamos a empezar con código realmente complejo.

Es requisito indispensable, si realmente queremos hacer algo con XNA el conocer C#, o por lo menos, como es mi caso, conocer el mínimo de C# como para poder pegarme un poco con XNA. En mi caso, y espero que a vosotros os ayude también, empecé leyéndome una guía muy completa de un tal José Antonio González, y la cual podéis encontrar en esta página: GUIA, cada uno puede aprender C# como le venga mejor, pero en mi caso, lo que he ido haciendo, para que se haga mas ameno, es ir intentando leer código de proyectos XNA de las distintas paginas que hay en Internet, sobre todo las de la pagina de XNArecursos, que tiene código con comentarios en español, y a la vez, usando la guía de C# de José Antonio de referencia. Esta guía de C#, en mi opinión, es demasiado teórica, y los ejemplos, suelen ser complejos de comprender, por lo menos para mi, por lo que os recomiendo que si os parece muy compleja empecéis por los miles de recursos que existen acerca de C# en internet, como por ejemplo este otro curso.

En resumen, si no conoces nada acerca de programar, es mejor empezar adquiriendo un poco de conocimiento sobre como hacerlo, ya que si no este blog te podrá parecer demasiado complicado. Si ya conoces algo de programación, en otro lenguaje que no sea C#, o que no sea un lenguaje de programación orientado a objetos, como lo es C#, utiliza las guias que he comentado anteriormente para poder seguir el blog. Y si finalmente, ya conoces C# y dominas la programación orientada a objetos, estarás en disposición de empezar a aprender XNA, aunque tal vez en ese caso, este blog te parezca demasiado sencillo.

lunes, octubre 16, 2006

Preguntas mas frecuentes

Antes de entrar en materia, es importante resolver algunas de las dudas mas frecuentes que se puede hacer una persona que se haya encontrado con el termino XNA mientras buscaba información acerca de programación de juegos.

¿Que es XNA y para que sirve?

- Originalmente, XNA se definió como una filosofía de desarrollo para la creación de juegos.
- Esta filosofía, que adelanto para decir que ha sido creada por Microsoft, estaba definida por varios puntos. En primer lugar, permitiría desarrollar juegos de una forma mas sencilla a lo que los desarrolladores estaban acostumbrados, tanto para los desarrolladores profesionales como los que no lo son.
- Por otro lado, se decia que gracias a XNA, se podrían desarrollar juegos multiplataforma, para PC y Xbox, realizando muy pocos cambios. (Nota: cuando apareció XNA se pensaba que cuando se hacia referencia a Xbox se trataba de la primera versión de la consola. A día de hoy XNA, de momento, esta orientado a la consola Xbox 360).
- Prácticamente desde Agosto del 2006, esta filosofía de desarrollo se ha plasmado en algo tangible, que es con lo que vamos a trabajar en este blog. Microsoft liberó en esas fechas el XNA framework y Game Studio Express (versión beta de momento).
- Gracias a estos dos elementos, vamos a disponer de unas herramientas totalmente orientadas al desarrollo de juegos. Con estas herramientas, vamos a poder realizar ese juego que siempre habíamos soñado hacer, pero que nunca habíamos sabido como atajarlo.

- Analicemos en detalle cada uno de los dos componentes:

- XNA Framework:

- Un framework, para los iniciados, no es ni más ni menos que una biblioteca de código. Gracias a esta biblioteca, podemos sentarnos delante de un entorno de desarrollo, y ordenar al ordenador que realice instrucciones avanzadas de una forma sencilla. Es decir, una biblioteca de codigo(Framework), lo que contiene es, una colección de trozos de código, desarrollado por programadores expertos, y documentación acerca de como utilizar esos trozos de código de una forma simple.
- Por poner un ejemplo, imaginar que estamos desarrollando un juego, como por ejemplo el clásico pong, en el cual una pelota viaja de un extremo a otro de la pantalla chocando con las "raquetas" de los jugadores (entrecomillo raquetas ya que en la versión mas básica del pong, son simples rectángulos puestos en vertical). Bien, si no utilizásemos un framework como el de XNA, tendríamos que desarrollar una gran cantidad de código, con complejos cálculos matemáticos, para determinar en que momento la pelota, en su viaje para alguno de los lados, choca contra una de las raquetas. Pues bien, por ejemplo, con el XNA framework, vamos a disponer de esos cálculos ya realizados, y simplemente tendremos que acceder a ellos utilizando unas pocas instrucciones de código, las necesarias para invocar el trozo de código de la biblioteca que gestiona la colisión entre, en este caso concreto, un objeto de forma esférica con un objeto de forma rectangular.

- Game Studio Express (Beta):

- Uno de los productos con más éxito de Microsoft ha sido Visual Studio. Este producto no es ni mas ni menos que lo que se denomina un IDE (Integrated Development Enviroment, vamos, entorno de desarrollo integrado para los amigos). Un IDE es un producto desde el cual vamos a desarrollar las aplicaciones o juegos, para luego compilarlas y publicarlas. (Nota: ¿compilarlas?.....: Compilar es el proceso de convertir el código que hemos escrito en un lenguaje en concreto a código entendible por la maquina). Pues bien, en el caso que nos ocupa, Microsoft lo que ha hecho es crear una versión de Visual Studio, basada en la ultima versión de este producto, pero preparada para el desarrollo de videojuegos utilizando XNA, y eso no es todo, lo mejor es que este IDE es totalmente !!!GRATIS!!!. Gracias a este IDE, cualquier persona, va a poder, por lo menos, intentar crear sus propios juegos, y tal y como hemos explicado antes, este IDE tiene acceso directo al framework de XNA, por lo que vamos a poder desarrollar nuestros juegos usando la biblioteca de código de XNA (recuerda que framework = biblioteca de código) sin mucho esfuerzo.


Espero que con este post hayáis podido comprender que es y para que sirve esta tecnología. En post posteriores explicare como preparar nuestra maquina para empezar a trabajar con GSE (Game Studio Express) y XNA, he intentare explicar otras preguntas frecuentes....

El primer contacto....

Este blog nace con el ánimo de compartir mis experiencias y conocimientos acerca de XNA con todas las personas que estén interesadas en interesarse en este mundillo.

El autor de este blog, no es ningún programador experto, ni es un entendido en el mundo del C#, DirectX y XNA, de hecho, se podría decir que es un iniciado.

Mi experiencia como programador es bastante básica, habiendo tocado un poco de muchos lenguajes, pero nunca profundizando en ninguno de ellos. De hecho, actualmente es cuando estoy dando el salto de mis conocimientos en programación estructurada a programación orientada a objetos.

Por estas razones, el contenido de este blog estará orientada a las personas que, como yo, se encuentran en el punto cero, es decir, les sobran ganas de aprender, disponen de las herramientas necesarias para empezar, pero se encuentran perdidos entre tanta y tanta información que hay dispersa por la red.

En definitiva, si eres totalmente novato, tienes problemas para pegarte con la documentación en ingles y no sabes por donde empezar, este es tu sitio...