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:
int perro(){
char* nombre cientifico = "....";
int fuerza = 3;
//mas caracteristicas
}
Lo que me refiero es a que hagas
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_vidaMUY 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.