Estaría interesante crear un programita con el algoritmo de cada especie animal

Iniciado por RevolucionVegana, 5 Noviembre 2016, 07:51 AM

0 Miembros y 2 Visitantes están viendo este tema.

RevolucionVegana

Pues eso, estaría bien recrear un escenario en el cuál se programasen varios animales no humanos, animales humanos y plantas, y ver cuál sería su comportamiento, la idea sería algo así como recrear la pirámide alimenticia, los ciclos del agua, estaciones del año, día y noche, estaría bien ver como las plantas crecerían cuando reciben cerca excremento de los animales, sol y agua, o como mueren si les faltan este tipo de cosas, no me refiero a hacerlo como un videojuego con animaciones y todo eso, si no bastaría desde la terminal, en la cuál saliesen todos los objetos que hay, y poder acceder a la información de cada uno viendo cuántos días de vida tiene, si ha muerto o ha sido comido por otro animal de ese ecosistema, sería algo así como investigar antes de programar a algunos animales poniendo que temperaturas pueden llegar a soportar y durante cuanto tiempo, cuanto tiempo pueden estar sin comer ni beber agua, tener en cuenta la pirámide alimenticia, también poner por ejemplo que si se encuentra con otro de su misma especie dependiendo la especie pues criarían X cantidad de hijos, estaría muy interesante la verdad, y los humanos pues realmente no es tan difícil programarlos porque prácticamente ya estamos programados, ya nos han programado la cantidad de veces que hay que comer, a que hora dormir, a que hora despertarnos, ir a estudiar o al trabajo de X hora a X+el tiempo que haya pasado, etc.. Que opináis?


Se podría hacer un proyecto rollo Open Source e ir haciendo poco a poco más complejo y real el algoritmo de cada especie.

Saludos, se podría hacer en C++
HAS DICHO ALGO NENAAAAAA?!

Orubatosu

Parece algo interesante, pero no acabo de ver lo que quieres hacer.

Existen programas y simulaciones de poblaciones y todo esto. Supongo que quieres hacer como un dijeramos (hablamos muy teóricamente) una clase que defina el comportamiento de un animal, otra clase de otro animal, etc... y luego que interaccionen entre si a través de un numero de ciclos que determines para ver el resultado.

Me recuerda a algunas simulaciones mas o menos rudimentarias que he visto, como por ejemplo el famoso juego "live" con células que da resultados francamente curiosos, o los que miran escenarios de dos especies.

Por ejemplo zorros y conejos y donde ves que las poblaciones van subiendo y bajando alrededor de un punto de equilibro.

Ya de entrada te aviso que aunque aparentemente es simple, el resultado va a ser caótico. No en el sentido de "aleatorio" sino en el matemático. Posiblemente obtengas atractores

https://es.wikipedia.org/wiki/Atractor

Quizás lo que pretendes de "hora a hora" sea excesivo, creo que lo sencillo sería limitarte a una evolución por días, o incluso por semanas. Incluyendo por supuesto en esos ciclos los anuales de reproducción.

Posiblemente lo mas complicado sea planear la "base", pero puede ser bastante interesante. Te propondría que empezaras con diagramas de flujo y con unas ideas generales sobre lo que sería para "ficha" de animal o planta.
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

RevolucionVegana

Vale muchas gracias, voy a ponerme a investigar la cadena alimenticia y todo eso, las plantas y traigo esquemas hechos en pseudocódigo, lo suyo sería empezar con un par de animales y poco a poco ir incorporando más, y más hasta llegar a "soltar enfermedades" y algunas cosas así yo creo que con una comunidad detrás de eso se puede hacer perfectamente, la creatividad y lo que quiera profundizar una persona no es suficiente ya que siempre hay cosas que no tenemos en cuenta pero otro sí.

Gracias Orubatosu, un saludo!
HAS DICHO ALGO NENAAAAAA?!

Orubatosu

Bueno, en realidad no es tan complicado, y si que lo es.

Lo que sugiero es que empieces por pensar un ambiente con una serie de parámetros que se puedan variar. Estos pueden ser extensión (porque los animales y plantas se limitan por eso). Que tenga o no estaciones (épocas donde el calor permite que crezcan mejor las plantas o que no lo hagan) y cosas por el estilo. El pretender meter una cantidad exagerada de factores puede hacer que las simulaciones terminen por no tener mucho sentido a menos que se hagan muchas pruebas. Ten en cuenta que esto siempre va a ser una "mala simulación" que permita sacar conclusiones simples, a menudo inesperadas.

Por ponerte un ejemplo, en algunos parques africanos apenas hay depredadores y los elefantes tienden a destrozar toda la comida disponible. De hecho incluso con depredadores, pocos se atreven a intentar ir a por una cria que solo es "vulnerable" durante los primeros meses de vida y que esta normalmente protegida por una manada que es virtualmente inmune a estos depredadores. El resultado cuando no se controla su numero, incluso artificialmente es la desertización del terreno y la muerte por hambre de esos animales.

Cosas por el estilo se pueden mostrar con programas de este tipo
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

ThinkByYourself

La idea mola, podría ser tremendamente útil (para la población, y no para la élite de la Bayern, la Roche, y otros, ya tu sabes).

Para partir de una base seria, yo lo que haría sería pedir permiso a alguien que tenga una base de datos de botánica, y de primeras:

Importar toda la taxonomía vegetal posible (dicen que hay identificadas 300.000 especies de plantas). Aquí hay bastantes recursos parece:

http://lnavarro.webs.uvigo.es/links_TaxVeg.htm

Luego, probaría de hacer lo mismo con las enfermedades. En eso, la OMS lanza como un "boletín oficial" de enfermedades cada año creo. Y si no es la OMS es otra.

Como no sería fácil porque el mundo vive con miedo temeroso de no tener un trabajo o de concebir su día a día tal y como lo tienen montado (miedo al cambio, a todos nos pasa), sería raro que te ayudaran así, felizmente. Yo lanzaría directamente un spider/crawler/scrapper para que fuera por Google y por Wikipedia y algunas otras webs que sepa que son de fiar, para así coger todo lo que pueda.

Luego haría un programa que buscara nombres de plantas en la información de enfermedades, y viceversa, aislaría los casos, y uno a uno (con algún programa más para abreviar), relacionar planta y enfermedad (si cura o empeora, o lo que sea), a manita, para saber si por el contexto se puede inducir una relación.

Es... Un poco una matada. Pero yo también lo había pensado jeje....... Pero son trabajos de la élite, si la élite no hace naa, un individuo no puede hacer mucho...

Lo que fastidia es pensar que muchos laboratorios ya juegan con esas bases de datos... Por eso no lo hago: está hecho, pero no quieren soltarlo en formato SQL, que sería lo interesante.

Si lo enfocas más al estudio de las plantas y su reactividad ante agentes externos, en ese caso, bueno, 1 persona puede hacer poquillo en verdad... Muchas plantas, muchos factores (más de los que vemos, o incluso que sabemos), poco tiempo.

Pero sí, no sé, estaría guay que cuando tienes una dolencia, buscar el nombre, y que te devuelva una serie de nombres de plantas relacionadas, que ahora lo hace por encima la botánica y la fitoterapia. Es importante, tengo entendido, el principio activo ese. Pero ignoro cómo funciona realmente, la verdad...

Jeje creo que he desviado un poco la intencionalidad, que creo que era más de investigación científica que de médica, más de monitorizar el crecimiento y eso. Pero bueno, tómalo como un punto de vista más, con interés por la salud pública, que creo que podría tener salida más directa, royo: aplicación para saber qué plantas me convienen si me duele la barriga, por ejemplo, o la cabeza, o tengo afectado el riñón. A veces, el médico tampoco acierta con la dolencia, y vale la pena tener vías alternativas disponibles para abarcar el problema que sea, y puede ser útil si estás perdido en la montaña y no tienes un médico a mano, por ejemplo.

En cualquier caso, seguramente C++ es la mejor opción para hacerlo. Ojalá supiera C++...........! Pero lo veo muy tocho ese lenguaje, es demasiado técnico, y tiene demasiadas "cosillas"... pero mola, para mí es "el lenguaje" desde que sé que tiene asm inline (qué pasada) y herencia múltiple. Si subes algo a Git ya dirás, yo le echo un ojo!

La idea de la simulación también mola, eh! Sólo que mis tiros iban cerca, pero no ahí en concreto, aunque estén cerca, y ambos puedan ser útiles para hacer ciencia.

Saludos!





No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.

RevolucionVegana

He estado pensando durante estas horas y he decidido que sí lo voy a hacer, voy a crear su página web donde explique el objetivo cuál es, donde se vayan poniendo los avances y donde se ponga el código que se ha escrito hasta el momento, la idea realmente no la estoy enfocando a la medicina pero creo que valdría para muchas cosas, en unas horas os iré comentando el nombre que le voy a poner al proyecto y el sitio web cual será, por cierto compro un .org mejor no?

Un saludo a todos y espero vuestras respuestas compañeros! Este proyecto es de todos.
HAS DICHO ALGO NENAAAAAA?!

ThinkByYourself

No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.

Poyoncio

Empecemos por los cimientos y no por el tejado. Sabes programar en C++ con fluideza? Piensa que para llevar un proyecto de estas magnitudes necesitaras un dominio un poco/basante avanzado del lenguaje en el programa , quizas con los primeros animales te va saliendo, pero por ejemplo, imagina que ya tienes 200... SI no esta bien programado, con una memoria dinamica bien formada y con un codigo bien hecho te llevaras un gran chasco porque petara por todos lados.

Respecto a lo que comentas de comprar ya un dominio y contratar un servidor, yo si fuera tu me esperaria. Primero consigue unos cimientos del codigo en C++ y luego gastate la pasta. Te aviso de que lo que rapido empieza poco dura. Mas vale que te lo tomes con calma, sino te quemaras mucho. Es una buenisima idea sinceramente, por eso te doy consejos para que siga adelante y no se hunda a la primera de canvio. Tambien te digo que no puedes contar, con que haya una comunidad detras activa que lo desarrolle, eso lo tendras en el mejor de los casos y pidiendo mucho....

Tambien te recomiendo que busques en github proyectos similares con poner "animal ecosystem github" te saldran varios, por ejemplo este:  https://github.com/Lilykos/ecosystem-simulator/blob/master/ecosystem.cpp me lo he mirado por encima y me parece impresionante y muy bien hecho, podrias contactar con ese programador por ejemplo y pedirle el codigo, o intercanviar ideas, seguramente te conteste muy amablemente.

Te recomiendo que partas de por ejemplo un programa que consulte una base de datos en un servidor, o sino que tenga la base de datos descargada y que cada vez que se inicie el programa se actualize automaticamente en el ordenador para generar menos carga al servidor.

Nose que es lo que pretendes que se vea en el ordenador es decir, tienes dos opciones, la primera es que sea la consola normal y que vaya mostrando por ejemplo datos, en plan la poblacion de x animal es tal, la raza x se ha extingido, en caso que sea ese tipo de programa te recomiendo que pongas una consola interactiva con la que el programador pueda interactuar (seria interesantismo), la segunda opcion, seria currarte unos graficos de la ostia, que lo veo para un par de personas casi imposible a no ser que utilizes algo tipo unity o cosas de esas..... Estaria interesante sino, que en vez de tener el programa en consola, tuvieras una interfaz grafica minimalista hecha con Qt por ejemplo, aunque yo si fuera tu esto lo dejaria de lado de momento.

La idea de NoBullshit es interesante, por ejemplo lanzas un crawler en python (por ponerte algun lenguaje... No hagas un crawler en C++) aqui: https://es.wikipedia.org/wiki/Wikiproyecto:Animales/Lista seria brutal, porque el crawler seria muy sencillo y util, lo que haria por ejemplo seria extraer solo la etiqueta <a> coger el link (href) y el nombre del animal que esta entre las etiquetas <a>, entonces, guardaria en la base de datos el nombre comun y luego entraria en el link, y ya lo programas para que extraiga el texto de wikipedia que quieras como por ejemplo en nombre cientifico o las caracteristicas. Yo hice algo parecido una vez en python y es sencillisimo, solo con eso ya ampliarias la base de datos de animales en unos 250 animales... Imaginate con plantas.... Si veo que tu proyecto tira para adelante igual hasta te lo hago yo...

Tambien te recomiendo que el usuario pueda elegir que animales quiere en el ecosistema por ejemplo solo bacterias o solo plantas cosas asi, seria de gran utilidad para los trabajos de fin de universidad de muchos cientificos...

En general lo que te quiero decir, es que hagas el programa muy flexible para que asi pueda adaptarse a las necesidades de cada cientifico. Dudo que la gente normal use este tipo de tecnologia...

Por ultimo te aconsejo que no programes animal por animal es decir, no hagas esto:
Código (cpp) [Seleccionar]

int perro(){
   char* nombre cientifico = "....";
   int fuerza = 3;
   //mas caracteristicas
}


Lo que me refiero es a que hagas
Código (cpp) [Seleccionar]

int nuevo animal(char[50] nombreCientifico, char[50] nombreComun, int resistencia, int poblacion......){
   //y aqui conectar con la base de datos para llenar los campos o generar un nuevo fichero
}


Haciendo esto lograras que tu programa tenga poco tamaño y que tu base de datos sea amplia. Lo carga en memoria y ale. El codigo que te acabo de enseñar si lo implementas en una consola interactiva por ejemplo, podras lograr que cada persona incluya un animal con las caracteristicas que quiera y con una poblacion determinada (en este caso no haria que conectara con la BD porque sino se llenara de animales sin sentido)

Mirate este juego tambien: https://es.wikipedia.org/wiki/Juego_de_la_vida


MUY IMPORTANTE: Reserva la memoria que vayas a utilizar. Tambien te recomiendo que no uses char*, usa char[] y asi usaras lo que necesites asi con todo, Si no te quedaras sin ram en seguida.

Una ultima cosa, no se como se llama la escalera de la que voy a hablar pero, si alguien la conoce que la publique porque es super interesante para esto, es una escalera en la que se ordena a las especies en funcion de el poder que tienen de matar es decir, con las caracteristicas que tienen, recuerdo que el humano, sin contar con la tecnologia estaba en el mismo nivel que un cerdo, por ejemplo, eso seria interesante implementarlo porque resolveria gran parte del trabajo.
Curso de ensamblador desde cero

RevolucionVegana

CitarEmpecemos por los cimientos y no por el tejado. Sabes programar en C++ con fluideza? Piensa que para llevar un proyecto de estas magnitudes necesitaras un dominio un poco/basante avanzado del lenguaje en el programa , quizas con los primeros animales te va saliendo, pero por ejemplo, imagina que ya tienes 200... SI no esta bien programado, con una memoria dinamica bien formada y con un codigo bien hecho te llevaras un gran chasco porque petara por todos lados.

No, es más nunca he hecho nada orientado a objetos, pero la idea es que antes de añadir cualquier cambio al código (o directamente empezar el código) se hagan unos esquemas y unos dibujos que cualquiera que no sepa programar pueda entender y después ir traduciendo todo eso a C++ y utilizando operadores lógicos, sentencias condicionales, sentencias repetitivas, etc. y también junto a un estudio de cada animal y/o planta como cuales son sus devoradores, el tiempo de vida medio que tienen, crecimiento, cantidad media de hijos que pueden tener, en fin, poco a poco en la web que voy a hacer voy a ir poniendo cosas y la gente que vaya a participar que elija si se quedan o no, la idea es que haya una comunidad detrás de todo esto, pero el primer esfuerzo y la primera inversión para el dominio lo haré yo, y si no cuaja no pasa absolutamente nada, yo seguiré intentándolo ya que creo que es una excelente manera de aprender tanto programación, como del comportamiento de los animales, de lo que sería más correcto para ellos, aprender como son los ecosistemas de cada lugar, que plantas hay, temperaturas, es una fuente infinita de sabiduría y un programa que jamás terminaría de ser programado, ya que para eso habría que programar al 100% el algoritmo de un humano, cosa que veo imposible, pero sería muy interesante al menos ver un 1% escrito en código (al menos nuestro instinto).

CitarRespecto a lo que comentas de comprar ya un dominio y contratar un servidor, yo si fuera tu me esperaria

En esto no hay problema, el dominio me cuesta 14 euros (al año) y el hosting es gratis, voy a usar hostinger cambiando los DNS del dominio a los de hostinger (para una página en HTML y algo de CSS básico más que suficiente), además que si algún día hay que añadirle alguna cosa en PHP estaría bien, todo lo que sea aprender bienvenido sea (gracias por preocuparte por lo del servidor y eso).

CitarTe aviso de que lo que rapido empieza poco dura. Mas vale que te lo tomes con calma, sino te quemaras mucho. Es una buenisima idea sinceramente, por eso te doy consejos para que siga adelante y no se hunda a la primera de canvio. Tambien te digo que no puedes contar, con que haya una comunidad detras activa que lo desarrolle, eso lo tendras en el mejor de los casos y pidiendo mucho....

Muchísimas gracias de verdad, entiendo perfectamente lo de la comunidad, por eso haré yo los primeros esfuerzos que además me servirán para practicar lo que vaya aprendiendo en un programa "real", o que al menos tenga una utilidad mínima o algo interesante y esta me parece bastante interesante, y poquito a poco lo que vaya aprendiendo por poco que sea intentar usarlo de manera útil en el código, aprender a escribir el código bien limpio y todo bien comentado para que si algún día otro desarrollador quiere utilizar el código lo tenga más fácil.

CitarTambien te recomiendo que busques en github proyectos similares con poner "animal ecosystem github" te saldran varios, por ejemplo este:  https://github.com/Lilykos/ecosystem-simulator/blob/master/ecosystem.cpp me lo he mirado por encima y me parece impresionante y muy bien hecho, podrias contactar con ese programador por ejemplo y pedirle el codigo, o intercanviar ideas, seguramente te conteste muy amablemente.

Muy interesante, aunque había muchas partes del código que no sabía para que servían (son unas 3000 líneas tampoco me he parado a mirarlas todas pero he mirado las partes que más complejas se me hacían y por eso lo digo) en la ojeada rápida que he echado, supongo que es totalmente normal al no haber tocado casi nada en C++, solo he tocado C, PHP y Python, (CSS es lo más parecido "orientado a objetos" que he tocado) posiblemente cuando tenga algo ya hecho que demuestre algo de "profesionalidad" y que el tema va enserio me pondré en contacto con él, gracias por enseñármelo.

CitarNose que es lo que pretendes que se vea en el ordenador es decir, tienes dos opciones, la primera es que sea la consola normal y que vaya mostrando por ejemplo datos, en plan la poblacion de x animal es tal, la raza x se ha extingido, en caso que sea ese tipo de programa te recomiendo que pongas una consola interactiva con la que el programador pueda interactuar (seria interesantismo), la segunda opcion, seria currarte unos graficos de la ostia, que lo veo para un par de personas casi imposible a no ser que utilizes algo tipo unity o cosas de esas..... Estaria interesante sino, que en vez de tener el programa en consola, tuvieras una interfaz grafica minimalista hecha con Qt por ejemplo, aunque yo si fuera tu esto lo dejaria de lado de momento.

Efectivamente, la idea es que el usuario tenga la posibilidad de interactuar con la consola y pueda listar todas las especies de vegetales y animales que hay hasta el momento en el programa, y al lado de cada especie salga una especie de ID que los identifique y poder ver cuantos hay en esa especie en el momento actual, cual es la edad media, cuantos han muerto y guardar un log de las causas por las que han muerto (por ejemplo), o también ofrecer la posibilidad de que el usuario pueda introducir por ejemplo: En un espacio de 10km2 x 10km2 pongo estos animales, estos vegetales y estas condiciones de vida y ver cuáles se extinguirían, o incluso si el animal no pasa hambre, sed, tiene una temperatura adecuada, poner una especie de algoritmo para ver si los animales tienen unas condiciones de vida óptimas, yo que sé es que se pueden hacer miles de cosas, si realmente más que programar, es cuestión de ir haciendo poco a poco una buena base de datos de vegetales y animales. Y en lo segundo que has dicho estoy de acuerdo contigo, de momento lo dejaré de lado, hay demasiadas cosas por hacer y aprender de momento antes de entrar en esos temas, habría que saber modelar y haría falta un ordenador gamer de los buenos.


CitarLa idea de NoBullshit es interesante, por ejemplo lanzas un crawler en python (por ponerte algun lenguaje... No hagas un crawler en C++) aqui: https://es.wikipedia.org/wiki/Wikiproyecto:Animales/Lista seria brutal, porque el crawler seria muy sencillo y util, lo que haria por ejemplo seria extraer solo la etiqueta <a> coger el link (href) y el nombre del animal que esta entre las etiquetas <a>, entonces, guardaria en la base de datos el nombre comun y luego entraria en el link, y ya lo programas para que extraiga el texto de wikipedia que quieras como por ejemplo en nombre cientifico o las caracteristicas. Yo hice algo parecido una vez en python y es sencillisimo, solo con eso ya ampliarias la base de datos de animales en unos 250 animales... Imaginate con plantas.... Si veo que tu proyecto tira para adelante igual hasta te lo hago yo...

Interesantisima esta idea, de hecho, hace 4 o 5 días estuve hablando con AlbertoBSD de esto para hacer lo mismo en una web de viajes, así que si acabo haciendo esto sería buenísimo para un trabajo más automatizado y eficiente y también como aprendizaje me vendría de perlas. Muy buena idea NoBullshit.


CitarTambien te recomiendo que el usuario pueda elegir que animales quiere en el ecosistema por ejemplo solo bacterias o solo plantas cosas asi, seria de gran utilidad para los trabajos de fin de universidad de muchos cientificos...

En general lo que te quiero decir, es que hagas el programa muy flexible para que asi pueda adaptarse a las necesidades de cada cientifico. Dudo que la gente normal use este tipo de tecnologia...

No había leído el post entero y esto ya te lo he comentado algo más arriba en este mismo post, me alegra que tengamos unas ideas parecidas de este proyecto hemos coincidido en todo en un par de párrafos por no decir en todos xD

CitarHaciendo esto lograras que tu programa tenga poco tamaño y que tu base de datos sea amplia. Lo carga en memoria y ale. El codigo que te acabo de enseñar si lo implementas en una consola interactiva por ejemplo, podras lograr que cada persona incluya un animal con las caracteristicas que quiera y con una poblacion determinada (en este caso no haria que conectara con la BD porque sino se llenara de animales sin sentido)

Vale perfecto el consejo, con el código de ejemplo lo he comprendido bien

CitarMUY IMPORTANTE: Reserva la memoria que vayas a utilizar. Tambien te recomiendo que no uses char*, usa char[] y asi usaras lo que necesites asi con todo, Si no te quedaras sin ram en seguida.

Una ultima cosa, no se como se llama la escalera de la que voy a hablar pero, si alguien la conoce que la publique porque es super interesante para esto, es una escalera en la que se ordena a las especies en funcion de el poder que tienen de matar es decir, con las caracteristicas que tienen, recuerdo que el humano, sin contar con la tecnologia estaba en el mismo nivel que un cerdo, por ejemplo, eso seria interesante implementarlo porque resolveria gran parte del trabajo.


La buscaré la pirámide que nombras, lo del char si que lo sé por C

y esto último:

CitarMirate este juego tambien: https://es.wikipedia.org/wiki/Juego_de_la_vida

Lo vi hace mucho en este vídeo:

[youtube=640,360]https://www.youtube.com/watch?v=tC-HTMGjiG0[/youtube]

Es el autor del libro de C que me leí hace un tiempo :) muy buen libro para empezar!!

Saludos a todos ya os voy comentando como va la cosa!!!!
HAS DICHO ALGO NENAAAAAA?!

Poyoncio

El ID de cada animal o planta puede ser el nombre cientifico

Piensa que necesitaras un buen procesador, almenos para inciar el programa necesitaras muchos datos aleatorios como la posicion y todo el tema...
Para que te hagas a la idea de lo que yo estoy imaginando mira este juego: https://es.wikipedia.org/wiki/No_Man%27s_Sky o https://es.wikipedia.org/wiki/Ark:_Survival_Evolved el concepto de un mundo en el que se puede interactuar.

Aunque ahora que lo pienso, quizas C++ no seria el mejor lenguaje, piensa que la gente esto lo usaria para hacer estudios y todo el tema, quizas seria mejor programarlo en Ruby o Python ya que es de los lenguajes mas usados por ejemplo en bioinformatica, aunque luego tambien se notara bastante en el tema de la potencia del programa....... Quizas crear una API para python que permita interactuar con tu programa estaria bien..  

Y respecto a este codigo que te he pasado antes:
Código (cpp) [Seleccionar]

int nuevo animal(char[50] nombreCientifico, char[50] nombreComun, int resistencia, int poblacion......){
   //y aqui conectar con la base de datos para llenar los campos o generar un nuevo fichero
}

Lo he estado pensando, y lo mejor seria que los datos pasados por parametro, se guardaran en una estructura para enviarselo a la base de datos. SI hay un parametro que no tiene ningun dato se autorellena ese valor como undefined o algo asi y ya esta.
Por lo que comentas de orientado a objetos, no te preocupes, solo tendras un par de clases, es decir tendras en plan class Animal() class Planta() y asi.. La verdad es que me estoy motivando mas yo que tu con tu proyecto  :xD :xD :xD :xD

Yo tambien lei el libro de miguel angel acera  :P


Curso de ensamblador desde cero