Simulateur de vie encore un(version corrige)

Soyez le premier à donner votre avis sur cette source.

Vue 7 470 fois - Téléchargée 664 fois

Description


Life v1.1

Auteur:Nevy
Version: 1.1
Remarque: d'apres une idée de Saylar et de plein d'autres
Life.ex_ contient l'executable windows a renomer en Life.exe

Fonctionnement:
Ce programme simule l'evolution de bestiolle (de 1 à 1000 sans problème aprés ca commence à ramer)
(Code couleur Vert Enfant,Rouge Femme,Rose Femme en ovulation,Bleu Homme,Gris Vieux,Noir avec une croix Mort)
Les bestiolles vivent sur une sphere(le bord droit est lié au bord gauche, de meme la bordure basse est lié a la bordure haute)

Chaque bestiolle dispose d'un genome codant ses actions Haut Bas Droite Gauche (Manger Boire Prendre Lacher:pas encore actif)
lors d'une reproduction echange de la moitié des genes pere contre ceux de la mere, et eventuellement une mutation sur un des genes
une reproduction ne peut avoir lieux que entre un homme et une femme enceinte

Un appuis sur les bouton e,f,h,v permet de provoquer une mort subite des Enfant Femme Homme Vieux

Bug connu

La reproduction n'est pas possible si chacune des deux bestiolles est sur une extremitée opposée (corrigé dans version 2)
le compteur de jour et le compteur de reproduction doivent etre lié a la vitesse de simulation

Le principe de base et de simuler l'evolution selon Darwing, donc apres quelque generation on voit apparaitre des comportements de groupe
et des deplacemenst un peu plus marrant que du simple aleatoire (la population initiale est aleatoire) car seul les bestiolles
vivant en groupe ou le hasard peut justifier une recontre et donc une reproduction
dans les prochaines versions l'ajout de la nourriture et de l'eau vont complexifier le probleme (le genome devra etre plus grand)

Evolution Future:

V1.1 a V1.9
-Amelioration du code (optimisation)
-Ajout de la nourriture et de l'eau (complexification des trajectoires)
-Ajout des obstacles et des elements(et gestion de colision sur les obstacles)
-Mise en service des genes Manger Boire Prendre Lacher
-Transformation des constantes en variables et ajout d'un menu de reglage de celles-ci

V2
-Ajout des objets communications (interface entre l'utilisateur et les bestiolle)
-Ajout de la communication entre bestiolle
-Ajout d'une memoire sur les bestiolles (2 à 3 cases memoire)

V3
-Si vous avez des idees

Source / Exemple :


tous est dans le zip

ca utilise sdl et sdl ttf

Conclusion :


je n'ai pas mis cette source pour concurencer saylar mais au contraire pour l'aider a avancer dans la programmation
j'espere que j'ai bien fait.
de plus ca fait un bout de temps que je voulais coder un truc comme ca mais en plus evoluer maintanant que j'ai la base je vais continuer
(Ps: tout as ete reecris ce n'est pas une copie d'un code,sauf la void pour ecrire sur l'ecran je la trouve pratique)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mardi 3 février 2009
Statut
Membre
Dernière intervention
24 décembre 2009

Bon c'est vieux comme sujet, et le projet est sûrement abandonné, mais je voulais faire une petite remarque :
Pour bien suivre la théorie de l'évolution, et pour être sûr d'avoir une émergence de comportement, il manque quelque chose d'important, la sélection.
En effet, là tous les individus son égaux à la survie et à la reproduction, aucun n'es mieux adapté que l'autre, donc tout le monde peut se reproduire. Donc ça reste de génôme aléatoire.
Il manque une "règle du jeu", la survie. Il faut que certains, de par leur génome, soit plus enclin à survivre et donc à se reproduire que les autres. ainsi seuls les plus aptes peuvent donner leur gènes.

J'avais déjà fait une simulation de vie (mais très lente de par le fait que y avait pas de limite de population sinon le nombre de case, et comme ce n'était intéressant que sur une grande map, y avait énormément d'inividu, c'était très lent), quoi qu'il en soit ce n'était pas les même règles du tout (pas de gauche droite ni rien).
Mais voilà comment un individu était décrit :
Vie, régime alimentaire (en pourcentage), paramètre de "choix" de proies, vision.
Et là y avait bien sélection, quand on avait plus de vie on mangeait plus (de même our la vision), donc l fallait des proies plus grossess, donc plsu de risques de mourir en combat. Les morts et le surplux de nouriture ingurgité après une attaque était reconvertit en plante pour les végétariens.

Là y avait émergence de comportement, tantôt c'était dominante végétarien, tantôt un petit groupe de carniore commençait à augmentez et manger tous les végé, et ça oscillait comme ça.
Messages postés
103
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
10 février 2008

C'est sympa mais on ne travail pas (encore) ensemble. J'ai un peu refusé non pas car je n'aime pas l'idée de travailler avec PADYVEN mais car nous n'avons pas les même façon de programmer (ses fonctions sont nommées en français moi en anglais, il utilise le génome ... moi pas).

Merci pour lui et pour moi :)
Messages postés
19
Date d'inscription
samedi 17 novembre 2001
Statut
Membre
Dernière intervention
13 juillet 2012

magnifique....
je parle de l'idée (et non du code que j'ai pas regardé lol) mais je trouve a vous 2 que l'idée de faire ce genre de programme est bien j'y avais pensé ya quelque temps mais j'avais vite laché l'affaire lol mais sa serai bien que tu remonte un peu juste avant que les genome apparaissent c'est a dire au moment ou ta planete se genere aléatoirement
ou peut etre la possibilité que plusieur planete se genere avec un soleil et tt et en fonction de tt sa t genome apparaisent a certain endroit plutot que d'autre mais idée a poursuivre jsuis tt coeur avc vous et j'espere que le projet va se poursuivre jusqu'au bout...
Messages postés
103
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
10 février 2008

Mea culpa alors :)
Messages postés
69
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
29 août 2012

Donc en fait c'est JCDJCD qui a raison on est plus pres d'un tore que d'une sphere mais dans les deux cas
la description est fausse puisque le rayon interne d'un tore est plus petit que le rayon externe et que chez moi les deux rayons ont la meme taille (un vrai tore serait sur un ecran de type trapeze et une sphere serait sur un cercle enfin si je me trompe pas ) donc on est bien dans un environement completement virtuel reboucle sur les bords.
mais on peut parler de X et Y sur une sphere si je me rappel bien ya une equation du genre x=rayon*cos(angle)
please ne corriger pas les math et moi ca fait 368 degres

sinon je vous invite tous a telecharger la mise a jour j'ai ameliorer le codage des genomes (avant c'eait un gene sur deux donc deux permutation possible pour deux parent) maintenant c'est des bloc de gene du pere et de la mere
d'ailleur j'ai avec certain parametres des comportements non prevu au bout de 17 genrations
j'espere que c'est pas du a un bug parceque ca m'inerresse enormement(les bestiolles ont des periodes synchrone sans mouvement) je pense que c'est du a l'utilisation des genes manger prendre lacher boire qui non pas d'action sur le mouvement.
Afficher les 16 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.