Vida Artificial: Un proyecto de computación compartida
Similar al proyecto de SETI AT HOME, estoy planeando un proyecto de computación distribuida en el cual cada usuario de PC instalará un programa residente en memoria que servirá de ambiente o contenedor de entes de vida artificial, el objetivo es que la unión de todos estos PCs generen un rico juego de ambientes que permitan a organismos artificiales vivir, multiplicarse y evolucionar. Los organismos podrían viajar de un contenedor a otro simulando un comportamiento migratorio, habrán algunos que si se quedarán estáticos pero enviarán a sus descendientes a otros contenedores, .... es el juego de la vida.
El contenedor (que simulará un ambiente) no consumirá demasiados recursos del PC del usuario, se ejecutará en baja prioridad del sistema operativo y debe estar muy bien optimizado. Razones de sobra para planificar con cuidado este tipo de software. Lo desarrollaré en Visual C++ 6.0.
Si hay una diferencia con el proyecto SETI AT HOME, porque no habría un servidor central, es mas parecido a una red P2P.
Estos son los primeros requisitos que tengo planeados:
Software contenedor que simule un ambiente cíclico, con determinadas leyes que obliguen a los organismos a evolucionar para adaptarse.
Los organismos pueden viajar de un contenedor a otro si han evolucionado esta característica.
El usuario en una ventana podrá ver los organismos en forma animada. Como sus cuerpos cambian (porque evolucionan) estarían construidos con polígonos.
El software contenedor debe consumir poca memoria y ciclos de CPU.
Permitirle al usuario configurar o manipular los organismos.
Ser atractivo para el usuario final, las gráficas y escenarios deben ser llamativos y cambiantes para que el usuario no se canse del software (así lo mantendrá durante mucho tiempo).
Permitir que el usuario diseñe su propia mascota virtual para que la cuide y la vea progresar.