El género de juegos Tower defense o TD es bastante conocido, pero aún así, voy a explicar por encima en qué consiste.

En este tipo de juegos de estrategia, el objetivo, es eliminar a las unidades enemigas antes de que consigan cruzar el mapa; para lograrlo, se construyen torres que atacan a los enemigos al pasar. A medida que vas destruyendo enemigos, se consigue dinero con el que se pueden construir más torres o mejorarlas.

Probablemente todos hemos jugado, desde el propio navegador, a un juego flash de este tipo; ya que existen infinidad de ellos.

A continuación aparecen los juegos flash de este género que considero que son dignos de mención:

Flash Element Tower Defense 1 y 2


Flash Element Tower DefenseFlash Element Tower Defense 2









Estos dos primeros juegos que voy a mencionar son bastante simples, ideales para aprender si nunca antes has probado a este tipo de juegos.

El primero no tiene gran cosa y los gráficos dejan bastante que desear, pero Flash Element Tower Defense 2 mejora en lo que a gráficos se refiere, presenta una mayor variedad de torres, puedes elegir entre tres mapas distintos y las torres suben de nivel a medida que se eliminan enemigos.

Además tiene una peculiaridad que solo está presente en este juego: los enemigos cuando llegan al final del recorrido, no desaparecen y te quitan una vida como suele suceder, sino que te roban unas monedas de colores que hay al final del camino e intenta volver por donde han venido llevándose la moneda.



When Penguins Attack – TD


Penguins Attack


Puede parecer un poco sádico en un principio matar pingüinos sin más motivo que porque quieren cruzar la pantalla, pero cuando empiezan a llegar en tanques y helicópteros, nuestra opinión sobre ellos cambia bastante.

Los mapas son libres, es decir, los enemigos (en este caso adorables pingüinos armados), escogerán el camino más corto y menos peligroso para llegar a su objetivo. Por este motivo tendrás que colocar torres de manera que caminen por donde quieres que lo hagan.

Puedes elegir entre una extensa variedad de torres con las que acribillar pingüinos, cada una con sus propias habilidades. Al principio es algo complicado, pero una vez que has colocado varias torres caras y los pingüinos tienen que recorrer un camino bastante largo, ya te puedes limitar a ver como las torres lo dejan todo perdido de sangre de pingüino.



Desktop Tower Defense



Desktop Tower Defense


Al igual que en el anterior, el mapa también es libre. El campo de batalla es un escritorio (de ahí su nombre) e irán apareciendo enemigos que deberás destruir con una arsenal de diferentes torres. En general es bastante simple, pero cuenta con varios modos de juego distintos: Scenarios, Sandbox, Sprint Modes y un modo multijugador.



Vector TD 1 y 2



Vector Tower Defense


En este caso tenemos que exterminar a unas figuritas (llamadas Vectoids) de varios colores que siguen un camino fijo, colocando torres a los lados del camino impidiendoles que lleguen al final del recorrido.

Existen torres de 4 colores diferentes que atacan más o menos dependiendo del color de los enemigos. Además, cada determinado tiempo puedes obtener una especie de bonus, que te permiten comprar otros tipos de torres, o incluso vidas.

Aparte de que en la segunda entrega existen varios modos de juego, no hay ninguna otra diferencia importante respecto de Vector TD 1.



GemCraft Chapter 0



Gem Craft Chapter 0 mapa


En mi opinión, es el mejor juego de este género. Ha sido creado por Armor Games y es bastante más complejo que el resto de juegos mencionados; perfecto para jugadores avanzados.

Ya no son las torres ya no atacan a los enemigos por si solas, sino que debes construir gemas y colocarlas en las torres para pueden causar daño. Las gemas se construyen con "Mana", una energía que va aumentando con el paso del tiempo y a medida que aniquilas enemigos.

Además, hay numerosos mapas conectados entre sí; es decir, no puedes pasar al siguiente mapa si no has terminado el anterior. En cada mapa hay también varios modos de juego, y a medida que terminas las fases, ganas medallas y experiencia con la que puedes mejorar distintas habilidades.

GemCraft Chapter 1 es la anterior versión de este juego, pero lo malo es que no hay varios modos de juego en cada mapa, y hay menos habilidades y medallas; por lo que he decidido no incluirlo.

A parte de los juegos flash mencionados, existe Master of Defense, el primer juego TD puro para PC, lanzado en 2005. Cuesta alrededor de 14 €; podéis comprarlo o descargar una versión de prueba en la página oficial.

Si conocéis algún otro juego flash de este tipo que consideréis que debería ser mencionado también, lo podéis decir en un comentario o por correo a través de la web.




En una fotografía aparte de la matriz de píxeles de colores que la componen, hay oculta cierta información o metadatos, definidos normalmente por el estándar EXIF.

Camara Foto

Esa información puede ser el modelo de la cámara con la que se sacó la fotografía, su configuración, la hora y fecha exactas, geolocalización (si tu cámara dispone de GPS), copyright, etc.



Ver información oculta en las fotos

Es relativamente fácil acceder a la información oculta de una fotografía, basta con pulsar el botón derecho > Propiedades > Detalles.

Claro que si queremos información más detallada podemos hacer uso de algún programa especializado o aplicación online como Jeffrey's Exif Viewer.

También existe una extensión de firefox para analizar los metadatos de una foto; es mucho más cómodo, pero la información es menos completa.

FxIF Firefox



Editar metadatos EXIF

Hay una aplicación (completamente gratuita) llamada PhotoME, que permite visualizar y editar los metadatos EXIF, IPTC y ICC, bastante completo y sencillo.

Screen PhotoME


Si usas PhotoShop, lo más cómodo sería un script que facilite la edición de ese tipo de información, aunque no conozco ninguno para la versión CS4.



Leer metadatos EXIF con PHP

Si sabes PHP, también puedes obtener fácilmente la información oculta de cualquier imagen JPG o TIFF, con la función exif_read_data ().

Los metadatos obtenidos se almacenan en un matriz; a continuación un ejemplo práctico:

<?php
$datos = exif_read_data ('direccion_foto.jpg');

$marca = $datos ['Make'];
$modelo = $datos ['Model'];
$fecha = $datos ['DateTime'];
?>

No te olvides de cambiar "direccion_foto.jpg" por la dirección donde se encuentra tu fotografía.




Me estoy aficionando a leer tiras cómicas de Internet (webcomic), de esas que aunque no están creadas por dibujantes profesionales, suelen venir cargadas de buenas dosis de humor, sátira, ironía y demás figuras literarias que tanto nos gustan.

Tiras cómicas

A continuación una pequeña lista de webcomic en español con tiras bastante aceptables, que he ido encontrando por Internet.


El show de Juanelo

Show de Juanelo

Este webcomic es bastante famoso, trata sobre un personaje aventurero y polifacético. Tiene un toque de picardía y un humor basado en la crítica social. Suele añadir una frase célebre al final relacionada con cada tira.

Dosis Diarias (Alberto Montt)

Dosis Diarias

Uno de mis favoritos, cada tira refleja una gran imaginación, ironía, crítica social y ocurrencias de lo más curiosas, además de ilustraciones muy trabajadas.

Palomitas y Maíz

Palomitas y Maíz

Con un humor sencillo, rozando lo absurdo, pero bastante ameno y natural. Lo más que destaca son las expresiones de los protagonistas. Suele tratar temas actuales, a menudo sobre Internet.

JR Mora

Autobus

Lo descubrí hace poco, es una especie de webcomic y weblog a la vez, combina de forma acertada humor gráfico con reflexiones y críticas sobre la actualidad.

Listo Comics

Listo Comics

Dibujos bastante simples con tiras cómicas cortas, pero muy ingeniosas y usualmente acompañadas con una frase célebre al final.

Conejo Frustrado

Conejo Frustrado

Ilustraciones muy bien cuidadas, con un humor fresco, a veces absurdo, pero ciertamente recomendable.

404

404 Webcomic

Tiras cómicas geniales, muchas veces difíciles de entender, con referencias hacia temas actuales, Internet y el mundo geek.

TiraEcol

TiraEcol

Con frecuentes alusiones a redes sociales, Internet y Tecnología. Recomendado si te gusta todo este mundillo.

Nariz Puntiaguda

Nariz Puntiaguda

De lo más variado, en el mismo webcomic coexisten 3 tiras cómicas diferentes, "Mouse & PC", "Las Monjas Francotiradoras" y "Junticos".

Ojos que no ven

TiraEcol

Genial webcomic donde abundan sutiles críticas sobre actualidad y política, generalmente española.




Ando algo ocupado estos días entre estudiar y programar, por lo que no he podido actualizar el blog.

Acabo de hacer una función que puede resultar útil en algunas ocasiones, la de convertir los códigos de colores CSS de hexadecimal a rgb (binario).

La función dechex (); predefinida en PHP, nos facilita un poco las cosas, ya que convierte un número binario a hexadecimal.

Ahora, teniendo en cuenta que los colores Hexadecimales están compuestos por 3 números binarios (#000000) que representan los 3 colores primarios, construimos la siguiente función.



<?php
function rgbHex ($red, $green, $blue) {
$red = dechex ($red);
if (
strlen ($red) < 2) $red = '0'.$red;

$green = dechex ($green);
if (
strlen ($green) < 2) $green = '0'.$green;

$blue = dechex ($blue);
if (
strlen ($blue) < 2) $blue = '0'.$blue;

$hex = strtoupper ($red.$green.$blue);

return
"#".$hex;
}


Esta función se encarga de convertir cada uno de los 3 colores primarios de rgb a hexadecimal, además de añadir un cero en cada color en caso de que solo devuelva un número.

Podemos hacer lo contrario, en vez de pasar de rgb a hexadecimal, de hexadecimal a rgb; basta con usar la función hexdec () y cambiar un poco la función anterior.


Ejemplo


Ahora por poner un ejemplo práctico, imaginemos que queremos remplazar en un texto todos los estilos CSS que posean colores en rgb, por el formato hexadecimal.

Recurrimos, como es costumbre, a lenguajes regulares y a la función preg_replace ().



<?php
function rgbHex_
replace ($string) {
$string = preg_replace ('/\s+/', ' ', trim ($string));

$pattern = '/style="color:[\s]?rgb\(([0-9]{1,3}), ([0-9]{1,3}), ([0-9]{1,3})\);"/e';
$replacement = "'style=\"color: '.rgbHex ('\\1', '\\2', '\\3').'\"'";

return
preg_replace ($pattern, $replacement, $string);
}
?>


Espero que les haya sido de utilidad, cualquier cosa dejad un comentario.




Memoria usada: 234.55 kb | Tiempo en cargar la página: 0.0392 segundos.

La vida sería intolerable si la muerte no fuera peor.