miércoles, 15 de abril de 2009

4.400 millones de años de Evolución


Dicen por ahí que la Vida se originó en la Tierra en algún momento hace 4.400 millones de años. Si un grifo perdiese una gota por segundo (gluic, gluic, gluic...) llenaría más de 38 millones de millones de botellas de 1 litro. Sin duda la Vida se ha tomado su tiempo.

Si vamos más atrás, todo empezó hace 13.700 millones de años con lo que se denomina el Big Bang. De esta explosión salieron muchas cosicas y, en lo que a materia se refiere, únicamente hidrógeno (o casi) A día de hoy, después de 5 millones de millones de días después, el Hidrógeno constituye todavía el 75% de la materia visible. Esta es la teoría que hemos escuchado cientos de veces, ¿verdad?

Pensando un poco llegamos a una conclusión que personalmente me parece asombrosa. De todo ese montón de Hidrógeno y de las cuatro fuerzas de la física hemos llegado hasta nosotros. Haciendo una analogía, imagina que cierras en una habitación muy grande un montón de Hidrógeno y, pasados 13 mil millones de años, vuelves a esa habitación y te encuentras que ese mismo elemento básico ha tomado conciencia de sí mismo y se está preguntando cómo ha llegado allí. Nosotros somos esos mismos átomos que nos preguntamos cómo llegamos hasta aquí. ¿No te parece increible?

Esa magia, desde esos primeros elementos, desde los primeros compuestos químicos capaces de replicarse, hasta los organismos más complejos capaces de tomar decisiones en favor de su supervivencia y reproducción, esa magia es la que quiero plasmar en Blables. Si digo el cómo, reconozco que pierde una pizca de magia, pero imaginaré que la pantalla es un Universo frío y oscuro en el cual desperdigaré píxeles de luz.

Después de unas cuantas pruebas creo que estamos preparados para iniciar el proceso de nacimiento de Blables - Proyecto Evolutivo. El lenguaje elegido es la suite de programación Microsoft Visual Studio .NET (mal me sepa jajajaja) Como mandan los cánones de la programación a la oriental, empezaré a diseñar las funciones al más puro estilo PPO (programación orientada a objetos)

Desde hoy empieza la cuenta atrás.

miércoles, 8 de abril de 2009

Movimiento - Reglas y Excepciones

El movimiento es el corazón del Proyecto y de él depende todo el desarrollo evolutivo. Obviamente, si no hay movimiento, el Blable no se podrá alimentar (y lo mismo para los iTERs) Tampoco existiría la reproducción salvo que, tanto macho como hembra apareciesen en posiciones lindantes. La Visión dejaría de tener sentido ya que ¿de qué serviría “saber” que tienes comida, un depredador o un congénere cerca si no puedes moverte para comer, escapar o reproducirte?

Hasta ahora hemos comentado la base matemática que define el movimiento mediante la matriz del dibujo de al lado. Además, hice en su momento la explicación de las fórmulas y cómo se deberían tratar las excepciones. En esta entrada, pasaré a explicar en profundidad cómo se tratan informáticamente/matemáticamente dichas excepciones. Para empezar, deberemos definir qué es una excepción y dónde las encontraremos.


Mondo Lirondo es una matriz, una cuadrícula de celdas que definen posiciones. Esta matriz no puede ser excedida y marca los límites del movimiento de los personajes; nada puede salir y nada puede entrar. Definamos antes un entorno con las siguientes variables:


Ancho: 7 celdas
Alto: 7 celdas
Total: 49 celdas (7x7)

Estos valores son, naturalmente, un ejemplo ya que la intención es que Mondo Lirondo tenga una extensión de aproximadamente 100x100 = 10000 (la primera versión Beta es de 50x44 = 2200) Teniendo en cuenta este ejemplo, ¿dónde estarían las excepciones a las fórmulas matemáticas del movimiento?

Excepción 1 - Lado izquierdo de Lirondo: casillas marcadas en azul. No fue difícil encontrar una fórmula que pudiese identificar y tratar dicha excepción: siempre que el resto de la división sea “cero”.

x = resto de (posición - 1) / ancho

Supongamos que la posición del Blable es 8. El resultado sería el siguiente:

x = resto de (posición - 1) / ancho
x = resto de 7 / 7
x = 0

Pongamos otro ejemplo con la casilla por ejemplo número 29:

x = resto de (posición - 1) / ancho
x = resto de 28 / 7
x = 0

Excepción 2 - Lado derecho de Lirondo: casillas marcadas en verde. Deducción lógica, ¿verdad? Mismo caso que el anterior pero sin restar 1 a la posición.

Supongamos que la posición del Blable es 35. El resultado sería el siguiente:

x = resto de posición / ancho
x = resto de 35 / 7
x = 0

Excepción 3 - Lado superior de Lirondo: casillas marcadas en gris. Poco misterio aquí también, ni siquiera hace falta una operadores matemáticos; en este caso será necesario utilizar operadores lógicos:

Supongamos que la posición del Blable es 4. Siempre que “x” cumpla esta condición determinaremos que estamos en dicha excepción del movimiento:

1 < x > ancho
1 < 4 > 7 --> verdadero

Excepción 4 – Lado inferior de Lirondo: casillas marcadas en amarillo. Aplicaremos el mismo proceso de operadores lógicos. Supongamos que la posición del Blable es 45. Siempre que “x” cumpla esta condición determinaremos que estamos en dicha excepción del movimiento:

((ancho x alto)-ancho) < x > (ancho x alto)
((7 x 7) – 7) < 45 > (7 x 7)
43 < 45 > 49 --> verdadero


Excepción 5 – Esquinas marcadas en negro. Al igual que las anteriores, la única forma es usando operadores lógicos de una forma muy sencilla.

x = 1 --> verdadero si el Blable está en la posición 1 (más simple imposible, ¿verdad?)
x = ancho --> verdadero si el Blable está en la posición 7
x = ((ancho x alto) – ancho) --> verdadero si el Blable está en la posición 43
x = (ancho x alto) --> verdadero si el Blable está en la posición 49

Aunque siempre hago referencia a Blables, todo lo referido anteriormente es perfectamente válido y aplicable a cualquier especie que tenga la capacidad de movimiento dentro de Lirondo como es lógico. Otra cosa son sus condicionantes para realizar el movimiento ya que un iTER tendrá muy poco interés en el Aloe Vera mientras que un Blable se pirrará por ellas.

Hasta aquí la explicación de cómo el resto de las divisiones me han ayudado a solucionar el movimiento de las especies dentro de mi cuadriculado mundo. ¿Alguien pensó que el resto de la división tendría alguna utilidad?

martes, 7 de abril de 2009

iTER - En Youtube!

He encontrado esta cosa en Youtube que se parece mucho-demasiado a un iTER con bracitos y pies. Diría que es algún tipo de personaje famoso en Japón.



Por cierto, lo que dice constantemente es la palabra "developers" (programadores, en castellano) Lo más increible es que la voz es en realidad la de Steve Ballmer, actual presidente de Microsoft.

¿Qué extraña conexión JAPÓN, iTER, PROGRAMADORES y MICROSOFT?

lunes, 6 de abril de 2009

Pre-BETA 1 - download!

** VERSION CORREGIDA **
Descarga Versión Beta 1.1



Todo lo aprendido con las versiones Alpha se ha reflejado en el diseño de la primera versión Beta. Rápidamente notarás que le faltan funcionalidades que sí tenían las versiones anteriores pero el gran paso adelante ha sido (como decía) el diseño de cómo ha sido programado esta BETA.

¿Qué no tiene la BETA que sí tenían las ALPHAs?

- Visión: El Blable ahora es completamente ciego. Esto es así porque la Visión viene dada por la evolución, no por un "creador" (se entiende que es el usuario jeje)

- Lirondo finito: Sí, esto es una carencia en toda regla. Si el Blable llega a los límites de Lirondo el programa dará un error :) El nuevo diseño permite un mejor control sobre los límites del Mondo Lirondo pero no me ha apetecido ponerlos todavía, hala.

- Movimientos: El Blable únicamente se mueve de izquiera a derecha y de arriba a abajo; ha perdido la capacidad de moverse en diagonal. Esto no es un cambio, es simplemente que no me ha apetecido de nuevo complicarme la vida. Al gual que lo anterior, el nuevo diseño (joder, cómo me gusta repetirlo pero es que me ha quedado realmente bien) es tan flexible que permite aplicar los movimientos en cualquier momento.


¿Qué tiene la versión BETA?

- El Blable come.

- El Blable consigue energía de las plantas.

- Mondo Lirondo ha dejado de ser definitivamente una matriz con cuadrados de colorines.

- Los Blables comen Aloe Vera (una sugerencia que me pareció divertida)

- Multi-Blables! Haciendo click encima del Blable grande colocaremos aleatoriamente un Blable en Lirondo (tantos como quieras siendo independientes entre ellos)

- Seguimiento. Haciendo click en un Blable que esté en Lirondo (aconsejo bajar la velocidad o será realmente complicado pillarlo) sabremos su energía y cuántos Blables conviven con él. Esto es aplicable también a las plantas.

- Acerca de. Si vas al menú (arriba a la izquierda) y haces click en "Acerca de", verás una pequeña animación donde un iTER se come a un Blable y, además, se presentan el resto de "amiguitos" de Lirondo.

- Lirondo cuenta con climatología. Por ahora es manual pero la intención es simular las estaciones. En un clima seco las plantas irán muriendo paulatinamente y en época de lluvias el crecimiento será rápido.

Cuántas novedades, ¿verdad? Seguro que no puedes esperar a descargar la primera versión BETA de Blables :) Queda mal que lo diga yo pero reconozco que ¡yo tampoco podría!

Espero sugerencias.

sábado, 4 de abril de 2009

Mondo Lirondo - Un mundo extraño

Estoy dedicado en cuerpo y casi en alma a lo que será una versión muy cercana a la definitiva con las lecciones aprendidas en las versiones alphas y me he dado cuenta que estoy creando un mundo muy raro.

No entraré en detalles porque no quiero avanzar nada todavía pero, si uno se para a pensar, raro o normal son conceptos demasiado relativos. Viajar es una de las formas más plancenteras que conozco de cambiar tu opinión sobre lo que es "raro" y lo que es "normal". ¿Qué es normal?

¿Es normal que...

- Estadísticamente, mueran ahogadas 100 personas al año por bolígrafos?
- El 15% de las mujeres se autoenvíen flores para San Valentín?
- La miel sea el único alimento que no se extropea nunca?
- El 33% de las mujeres sean rubias, mientras que sólo el 16% realmente nacen rubias?

Pues no si será muy normal o no pero tal vez puedas decirme si es raro que...

- Cuando vas a un McDonals, siempre te sirvan la comida con la "M" mirando hacia ti.
- El ojo del avestruz es más grande que su cerebro.
- El Papa Calisto III excomulgó al cometa Halley por ser un agente del Diablo.

Sigo sin saber distinguir entre lo "normal" y lo raro", lo que sí que creo saber es que me parece curioso que:

- la película "Regreso al Futuro 2" se rodó en los años 80 y en el almanaque de los records decía que en el 1997 el equipo de Florida ganaría la Serie Mundial. Por aquellos años, Florida ni siquiera tenía equipo pero el 26 de Octubre de 1997, Florida quedó campeona como predice el almanaque.
- el mes de Febrero de 1865 fue el único sin luna llena, que se tenga constancia
- tengamos más huesos en los pies que en cualquier otra parte del cuerpo.
- en sus iniciios, los cd's de música fuesen diseñados para tener una capacidad de 74 minutos porque esa es la duración de la Novena Sinfonía de Beethoven.


A fin de cuentas, Mondo Lirondo no parece tan raro, ¿verdad?

viernes, 3 de abril de 2009

La Evolución da una vuelta de tuerca con los Tunicados


Los Tunicados son unos animalitos que viven en el mar y que se dedican a filtrar el agua para obtener alimento. Si quieres saber más sobre ellos te recomiendo Wikipedia (aquí) que, dicho de paso, ha provocado el cierre de la enciclopedia Encarta de Microsoft tras 16 años (El País Marzo 2009)

Volviendo a los Tunicados, se diría que la Evolución ha dado un giro inesperado con estos animalitos. Cuando nacen, cuentan con un cerebro y un sistema nervioso que les permite moverse, conocer su entorno y buscar un sitio donde anclarse, normalmente piedras del lecho marino. Una vez allí, se comen su propio cerebro porque simplemente ya no lo necesitan y se dedican simplemente a filtrar agua de mar.

Es asombroso cómo estos animalejos han evolucionado para tener un cerebro que lo usan únicamente para encontrar un lugar donde vivir y, una vez lo han encontrado, se desprenden, o mejor dicho, se comen, su propio cerebro por la simple razón de no necesitarlo.

Eduardo Punset, un excelente divulgador científico y magnífico comunicador, ha comparado alguna vez la vida de los tunicados con la esperiencia vital del funcionario que, después de hacer uso de su cerebro para pasar unas oposiciones, se asienta en su despacho y fagocita su propio cerebro porque no lo necesita. Es una graciosa comparación que nada tiene que ver con la realidad ya que tunicados hay en todos los lados así que, ¡no seas un tunicado!

miércoles, 1 de abril de 2009

Crack Edition o Cuando la Evolución inventó el Sueño

No tengo ni idea de cuándo ni cómo surgió la necesidad de dormir pero lo que está claro es que es necesario. Tal vez ocurrió que los organismos se hicieron cada vez más complejos y el conjunto empezó a necesitar ciertos momentos de descanso para renovar fuerzas. Tal vez el descanso conocido como dormir sea algo intrínsicamente relacionado con el sistema nervioso y la aparación del cerebro. Lo que está claro es que nadie se imagina a organismos unicelulares como, por ejemplo, un paramecio con forma de suela de zapato quedándose frito. Sería toda una sorpresa ir al ginecólogo y recibir la noticia del doctor: "Señor, su mujer no se quedó embarazada esta vez; sus espermatozoides se echaron una cabezadita a pocos milímetros del óvulo". Huuuuy, por los cilios, digooo por los pelos :)

Afortunadamente la mitad de lo que soy, ese espermatozoide mío, esperó a encontrar el óvulo (mi otra mitad) antes de echarse un merecido descanso. Esta es una prueba más de que, desde el principio, yo nunca me he rendido :) Bromas aparte, yo sí necesito descansar mal me sepa y, por desgracia para la evolución del Proyecto Blables, el cansancio ganó a las matemáticas y el Blable de Nivel de Visión 2 me salió con miopía.

Podría decir que es culpa de Microsoft, que es culpa del cambio climático, o incluso del árbitro pero es sólo mía. No testeé la versión lo suficiente y me apresuré a publicarla simplemente "porque me pareció muy bonita y había que enseñarla" :):)

Total, La Evolución hace lo mismo, lanza diseños sin estar listos sólo por que son bonitos; ¡y si no que se lo pregunten a un pavo real! (sobretodo cuando quiere escapar un depredador)