28 de noviembre de 2006

Actionscript: "recordsTable", creamos nuestra clase para tablas de records (V)

Bien, vamos a ahora a definir el fichero XML que vamos a generar en el servidor para que nuestra clase en actionscript lo lea.

En principio vamos a utilizar la siguiente estructura:






Aquí en este enlace he puesto un fichero XML de muestra para los records diarios.

(continuará)

27 de noviembre de 2006

Seguridad: Ajax como fuente de problemas

Me acabo de leer un artículo muy interesante en la revista virtual (IN)Secure magazine sobre un par de procedimientos de seguridad básicos de AJAX.

Los dos procedimientos de los que hablan consisten básicamente en crear una "huella dactilar" del navegador del usuario para almacenar toda su actividad identificándolo y evitando a su vez los ataques automatizados básicos. Por otra parte explican como configurar tu servidor Apache o tu servidor Microsoft para procesar esa "huella dactilar" y para impedir un ataque XSS utilizando javascript malicioso.

Os recomiendo que lo leais, está muy interesante y son procedimientos muy fáciles de aplicar, aunque en el caso de los servidores Microsoft hace falta tener acceso como administrador del servidor.

Ah, para que luego no digan, conocí la revista a través de hispamp3.com.

26 de noviembre de 2006

Personal: Un par de pequeños cambios en mi web

Bueno, pues por fin he hecho algún pequeño cambio en la parte pública de mi web.

He añadido un botón que enlaza con este blog y he diseñado una animación de unas florecillas que aparecerán cada vez que el reloj del usuario esté entre las xx:50 y las xx:59, y naturalmente de 6 de la mañana a 6 de la tarde.

Conforme saque algún rato más iré haciendo más animaciones que salgan según cual sea la hora del día o bien que salgan aleatoriamente.

PSP: Corrupción en Miami - El videojuego

O más bien debería llamarlo como hacen en los créditos de juego, Corrupción en Miami, el juego interactivo XD.

Nos encontramos ante un juego desarrollado por la británica Rebellion (Rogue Troopers, Bond: From Russia with Love, etc...) publicado para la portatil de Sony. El videojuego está basado en la película del mismo nombre y adapta el argumento de la misma.

Corrupción en Miami es un arcade típico y tópico en el que tendremos que ir matando fase tras fase a todos los narcotraficantes que se nos crucen por delante. Para ello dispondremos de un arsenal del que podremos elegir dos armas a utilizar. Durante el desarrollo de las fases podremos recoger droga y una memoria flash.

Entre fase y fase podremos vender la droga a los traficantes, podremos piratear la memoria flash que hemos recogido con un curioso minijuego, podremos mejorar nuestro armamento o nuestro vestuario y podremos comprar información a nuestro soplón oficial; Freddie Luiz.

Los gráficos están bien trabajados y aunque no son para tirar cohetes tienen un buen nivel. La cámara es muy buena, se situa detrás de nuestro personaje por defecto y se va adaptando a los avatares del juego sin molestar casi en ningún momento. Los movimientos de los personajes están muy conseguidos, se ha hecho un buen trabajo en la captura de movimientos.

En cuanto a la música es bastante monótona y no me convence mucho. Las voces de los personajes están en castellano, lo cual se agradece, aunque la variedad de los improperios que nos dedican los enemigos es muy limitada (siempre dicen la misma chorrada: disparas como una p...).

El juego es algo monótono pero entretiene, te echarás unas cuantas horas con él, aunque no es lo más de la jugabilidad no llega a aburrir. No he podido probar el modo cooperativo con ningún amigo, pero tiene buena pinta.

Como puntos a criticar, pues en primer lugar la falta de variedad, el juego es muy monótono aunque de vez en cuando las fases en lancha motora rompen esa monotonía. En segundo lugar la inteligencia artificial de los enemigos es mínima, por lo que el juego es demasiado fácil (me lo he pasado entero y sólo me han matado dos veces). Y por último criticar que en ningún momento aparecen enemigos finales, por lo que sólo matamos a pringaillos, y eso aburre.

En conclusión un juego profesional, con buen acabado pero que no pasará a la historia.

Valoración: 6/10

Aquí os pongo el trailer oficial del juego, y no, el juego no es tan bueno como lo pinta el trailer.

25 de noviembre de 2006

Actionscript: "recordsTable", creamos nuestra clase para tablas de records (IV)

A continuación vamos a crear en primer lugar un proyecto para desarrollar nuestra clase que constará del fichero del proyecto: RecordsTable.flp, un fichero FLA para invocar la clase y hacer pruebas 1.fla y por último el fichero donde desarrollaremos la clase: RecordsTable.as.

Lo que haremos será codificar el esqueleto de la clase con sus métodos y sus propiedades, y a su vez desde el fichero FLA instanciaremos la clase para crear un objeto.

En este enlace os dejo el proyecto en la fase de desarrollo actual para que lo descarguéis. Una vez lo hayáis descargado y hayáis abierto todos los ficheros continuad leyendo abajo.

Ficheros:

1.swf: En este fichero tenemos el proyecto compilado. Nos muestra en pantalla la información del método about().

RecordsTable.as: En este fichero tenemos el código fuente de la clase RecordsTable, en él podremos ver que he codificado el esqueleto de la clase, es decir, he declarado las propiedades públicas y una serie de variables privadas y he creado los métodos de la clase pero sin ningún contenido todavía. Comentaros al respecto que about ya no es una propiedad, ahora es un método, aunque su función es la misma.

1.fla: En este fichero instanciamos la clase y ejecutamos el método about mostrando el resultado en la pantalla. Para ello en el primer frame instanciamos la clase, en el segundo invocamos el método about mostrando el resultado en un objeto de texto de Flash, en el tercer frame tan sólo hacemos un goto al frame nº2 de la película.

(continuará)

23 de noviembre de 2006

Actionscript: "recordsTable", creamos nuestra clase para tablas de records (III)

Bueno, ya tenemos decidida la tecnología. Ahora nos toca pensar un buen rato y decidir qué métodos y propiedades tendrá esta clase.

¿Qué por qué vamos a programar estas funcionalidades con POO? Pues porque las clases son muy reutilizables, fácilmente escalables y es muy sencillo adaptar el funcionamiento de un juego a ellas. Y así además evito que el Picu me diga cada 5 minutos: “Tienes que pasarte a la POO, la programación con funciones está anticuada…” :)

Bien, en una primera aproximación yo crearía los siguientes métodos:
1.- loadRecordsTotal: Para cargar el xml con la tabla de records total.
2.- loadRecordsDaily: Para cargar el xml con la tabla de records diaria.
3.- sendRecord: Para enviar un record individual al servidor.
4.- showRecordsTotal: Para enviar los records totales en un array a una llamada desde Flash.
5.- showRecordsDaily: Para enviar los records diarios en un array a una llamada desde Flash.

Cómo propiedades pondría las siguientes:
1.- nRecords: Nº de records permitidos en la tabla.
2.- serverUrl: Url de los scripts alojados en el servidor para generar y leer los XML.
3.- gameServer: Url del servidor donde está alojado el juego, por defecto esta propiedad no tiene valor, pero si la tiene obliga a la clase a funcionar sí y sólo si el juego está alojado en esta url.
4.- about: Esta propiedad muestra la versión de la clase, mi nombre y mi email como autor (aunque la clase va a ser de libre distribución, que la use quien quiera :).

Conforme el desarrollo avance tendremos que ir modificando estas propiedades y estos métodos, seguro.

(continuará)

21 de noviembre de 2006

Actionscript: "recordsTable", creamos nuestra clase para tablas de records (II)

¿Qué tecnología necesitamos para ello?

Bueno, en el lado del cliente está claro, como es una clase para juegos en Flash es obvio que la clase la programaremos en Actionscript 2.0.

En el lado del servidor usaremos un lenguaje de script de servidor (php, asp.net, etc…) que es el que tiene acceso a las bases de datos tanto para leer datos como para actualizarlos.

Y para comunicar –como es obvio- nuestro juego en Flash con los scripts alojados en el servidor utilizaremos el protocolo https. ¿Por qué he elegido este protocolo en vez del protocolo http? Pues por motivos de seguridad, más adelante lo explicaré con más detalle.

Tenemos por lo tanto una aplicación Flash que se comunica a través del protocolo https con una aplicación programada en PHP, p.ej. ¿Y en qué idioma hablan entre ellos? Muy fácil, en XML.

En principio no voy a dedicar en esta serie de posts ninguno a explicar que es el XML o como programar un script en el servidor. Si alguien está interesado que me envíe algún email o deje algún comentario y en cuanto pueda entonces lo explicaré.

Por lo tanto, nuestra aplicación Flash va a enviar y recibir ficheros XML desde y hacia el servidor web donde un script conectado a la base de datos irá leyendo y escribiendo de la base de datos donde se almacenan los records.

(continuará)

20 de noviembre de 2006

Actionscript: "recordsTable", creamos nuestra clase para tablas de records (I)

Mientras desarrollo mi clase de escenarios he decidido a hacerme una clase para gestionar tablas de records en juegos Flash.

Para ello lo primero es plantearse los objetivos concretos de la misma. Uno de los principales alicientes que tienen los videojuegos en cualquier época es el afán de superación tanto a uno mismo como a otros jugadores. La herramienta principal para canalizar ese afán (con el consiguiente aumento del número de visitas de nuestro juego) es la tabla de records. Pero estamos en los tiempos de Internet, así que nuestra tabla de records debe de ser global, independiente de las webs donde simultáneamente este alojado nuestro juego (aunque ello suponga que corramos con el coste del tráfico).

Lo que necesitamos por lo tanto es una tabla de records actualizada las 24 horas del día a nivel mundial. Esta tabla podrá ser de varios tipos: diaria, mensual, anual o total. Por ahora para nuestra clase sólo veo necesaria la diaria y la anual, así que nos quedaremos con estos dos tipos.

Bien, pues tenemos que crear una clase que debe servirnos para tener una tabla de records diaria y otra anual completamente actualizadas.

(continuará)

19 de noviembre de 2006

Webs: Konami abre una tienda online para España

Por ahora le faltan productos frikis, pero paciencia, todo se andará... :)

Aquí pongo el link: http://www.konamistyle-europe.com/es/

17 de noviembre de 2006

MS-DOS: Monkey Island

O The Secret of Monkey Island, uno de los mejores juegos de todos los tiempos.

Fue lanzado en 1990 con gráficos EGA (16 colores en pantalla) y era el 5º juego de este tipo de la casa Lucas Arts (tras Maniac Mansion, Zak McKracken, Indiana Jones y la Última Cruzada y Loom). Posteriormente fue convertido a VGA 256 colores y más tarde a CD-ROM.

El juego fue dirigido por Ron Gilbert y creado por el propio Ron Gilbert junto a Steve Purcell, Tim Schafer y Dave Grossman.

Es una aventura gráfica en la que tendremos que ayudar a nuestro personaje, Guybrush Threepwood, a convertirse en un verdadero pirata, y ya de paso conquistar a la gobernadora Marley y derrotar al malvado Le Chuck. Y eso sí, por el camino nos partiremos de risa.

A continuación os pongo un vídeo del juego donde lo comento con mi voz de treintañero constipado. También os pongo unas capturas.

Valoración: 9/10






16 de noviembre de 2006

Guild Wars: Nightfalls, un pequeño trailer

Acaba de ser lanzado el Guild Wars: Nightfalls.

Otro nuevo juego/expansión de la serie. En cuanto me termine el Guild Wars:Factions voy a comprarlo. Tengo ganas de darme un garbeo por esa especie de mundo hindú en el que parece que está ambientado.

Mi novia también es una gran fan de la saga, pero siempre se las apaña para tener más nivel que yo :P, si es que eso del macho ibérico está cada día más de capa caída XD

Aquí os pongo un trailer del YouTube, a ver si otro día encuentro otro que me guste más. Atentos a la música genial que tiene.

Guild Wars: Factions, unos pantallazos de hoy

Menuda maldición tengo con este juego. Hay una misión cooperativa donde tengo que matar a 4 espíritus místicos: un dragón, una tortuga, un unicornio y un ave fénix y cada vez que estoy a punto de pasarla por causas ajenas al juego no puedo.

Y el caso es que la puñetera misión lleva más de 2 horas... En fin, otra vez será :)

Aquí os pongo unas pantallas de mi partida de hoy:




12 de noviembre de 2006

ZX Spectrum: Saboteur

En el año 1985 la casa inglesa Durell sacó al mercado un juego desarrollado por Clive Townsend: Saboteur. Es un juego de infiltración en el cual tendremos que intruducirnos en una base supersecreta para robar unos datos, poner una bomba y larganos con el helicóptero por la azotea.

Para impedírnoslo nos enfrentaremos a unos guardias de seguridad, a unos perros con muy mala leche y a unas cámaras de vigilancia con láser incorporado.

Para acceder a determinadas zonas tendremos que utilizar unos pequeños paneles de control para abrir y cerrar puertas. Dependiendo del nivel que elijamos tendremos que abrir y cerrar más puertas.

Hay un tiempo limitado para conseguir los datos, si nos pasamos estamos muertos. Dependiendo del nivel de dificultad que elijamos la cosa será sencilla o se complicará al límite.

A nivel gráfico el juego es bastante bueno, aunque algo monocromático. Los movimientos de los personajes son geniales, aunque el control no es todo lo suave que debería. El tamaño de los sprites es enorme y se mueven con rapidez por toda la pantalla. A nivel sonoro el juego utiliza bien el ruido blanco -dadas las limitaciones de sonido del ZX Spectrum-.

Es además un juego muy divertido y te picarás horas y horas para hacértelo cada vez con un nivel más difícil.

Valoración: 9/10

Os pongo aquí como siempre mi vídeo jugando:

8 de noviembre de 2006

Actionscript: Una pequeña clase para tener un reloj en pantalla

Esta mañana he tenido que desarrollar un pequeño reloj en Flash que os pongo aquí abajo:




Lo he hecho con una clase de Actionscript 2.0. La verdad es que salvo el PM y el AM el resto de los métodos ya vienen con la clase Date de Actionscript, pero he pensado que era mejor hacerme una clase propia para poder ir añadiéndole más métodos y propiedades en el futuro.

Aquí teneis el código fuente para quien lo quiera consultar: Descargar.

7 de noviembre de 2006

MS-DOS: Civilization

Civilization es sin duda el mejor juego de la historia para MSDOS.

Fue diseñado y dirigido por Sid Meier y publicado por Microprose para PC en el año 1991. Tuvo un éxito tan inmenso que fue convertido a muchas otras plataformas (Microsoft Windows, Macintosh, Atari ST, Linux, Amiga y Super Nintendo) y ha tenido numerosas continuaciones, la última de ellas Civilization IV (el juego que me tuvo enganchado a mi PC estas navidades).

El juego consiste en dirigir a una civilización a lo largo de la historia en conflicto (o convivencia) con otras civilizaciones. Se puede ganar eliminando a todas las civilizaciones rivales (controladas por la IA del juego) o bien enviando una nave a Alpha Centauri antes del año 2100.

La mecanica del juego se basa en un sistema de turnos. En cada turno podemos tomar una serie de decisiones científicas (investigar una tecnología u otra), militares (atacar y mover tropas), fiscales (gestionar los impuestos o aumentar la riqueza en manos de los ciudadanos) y de gestión de ciudades (construir edificios o maravillas) entre otras muchas. Como podeis ver las posibilidades del juego son amplísimas.

A nivel gráfico y sonoro el juego es bastante parco, pero no es malo. La genialidad de este juego está por un lado en su insuperable originalidad y en la jugabilidad de la que dota Sid Meier a todos los juegos que toca. Todos los elementos del juego están medidos al máximo, desde el árbol de tecnologías hasta cada uno de los tipos de tropa para que la experiencia de juego sea siempre divertida y con enganche.

Como únicos defectos negativos destacar los curiosos resultados de algunas batallas (p.ej. una unidad de falange derrotando a una de tanques) y que la dficultad del juego se basa siempre en darle ventajas de producción a la IA.

En definitiva, un juego increíble e inolvidable.

Aquí os pongo unas capturas y un vídeo (ambos de mi cosecha):





YouTube: Grand Theft Mario

Si has jugado a algún Grand Theft Auto y has jugado a algún Mario te va a encantar, te partirás de risa. Eso sí, no es para niños.

5 de noviembre de 2006

Webs: Equilibrio Estética

La esteticien de mi novia ha sacado su página web.

Mi novia ha hecho gran parte del trabajo (el soporte técnico se lo he dado yo).

Es una página de las del tipo "presencia web", algo así como una tarjeta de visita pero en la web.

El contenido es muy completo y te da una imagen muy real de su negocio. Marisa (la esteticien) es muy buena en su profesión y la verdad es que si me preocupase en algo mi aspecto me pondría en sus manos -no veas como le deja la piel a mi novia-.

La página está hecha en XHTML básico sin nada de javascript (salvo algún pequeño popup) y sin partes dinámicas.

Ahora mismo quedan algunas cosillas menores por pulir (temas de SEO sobre todo). En cuanto estén listas os contaré lo poco que sé de como optimizar una página web para buscadores, aunque bueno, para ser sinceros no es mi especialidad -aunque me defiendo mejor que muchos presuntos especialistas-.

Ahh, aquí va el enlace: Equilibrio Estética

Actionscript: ¿Cómo hago para documentar una clase?

Estoy desarrollando una clase en Actionscript 2.0 para generar escenarios para juegos.

La voy programando en mis ratos libres y espero poder publicarla muy pronto. Ya os iré contando por aquí cosas de ella. Por ahora os puedo adelantar que será open source.

Una de las cuestiones a las que me enfrento ahora mismo es a la documentación de la clase. Cuando desarrollas en Java es muy sencillo porque tienes la instrucción de javadoc que te ayuda a hacer un manual como Dios manda, en PHP yo utilizo phpDocumentor (un día os hablaré de él) que consigue unos resultados muy similares a javadoc, pero en Actionscript no he encontrado nada por ahora.

Así que me va a tocar lo siguiente:
a) Seguir buscando a ver si alguien ha hecho alguna utilidad para ayudar en la documentación.
b) Ver si el propio Macromedia Flash trae algo para documentar clases.
c) Hacer la documentación a mano.
d) Programar alguna utilidad sencilla que analice los ficheros .as y genere los ficheros de documentación de clases.

Por ahora me centraré en la opción a y en la b a ver si encuentro algo.

Cualquier ayuda será bienvenida :)

Blogger: La nueva interface está en castellano

Pues me he encontrado con que tengo todo el gestor de posts en castellano, aunque sin corrector ortográfico como en la versión inglesa.

Pues es una buena noticia, aunque sin corrector ortográfico la verdad es que lo mismo me da tenerlo en inglés que en castellano.

En fin, menos mal que Firefox 2.0 trae corrector ortográfico de casa :), tendré que instalarlo también en el ordenador de mi novia -desde allí estoy enviando este post-.

4 de noviembre de 2006

ZX Spectrum: Hyper Sports

Hyper Sports fue lanzado en los salones arcade por Konami en el año 1984. Es la segunda parte de un juego deportivo llamado "Track'n Field".

Ambos juegos fueron todo un exitazo en los salones recreativos y en los bares de la época por lo que Imagine realizó su conversión para ZX Spectrum en el año 85. El encargado de realizarla fue Jonathan 'Joffa' Smith, autor de otras joyas como Cobra, Green Beret o Hysteria.

El juego consiste en superar una serie de pruebas deportivas: natación, tiro al plato, salto de potro, tiro con arco, triple salto y levantamiento de peso. Para superarlas tendremos que combinar nuestra velocidad pulsando alternativamente las teclas de dirección y nuestra precisión a la hora de pulsar la tecla de disparo. Hay pruebas más físicas (la natación o el levantamiento de peso) pero otras mucho más técnicas (tiro con arco o tiro al plato).

Los gráficos del juego son bastante buenos y coloristas. El sonido -sólo hay para 48K- se sale, es de una calidad impresionante.

El juego es muy divertido, te puedes tirar perfectamente horas picándote contra ti mismo o contra algún amigo. Aunque es muy fácil hacérselo en la primera vuelta el secreto de la diversión no está en llegar al final, si no en ir superándote vuelta tras vuelta.

En definitiva, una gran conversión.

Valoración: 9/10

Aquí os pongo el vídeo:

1 de noviembre de 2006

MS-DOS: Mi top 10 de juegos

Después de pensar un buen rato he hecho una lista con los juegos que más me gustan de MSDOS.

Aquí os pongo el listado del TOP 10, como siempre muchos no estarán de acuerdo conmigo, pero este es mi top 10 de juegos favoritos de MS-DOS.

En las proximas semanas iré comentándolos y si me es posible también pondré vídeos propios :)

Ah, mi top 10:

1.- Civilization
2.- The Secret of Monkey Island
3.- Dune 2
4.- Doom
5.- Warcraft 2
6.- Alone in the Dark
7.- Another World
8.- Lemmings
9.- The Eye of the Beholder 2
10.- Prince of Persia