Elevage virtuel d'une colonie |
Bienvenue invité ( Connexion | Inscription )
Elevage virtuel d'une colonie |
Friday 02 April 2010 à 03:21
Message
#21
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
A croire que vous lisez pas...
J'ai meme pas envie de lire plus loin que la première phrase... |
|
|
Friday 02 April 2010 à 06:57
Message
#22
|
|
Média Groupe: Exposants Acideformik Messages: 891 Inscrit: 15/06/2008 Lieu : Rhône-Alpes, Lyon Membre No.: 2 228 |
Eau + nourriture sont les seuls besoins d'une fourmis. Peut-être peut on ajouter hygiène puisque la plus part des espèces se toilettent.
-------------------- |
|
|
Friday 02 April 2010 à 08:14
Message
#23
|
|
Média Groupe: Contributeurs Messages: 879 Inscrit: 19/07/2009 Lieu : Strasbourg Membre No.: 3 697 |
Hello
Je te conseille de faire un cahier des charges pour ton projet, ou encore mieux, un game design document le plus complet possible. Cela te permettra de poser tes idées, voir les points qui posent problème et les pistes explorables. Ca nous permettera aussi de te faire des propositions sur chacun de tes problèmes en ciblant mieux la réponse à tes desirs. Car sinon, chacun partira dans son "délire perso" sans doute loin de ton idée de départ. Je suis en train de reprendre le mien et le posterait quant il sera à peut près complet. Mon projet se basait sur un système à la Age of Empire et une gestion des compétences et caractéristiques pour chaque unité/fourmis (cette partie etant encore a l'étude, et pas sur d'être utilisée au final) . Tu pourra l'utiliser et l'adapter a ton projet si tu veux |
|
|
Friday 02 April 2010 à 12:01
Message
#24
|
|
Myrmécomorphe Groupe: Contributeurs Messages: 5 633 Inscrit: 20/08/2007 Lieu : Armentières (59) Membre No.: 1 645 |
Les fourmis se contentent généralement de l'eau contenu dans leurs aliments et de l'hygrométrie de l'air pour le couvain.
Un concours de la meilleure simulation de colonie de fourmis? Il faut que tu tranches définitivement Gunny entre : - jeux de gestion de fourmis - simulation réaliste d'une colonie et que tu changes le titre de ton sujet qui est peut-être un peu ambiguë -------------------- |
|
|
Friday 02 April 2010 à 12:50
Message
#25
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
Hello Je te conseille de faire un cahier des charges pour ton projet, ou encore mieux, un game design document le plus complet possible. Cela te permettra de poser tes idées, voir les points qui posent problème et les pistes explorables. Ca nous permettera aussi de te faire des propositions sur chacun de tes problèmes en ciblant mieux la réponse à tes desirs. Car sinon, chacun partira dans son "délire perso" sans doute loin de ton idée de départ. Je suis en train de reprendre le mien et le posterait quant il sera à peut près complet. Mon projet se basait sur un système à la Age of Empire et une gestion des compétences et caractéristiques pour chaque unité/fourmis (cette partie etant encore a l'étude, et pas sur d'être utilisée au final) . Tu pourra l'utiliser et l'adapter a ton projet si tu veux Je vous ai demandé des infos sur une ouvrière Lasius niger A part sipatte, vous trouver encore le moyen de répondre à coté De me dire moi jvois les choses comme-ci, comme cela ! Bha faites donc Je sais que j'ai besoin d'un maximum d'infos sur une ouvrière comme base de travail. On en est pas encore au stade de concevoir les premiers dessins. C'est l'étape de recherche de d'information. De mon point de vue, il est plus rapide de soliciter leurs connaissances sur le sujet, plutot que de me plonger dans des lectures longue et parfois fastidieuses pour ne sortir qu'une petite information sur un élément. Bha je vais faire ma tambouille de mon coté, j'irai sur le chan IRC si jamais j'ai des questions. |
|
|
Friday 02 April 2010 à 16:34
Message
#26
|
|
Myrmécomorphe Groupe: Contributeurs Messages: 5 633 Inscrit: 20/08/2007 Lieu : Armentières (59) Membre No.: 1 645 |
Dommage si vous faites ça chacun dans votre coin
-------------------- |
|
|
Friday 02 April 2010 à 19:49
Message
#27
|
|
Error 404 Groupe: Contributeurs Messages: 1 073 Inscrit: 24/06/2008 Lieu : Annecy Membre No.: 2 260 |
L'idée d'un élevage virtuel d'une colonie de fourmi est intéressante et pour la communauté, et pour moi d'un point de vue programmation. J'ai suivi un peu ce post qui m'intéresse beaucoup. Pour la question d'interractivité évoquée dans le thread si on parle d'élevage virtuel : l'interractivité ne peut-elle pas se résumer comme dans la réalité à fournir de la nourriture (et éventuellement humidifier). Devant nos tube/ADC on est plus dans la contemplation que dans l'action Dans un premier temps, il faudrait se mettre d'accord sur une première espèce. ... détailler au mieux pour que je puisse définir de manière optimum et le plus proche de la réalité. Trop de détail peut parfois être préjudiciable... Limite toi à des comportements simple et communs à toutes les espèces : déplacements, se nourrir, nourrir les autres, (creuser) Définie tes caractéristiques dans des constantes que tu pourras ensuite ajuster pour "tunner" le tout et te rapprocher de la réalité. ( tu pourras par la suite utiliser des fichiers de config par espèces) 2D, tout faire en horizontal, en isométrique, un mix horizontal pour l'air de chasse et vertical pour le nid ? 2D tout horizontal ou tout vertical pour commencer ... toujours dans l'optique de commencer simple Est-ce que l'on peut m'expliquer plus en détail le fonctionnement des phéromones pistes ? J'avais décomposé le problème de la sorte : 1 - Déplacement aléatoire : on avance et parfois on tourne 2 - Détection de la nourritue (champ de vision de la fourmis - rayon limité) 3 - Retour direct au nid par le chemin le plus court (et un peu d'aléatoire pour éviter les blocages du au obstacle) tout en déposant des phéromones. Les phéromones doivent d'évaporer et pouvoir se cumuler suite à des dépôts successifs (principe de l'auto-amplicifcation et détection du chemin le plus court) 4 - La fourmi repart chercher de la nourriture en suivant ses propres phéromones (qui serviront au autres pour l'étape 2 prenant le dessus sur la détection visuelle) 5 - Les autres ouvrières trouvent la nourriture et amplifient - entretiennent la piste odorante C'est pas compliqué si l'on est méthodique. D'autant plus si tu garde le principe qu'antena indique http://www.acideformik.com/forums/index.ph...=12660&hl=# comportements simples combinés = comportement complexe. Principe du "basique" jeu de la vie. C'est d'ailleurs un des points fascinants de l'auto-organisation des fourmillières réelles ou virtuelles -------------------- |
|
|
Friday 02 April 2010 à 21:02
Message
#28
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
J'ai déjà des algo de déplacement "typé" fourmis, et c'est loin de ressembler à ce qu'elles peuvent faire, il me manque des précisions sur leur "manière de faire".
Le comportement de recherche d'une fourmi n'est pas simple à programmer non plus... Alors oui, on voit 3-5 règles de bases... Mais alors c'est loin d'être simple à programmer car derrière ces règles apparentes, il y a tout un tas de fonctionnements cachés pour essayer de ce rapprocher. Par exemple, une fourmi qui a faim... Première loi de la nature : efficacité énergétique ! La fourmi, sa source de nourriture le plus proche possible, c'est une autre fourmi à coté d'elle. La plus dépensière en énergie, aller sois-même chercher à manger. Le cas extrème, manger le couvain ( semblerait apparaitre dans les fortes carences en protéines ou dans les cas de stresses [ protection de la colonie contre un dévoreur de couvain pour éviter qu'il parasite la colonie ? ] ) Mais entre me premier et le deuxième ? Rien que chercher à manger, est une loi compliquée chez une fourmi ^^ La simplifier à juste " se nourrir" va apporter des problème. ( et je m'y suis déjà cogné, ayant tenté de développé une forme de vie artificielle "typée fourmi" ) |
|
|
Friday 02 April 2010 à 21:29
Message
#29
|
|
Myrmécomorphe Groupe: Contributeurs Messages: 5 633 Inscrit: 20/08/2007 Lieu : Armentières (59) Membre No.: 1 645 |
Quand une fourmi a faim :
- elle demande aux ouvrières autour d'elles, - si son age X par le nombre de refus > valeurR - alors la fourmi passe en mode recherche de nourriture hors du nid (ou recherche sans demander aux autres) Les fourmis âgées sortiront en premier du nid et se feront "vider" au retour par les plus jeunes. Ca répond à ta question? C'est ce genre d'algorithme simple qu'il faut réussir à mettre au point pour l'ensemble de leurs comportements. La particularité de se nourrir avec le couvain sera à mettre au point ultérieurement je pense. Par contre distinguer au moins 2 types de nourriture (sucré et protéiné) sera intéressant pour gérer les équilibres larves/ouvrières. -------------------- |
|
|
Friday 02 April 2010 à 22:22
Message
#30
|
|
eniefaC Groupe: Exposants Acideformik Messages: 801 Inscrit: 05/04/2008 Lieu : Paris / France Membre No.: 2 028 |
Ce sujet est passionnant, je le marque pour cet été. Je compte bien développer un petit quelque chose en php, et en profiter pour découvrir Symphony.
@Gunny, bonne chance, si je peux te donner un conseil : faire toujours au plus simple... Sipatte à raison de le préciser, l'âge de l'ouvrière entre en compte dans sa décision de sortir du nid ou pas. Bastien. |
|
|
Friday 02 April 2010 à 22:22
Message
#31
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
C'est déjà couché sur papier cette différenciation
D'autres choses sont couchées sur le papier on verra dans le futur si cela s'avère juste. |
|
|
Friday 02 April 2010 à 22:26
Message
#32
|
|
Média Groupe: Contributeurs Messages: 879 Inscrit: 19/07/2009 Lieu : Strasbourg Membre No.: 3 697 |
Comme l'explique Sipatte, la trophallaxie est relativement simple à modéliser.
Pour les déplacement, j'avais fait un algo pour simuler la piste phéromonale, en utilisant le pathfinding A*. Je sais pas s'il te sera utilie, mais je vais essayer de le présenter. Pour rappel, le principe du pathfinding A* est de représenter le terrain sous forme de points (les nodes) ayant chacun une valeur, et interconnectés les uns aux autres pour former un maillage ( carré, triangulaire, hexagonal... ). Ici, on peut dire que si le node est à 0, il sera inaccessible, et plus ça valeur est grande, plus il sera facile d'y passer. Le but est d'aller du nœud initial au nœud final via le chemin ayant générant plus de points. Bon le principe est plus complexe que ça (se reporter au site du zero ou c'est très bien expliqué), mais c'est juste pour se remémorer quelques trucs. Donc, on suppose un terrain completement inconnu, et vierge de toutes phéromones. La première ouvrière, exploratrice, évolue aléatoirement sur le terrain, car tous les nodes sont a 1, jusqu'à trouver de la nourriture et retourne au nid (coordonnées fixes et connues, ne nécessitant pas de pistes a suivre pour le retrouver) en déposant sa phéromone. Donc, le node initial est la source de nourriture, et le final est le nid. L'unité connait les coordonnées du nid et tentera d'y retourner, via le chemin donnant le plus de points, en contournant les obstacles (node ayant une valeur de ). On suppose qu'elle ne peut pas revenir sur ses pas, et qu'a son passage, elle modifie la valeur des nodes en leur ajoutant 1 a leur valeur. La fourmis suivant se retrouve sur un terrain marqué, et ira donc par les nodes les plus élevés, jusqu'a la nourriture et reviendra sur ces pas, toujours en augmentant la valeur des nodes par où elle passe. Etc Etc Il va de soit que si une fourmis ne retrouve plus la nourriture au bout de la piste, elle ne deposera plus de phéromones, et que la valeur des nodes décrois avec le temps jusqu'a leur valeur par defaut. Âpres il est possible d'ajouter un test de "recherche de la piste", à appliquer a chaque node, sous la forme d'un jet aleatoire pour savoir si la fourmis trouve bien la piste. Si on obtient un résultat superieur a un seuil, on diminue la valeur du node... ça eviterait d'avoir une piste tout de suite utilisable et permettre au fourmis de se "perdre" |
|
|
Saturday 03 April 2010 à 11:19
Message
#33
|
|
Fourmi coeur de lyonnais Groupe: Exposants Acideformik Messages: 707 Inscrit: 11/02/2009 Lieu : Alsace, Ostwald Membre No.: 2 987 |
Bon j'ai pas u le courage de tout lire alors pardonnez moi si je repete ^^
Je pense que Yaget fais également un jeu. Il envisage d'y mettre plusieurs espece. Ca serait interessant pour vous 2 d'en parler ensemble. Je crois que c'est Yaget hein! En tout cas il y- a un membre qui en fait un. Je crois en XHTML/PHP -------------------- Amicalement
Drakeater Mon suivi de Myrmica sp : http://www.acideformik.com/forums/index.php?showtopic=10371 Mon suivi de Lasius sp noires : http://www.acideformik.com/forums/index.ph...c=10927&hl= Supporter OL! |
|
|
Saturday 03 April 2010 à 11:52
Message
#34
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
Si les autres personnes sont intéressées par mon projet, elles viendront d'elle-meme.
Je n'ai pas le meme objectif que ceux qui font du php/html. Moi ca sera à faire tourner sur PC. |
|
|
Saturday 03 April 2010 à 14:51
Message
#35
|
|
eniefaC Groupe: Exposants Acideformik Messages: 801 Inscrit: 05/04/2008 Lieu : Paris / France Membre No.: 2 028 |
Je crois que c'est pas Yaget mais moi
Mais je suis sûr que je n'ai pas le temps de me lancer là dedans pour le coup, même si je suis avec intérêt l'avancement du projet de Gunny. B. |
|
|
Saturday 03 April 2010 à 18:13
Message
#36
|
|
Fourmi coeur de lyonnais Groupe: Exposants Acideformik Messages: 707 Inscrit: 11/02/2009 Lieu : Alsace, Ostwald Membre No.: 2 987 |
Oups désolé bn21 ^^
-------------------- Amicalement
Drakeater Mon suivi de Myrmica sp : http://www.acideformik.com/forums/index.php?showtopic=10371 Mon suivi de Lasius sp noires : http://www.acideformik.com/forums/index.ph...c=10927&hl= Supporter OL! |
|
|
Friday 09 April 2010 à 00:49
Message
#37
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
Architecture du déplacement de recherche:
1) Création d'une grille centrée sur la fourmi ( 32*32 cases, taille des cases à définir) 2) Sélection de coordonnées aléatoires dans cette grille. 3) création du chemin entre les coordonnées courantes de la fourmi vers les nouvelles coordonnées. 4) Parcourt du chemin 5) Une fois arrivée au point d'arrivé, création d'un point de phéromone 6) Vérifier si dans un périmètre donné autour de la fourmi il n'y a pas une source de nourriture. Si la fourmi trouve une source de nourriture: 1) L'orienter vers la fourmilière. 2) Prendre le point de phéromone le plus proche dans la direction de la fourmilière ( récupération de ces coordonnées ) 3) Création de la grille 4) Création du chemin 5) parcours du chemin 6) Marquer le point en tant que "noeud nourriture" Si pas de nourriture après un certain nombre de recherche : -Meme principe que le cas où il y a une source de nourriture sans marquage et sans renforcement de phéromone. --------------- Je pose l'hypothèse que le nombre d'itération de recherche doit être dépendant de l'age de la fourmi/fourmilière. Je pose l'hypothèse que le rayon de déplacement de la fourmi pour chaque itération sera dépendant de son âge. Je pose l'hypothèse que la fourmi SAIT où se trouve spatialement la fourmilière, peu importe le repère spatial utilisé. Reste plus qu'à coder ! Toutes les recherches et créations postées sur ce forum seront la propriété du forum et de sa communauté. Si je trouve un quelconque abus, je passerai tout cela sous silence et garderait la totale exclusivité du projet pour sipatte, hugo et moi. ( Avec dépot de brevet et tout le bordel si ca va vraiment trop loin, je sais comment déposer du code source et/ou un logiciel ) Ce projet n'est pas à but lucratif, il est à but expérimental. ( ce qui ne veut pas dire que je ne veuille pas protéger mon travail et celui de la communauté un minimum ) |
|
|
Friday 09 April 2010 à 08:25
Message
#38
|
|
Myrmécomorphe Groupe: Contributeurs Messages: 5 633 Inscrit: 20/08/2007 Lieu : Armentières (59) Membre No.: 1 645 |
Bonnes bases
Si j'ai bien compris, la grille 32x32, c'est le champs de détection proche (longueur des antennes). Pour avoir un déplacement plutôt vers l'avant, il faudrait un champ de détection vers l'avant (16x32 ou un peu en cône). Ce qui me gène un peu, c'est que tu n'utilises pas les points de phéromones pour la recherche de nourriture. Elle privilégient pratiquement toujours les pistes déjà marquées + une part d'aléatoire. PS : Il n'y a encore rien a protéger pour l'instant hein Purée, ça me donne envie de me remettre à la programmation tout ça. -------------------- |
|
|
Friday 09 April 2010 à 14:42
Message
#39
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
Chaque case de la grille peut avoir une taille définie, si mes cases font 5*5 pixels, ca fera une grille de 5*32=160 pixel en hauteur et en largeur autour de la fourmi.
Bien entendu, je peux déplacer l'origine de la grille comme bon me semble Pour ce qui est de la recherche de nourriture, tout va dépendre du comportement de la fourmi. Dans le cas d'une exploration pure, c'est cartographie du terrain. Dans le cas d'une exploration "nourricière", se sera différent. Là, j'établis les fonctions de base. La grille, sert essentiellement et presque exclusivement pour le path finding. Pour ce qui est de la recherche de nourriture, c'est à la fin du chemin que j'effectue cette recherche. J'ai pour cela plusieurs méthodes. Faire une recherche circulaire autour de la fourmi ou bien une technique plus lourde mais qui permettrait de faire une recherche conique, à savoir utiliser une ligne de vue. Je trace une ligne, je regarde si elle rentre en collision avec un objet, j'identifie cet objet, si c'est de la nouriture, je stop la vérif et je dirige la fourmi vers cet endroit. Sinon, je modifie l'angle et j'effectue un balayage de gauche à droite. Reste à définir la longueur de ce cone de recherche. Car plus il sera grand, plus je devrai faire de vérification pour éviter qu'un "tir de ligne" passe à coté d'une source de nourriture. En terme de temps de codage, une fois tout bien défini, ca devrait pas dépasser les 4h de codage effectifs. Le plus long, c'est la conception du machin pour intégrer le plus de paramètres possible. Et dans le cas où j'en oublie, j'essaie de faire mon code suffisamment souple pour pouvoir le remodeler rapidement. Après, rien ne t'empêche de profiter de notre travail, pour toi faire aussi quelque chose dans un autre langage |
|
|
Friday 09 April 2010 à 18:10
Message
#40
|
|
Ouvrière Groupe: Exposants Acideformik Messages: 432 Inscrit: 20/11/2008 Lieu : Toulouse Membre No.: 2 764 |
Joli projet!
Sinon au lieu d'une espèce facile à élever, pourquoi pas une rare? Les Lasius niger, tout le monde a l'occasion d'en élever, alors que certaines personne ne le pourra jamais... Alors pourquoi ne nous donnons pas cette chance? -------------------- Walk on, walk on, with hope in your heart,
And you'll never walk alone... You'll never walk alone. "ils ne savaient pas que c'était impossible, alors ils l'ont fait". |
|
|
Version bas débit |