Enjambres y auto-organización

Ésto es algo con lo que he estado jugando hoy, a partir de las estructuras que  estudio y programo para la tesis.

No tiene que ver con el objetivo final, pero sí creo que puede demostrar las capacidades auto-organizativas de un conjunto de partículas con  “inteligencia” muy limitada (un enjambre). Utilizando exclusivamente relaciones locales (es decir, cada individuo sólo interactúa con individuos suficientemente cercanos), cada partícula es capaz de esquivar aquellas otras cuyo color no coincida con el suyo y de crear enlaces rígidos con las que sí se le parecen. Con el tiempo, las partículas empiezan a formar grupos de color semejante, y finalmente los grupos se unen para crear una estructura tridimensional en la que se aprecia claramente una organización por colores.

Toma palique. Al grano, el video. La estructura empieza a formarse a partir del minuto y medio o así. Si se ve desde el principio pacientemente sorprende más el resultado final:

¿Que para qué sirve? ¡Por de pronto para subir un post!

Anuncios

Bungee Manager

Acaba de terminar la Pyweek#7, competición bianual a la que se presentan juegos programados en Python creados en una sola semana. El mecanismo es simple: se proponen cinco temas antes del comienzo de la competición, se votan y el día en que comienza la competición se publica el tema elegido. Los temas de esta edición fueron raros: “Dust Bunnies”, “Punk”, “Flat packed”, “Morning Fog and Frosts” y “The length of a piece of string”. Tenía una idea cojonuda para el primero, una guerra entre las bolas de polvo y pelos que viven debajo de nuestras camas (al menos de la mía, gracias a Ico, mi gata y a nuestra vagancia a la hora de pasar la mopa)… pero salió elegido el último: La longitud de un trozo de cuerda.

Bueno, tenía claro qué podía hacer gracias a que he estado trabajando los últimos meses con el método de integración Verlet aplicado a sistemas de partículas unidas por enlaces rígidos, así que llevaba la teoría necesaria para simular cuerdas muy fresca. Después de desechar una idea sobre un juego en el que hacías volar una cometa creando ráfagas de viento porque no daba con un control cómodo, acabé presentando Bungee Manager.

Bungee!
Bungee!
La mecánica es sencilla. El jugador representa el ‘manager’ de una empresa que ofrece saltos de puenting. Como empresa el objetivo consiste en ganar dinero y en mantener a los clientes contentos, haciéndoles saltar lo más abajo posible sin sufrir accidentes. El juego termina si al llegar el día de pago de impuestos no queda dinero o si demasiados clientes se han ido disgustados (porque no han saltado, han sufrido un accidente o han sido testigos de un porrazo contra las piedras del río)
No ha quedado tan mal la cosa, para ser la primera vez que hago algo “tan complicado” con Python y la primera vez que uso Pyglet para los gráficos. Hay un par de bugs de los que soy consciente, no me dio tiempo de añadir sonido, no hay tabla de records y el menú es ridículo ¡pero es jugable! A ver si con el tiempo puedo revisar el código y “pythonearlo” más, porque ahora está muy sucio y plagado de ‘cableados’ para que las cosas funcionaran y poder presentar a tiempo.
Bungee Manager es descargable desde la página de mi entrada en Pyweek. Si estás en Windows es posible que no tengas Python instalado, pero puede descargarse aquí (No está de más tenerlo instalado, en muchos Linux viene por defecto) y la instalación es de las de ‘palantepalante’. Si no apetece instalar Python, pues nada, también hay una versión para Windows entre los ficheros de descargas. ¡No hay excusa! 😀

Nuevo concurso en TIGSource

Los promotores del mítico B-Game competition, TIGSource, al que presenté el Bloody Landlord (wow, ¡me autoreferencio!), han lanzado otra propuesta: Video Game Name Generator Compo.

La idea es cachondísima. Han montado un ‘Generador automático de nombres de videojuegos’. Tenemos un mes para hacer un juego (sea de lo que sea) basado en el nombre que más nos guste de entre los que genera el enlace anterior. Va a ser complicado… pero no el programarlo, sino el decidir qué nombre usar. Llevo toda la maldita mañana viendo títulos cachondísimos que inspiran toda una plétora de juegos cada cual más absurdo y no puedo decidirme. Por poner unos ejemplos:

Brithish Shaving Force
Neon Insect Forever
The Six Million Dollar Viking Dudes
Galactic Banjo Underground
Tiny lizard girl
Silly Batman dudes
Pathetic Night Chase
Occult Yeti in the Hood
My Little Terrorist Gladiator
Erotic Pokemon Operation

Este último no me inspira, pero sí me hizo echarme unas risas. Bueno, cuando decida con cuál quedarme (y aún sigo dándole al botoncillo… la última joya ha sido Exciting Furry Voyage)  me arremangaré y palante. ¡A ver qué sale!