Elevage virtuel d'une colonie |
Bienvenue invité ( Connexion | Inscription )
Elevage virtuel d'une colonie |
Wednesday 31 March 2010 à 21:01
Message
#1
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
Bonsoir à tous !
Maintenant que mon projet est terminé, je peux passer à autre chose. 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. Dans un premier temps, il faudrait se mettre d'accord sur une première espèce. Définir son comportement, ces caractéristiques physiques, ces habitudes alimentaires, ces besoins environnementaux, sa vitesse de croissance, détailler au mieux pour que je puisse définir de manière optimum et le plus proche de la réalité. Ensuite, voir comment afficher tout ca en 2D, tout faire en horizontal, en isométrique, un mix horizontal pour l'air de chasse et vertical pour le nid ? Voilà dans un premier temps ^^ |
|
|
Wednesday 31 March 2010 à 21:14
Message
#2
|
|
Myrmécomorphe Groupe: Contributeurs Messages: 5 633 Inscrit: 20/08/2007 Lieu : Armentières (59) Membre No.: 1 645 |
Super idée
Dans un premier temps, tu peux commencer par l'ADC uniquement. Et une espèce bien connu : Lasius niger par exemple Déjà simuler les modes de déplacement en fonction de traces odorantes volatiles déposées plus ou moins abondamment en fonction de l'intérêt de la source. La collecte de nourriture énergétique (sucrée). Leurs dépenses et réserves énergétiques. En 2D il y a déjà pas mal de choses à faire. Y a déjà du boulot -------------------- |
|
|
Wednesday 31 March 2010 à 21:27
Message
#3
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
Que se soit une espèce facile d'élevage, ou difficile, ca ne change pas grand chose au développement.
Avec une espèce relativement permissive, on voit moins certains paramètres... Est-ce que l'on peut m'expliquer plus en détail le fonctionnement des phéromones pistes ? Et il me faut vraiment quelque chose de plus détailler que bha la fourmi passe ici, elle dépose sur son chemin ces phéromone et voila ! J'ai encore du mal à comprendre commetn s'effectue la première "piste"... Le degrès d'initiative d'une ouvrière par rapport à ces pistes... Plus je pourrai affiner mes réglages, plus ca sera convaincant. Et mes connaissances sur les fourmis, leur biologie et leur fonctionnement étant limité, j'ai grandement besoin de vos connaissances pour déjà établir un plan de fonctionnement de l'ouvrière type et ces caractéristiques. |
|
|
Wednesday 31 March 2010 à 21:46
Message
#4
|
|
Error 404 Groupe: Contributeurs Messages: 1 073 Inscrit: 24/06/2008 Lieu : Annecy Membre No.: 2 260 |
Je relink un ancien sujet qui pourra peut être t'inspirer
http://www.acideformik.com/forums/index.ph...st&p=102297 -------------------- |
|
|
Wednesday 31 March 2010 à 22:35
Message
#5
|
|
Cocon Groupe: Membres Messages: 294 Inscrit: 16/03/2007 Lieu : Toulouse Membre No.: 1 291 |
CITATION J'ai encore du mal à comprendre comment s'effectue la première "piste"... . Le degrès d'initiative d'une ouvrière par rapport à ces pistes... Dès qu'elle trouve de la bouffe elle rentre e ligne 'droite' en laissant une trace olfactive, plus ou moins importante en fonction de ce qu'elle pense de cette source de nourriture (qualité/quantité). ^^ Après une fourmis est recruté de manière plus ou moins autonome.. soit elle trouve la piste et ce démerde, soit il y'a recrutement par tandem, voir plus. Du point de vue du jeux, contrôler totalement la(les) première(s) ouvrières avant de laisser une "ia" prendre le contrôle plus tard quand le nombre deviens trop important ? -------------------- "Pressé fortement sur ma droite, mon centre cède, impossible de me mouvoir, situation excellente, j'attaque.", Ferdinand Foch
"La guerre ! C'est une chose trop grave pour la confier à des militaires.", Georges Clemenceau |
|
|
Wednesday 31 March 2010 à 23:07
Message
#6
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
Bon... la fourmi part de la fourmilière... Comment fait-elle pour retrouver son chemin, une fois qu'elle a trouvé quelque chose d'intéressant ? Repère visuel ? Phéromone piste différente de phéromone manger ?
C'est ce genre de truc que je voudrais savoir. Sans aller jusqu'à la démonstration scientifique... Par exemple pour une fourmi... Savoir combien elle va transporter de nourriture, va être dépendant de pa mal de paramètres je pense... Son état d'appétit, si son jabot social est plus ou moins plein, la taille de la fourmi impactant la taille du jabot ainsi que la quantité transportable et par extension, la rapidité à laquelle est consommé un point de nourriture. Et voir si la quantité de nourriture disponnible est suffisante ou non Sans aller jusqu'a prendre le poid réel avec les micro grammes... Faire ce genre de détail n'est pas un soucis, du moment que je rassemble les informations ^^ Et autant faire participer le forum vu que c'est avant tout un projet pour le forum Graphiquement, je travaillerai dans un premier temps avec des ronds, des triangles et des rectangles |
|
|
Wednesday 31 March 2010 à 23:28
Message
#7
|
|
Média Groupe: Contributeurs Messages: 879 Inscrit: 19/07/2009 Lieu : Strasbourg Membre No.: 3 697 |
hello
j'avais aussi pensé a faire un truc du genre. Etant fan de JdR ( les vrais, ac des figurines et des bouquins, type Dungeons et Dragon, WarHammer, RuneQuest etc, pas les trucs 3d.. ), j'avais commencé un système de jeu type jdr adapté aux fourmis sur le papier, qu'il faudrais que je retrouve, avec des compétences et caracteristiques, des aptitudes se développants avec l'age et l'expérience, etc. Apres, coté langage, j'hesitais entre C/GTK+/SDL, C++/QT4 et Python, pour de la 2d. J'avais aussi pensé a un moteur de rendu bâtard 2d/3d ( map en 2d, perso en 3d) a la Age of Empire, ms c'est chiant a coder Bien sur, un code propre et multiplatforme est de rigueur J'essayerais de poster le système de jeu a l'occas |
|
|
Thursday 01 April 2010 à 00:10
Message
#8
|
|
Larve Groupe: Néo-inscrit Messages: 40 Inscrit: 19/05/2008 Lieu : Rosas, Catalogne, Espagne Membre No.: 2 154 |
J'ai ajouté des trucs qui peuvent t'interesser dans le sujet de Tibo.
|
|
|
Thursday 01 April 2010 à 02:30
Message
#9
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
Commençons par "découper" notre fourmis en comportements, et les besoins associés, en tête, nous aurons les 3 besoin fondamentaux à tout être vivant, et ensuite, on va compléter sa fiche physique et comportementale au fur et à mesure.
Faite un quote de la fiche si vous voulez ajouter des choses. Je ferai une mise à jour du premier message pour intégrer les diverses avancées. Avant que je ne commence à coder quoi que se soit, il faut coucher sur papier une bonne majorité des choses. Ca permet de définir à l'avance les besoins et la construction du code. ----------------------------------- FOURMI : Besoins fondamentaux : -eau -nourriture -repos Caractéristiques physique : -force -vitesse -endurance -taille -age Comportement individuels : -faim -soif -fatigue Comportement sociaux : -soin des oeufs -soin des larves -soin des cocons ----------------------------------- Si un développeur plus confirmé que moi pense que je m'y prend mal, qu'il n'hésite pas à le faire savoir ici ou en privé |
|
|
Thursday 01 April 2010 à 07:16
Message
#10
|
|
Média Groupe: Exposants Acideformik Messages: 891 Inscrit: 15/06/2008 Lieu : Rhône-Alpes, Lyon Membre No.: 2 228 |
Salut !
Si tu veux faire quelque chose de vraiment abouti il peut être intéressant de lire un ou deux bouquins qui traitent de ces sujets. Ceux de Passera notamment la véritable histoire des fourmis m'avait paru assez complet d'un point de vue expérimental. Tout ce qui est phéromone de piste, trace chimique, etc est bien expliqué A priori les fourmis n'ont pas besoin de repos dans la réalité (me trompe-je ?). -------------------- |
|
|
Thursday 01 April 2010 à 09:47
Message
#11
|
|
Myrmécomorphe Groupe: Contributeurs Messages: 5 633 Inscrit: 20/08/2007 Lieu : Armentières (59) Membre No.: 1 645 |
+1 avec nolan (il se trouve facilement en médiathèque ce très bon bouquin)
Pas facile de fatiguer une fourmi (abandonner l'endurance : paramètre négligeable pour moi) Pas d'orientation avec le soleil ou comptage de pas pour L. niger. Partir sur la base de L. niger, c'est pas parce qu'elle sont faciles d'élevage, mais bien parce qu'il s'agit de l'une des espèces les plus étudiées et sur laquelle ont a le plus d'info. Je pense qu'effectivement il faut aborder la question un peu différemment. En terme de besoins vitaux et d'intérêt pour la fourmi. En terme de besoins vitaux et d'intérêt pour la larve. En terme de besoins vitaux et d'intérêt pour la reine. En terme de besoins vitaux et d'intérêt pour les mâles. Sachant que le besoin vital surpasse généralement l'intérêt. Et qu'une fois les besoins vitaux assouvis, les actions sont déterminées par les intérêts individuels. Quand une fourmi a besoin de nourriture, elle peut en demander à une voisine. Si ses voisines n'en n'ont pas à partager -> recherche plus lointaine. Les besoins vitaux de la reine sont le premier intérêt des fourmis, puis ceux des nymphes sexuées, des nymphes, des larves et des œufs. En fait il faut une hiérarchie dans les priorités d'action des fourmis. Hiérarchie qui puisse évoluer dans le temps. Pour les phéromones de piste, la vidéo de Bert Hölldobler montre ça très bien. Les phéromones sont déposées régulièrement sur le chemin que chaque fourmi empreinte. Une dose plus ou moins importante de phéromone est déposée en fonction de l'intérêt de la source sur le chemin de retour. Les phéromones s'évaporent avec le temps. Le retour se fait en cherchant le maximum de phéromones. Le départ en recherche se fait en cherchant là où il y a un peu moins de phéromones. Autres paramètres : - durée de vie (dépendant du couple T°-jours) - températures (influe sur la vitesse et développement couvain), - une part d'initiative individuelle, - sécurité des lieux … Ce message a été modifié par sipatte: Thursday 01 April 2010 à 12:19 -------------------- |
|
|
Thursday 01 April 2010 à 12:02
Message
#12
|
|
Média Groupe: Exposants Acideformik Messages: 891 Inscrit: 15/06/2008 Lieu : Rhône-Alpes, Lyon Membre No.: 2 228 |
Pourquoi ne pas faire un jeu de gestion un peu comme les sims ?
Du genre on a un capital ouvrière qui doivent s'occuper d'oeufs et de la reine en fournissant des soins selon une jauge de santé qui se détériore dans le temps. Cherche tu à faire une colonie qui se développe de façon autonome ou alors un jeu où l'on doit gérer la colonie ? -------------------- |
|
|
Thursday 01 April 2010 à 12:22
Message
#13
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
C'est pas compliqué si l'on est méthodique.
Et si il y a des oublis, ( certains sont volontaire dans ma fiche pour faire participer le plus grand nombre ) les contributions sont les bienvenues Donc on reprend la fiche : CODE FOURMI OUVRIERE: Caractéristiques physique : -force -vitesse -taille -age Définition comportementale individuelle: 1)Besoins vitaux : -soif -faim -fatigue Si les besoins en 1 sont satisfaits: { 2)Intérêts vitaux de la colonie : 2.1)Besoin vitaux de la reine 2.2)Besoin vitaux des ouvrières 2.3)Besoin vitaux du couvain } Nolan : Tout dépend de ce que veulent les membres ^^ Je peux faire quelque chose de totalement indépendant où l'utilisateur ne fera qu'ajouter des éléments environnementaux. Ou bien faire quelque chose où le joueur pourra être plus dirigiste. Dans les deux cas, il faut introduire une certaine autonomie aux individus. |
|
|
Thursday 01 April 2010 à 12:50
Message
#14
|
|
Média Groupe: Exposants Acideformik Messages: 891 Inscrit: 15/06/2008 Lieu : Rhône-Alpes, Lyon Membre No.: 2 228 |
Je penses qu'un ant sims pourrait être marrant.
Puis plus facile à mettre en place au niveau des besoins etc...! On pourrait laisser les fourmis évoluer seule ou leur indiquer les taches à réaliser: chercher de la nourriture, s'occuper de la reine, du couvain. Elles auraient un certain nombre de besoin qui devraient être satisfaits. On pourrait même partir sur une société mutlicaste où l'on déciderait ou non de la production de major (par exemple Messor, certaines graines seraient trop lourde pour des minor et seulement ramassable par des majors mais les majors coutent plus cher en nourriture, etc... Une sorte de jeu de gestion ou il faut faire des compromis entre besoin individuel de la fourmi, gestion de la nourriture, soin à la reine, soin au couvain, entretient du nid.) En grandissant la colonie aurait plus d'ouvrières mais demanderait plus de nourriture, plus de soin au niveau du couvain car plus de couvain, un plus grand nid, etc... -------------------- |
|
|
Thursday 01 April 2010 à 19:43
Message
#15
|
|
Média Groupe: Exposants Acideformik Messages: 891 Inscrit: 15/06/2008 Lieu : Rhône-Alpes, Lyon Membre No.: 2 228 |
Bon, je penses qu'il faut déjà se décider sur le type de programme. Autonome ou plus interactif ?
Pour un programme interactif voila comment je vois les choses: On part avec une reine, qui a un certain nombre de ressources. On décide de la ponte de la reine, premier compromis entre ressources disponible et ressources nécessaires au développement du couvain. Si plus aucune de ressource possibilité pour la reine de sortir à l'extérieur pour chercher de la nourriture mais un facteur risque de prédation entre en compte, solution risquée. Deuxième étape le développement de la colonie, les ouvrières interagissent entre-elles de façon autonome au niveau des trophalaxies c'est à dire que quand de la nourriture est disponible dans le nid ou dans le jabo social (prévoir deux jauges de nourriture, une partageable et une autre non-partageable) d'une ouvrière il n'y a nul besoin d'action pour que les ouvrières se nourrissent. Lorsque la nourriture vient à manquer, c'est à nous d'envoyer une ou des ouvrières dehors pour en chercher avec possibilité de mettre en place un recrutement si la source de nourriture nous parait importante (doser la puissance du recrutement ?) de façon à faire venir d'autres ouvrières. Toujours un facteur prédation ? Au cours du développement l'utilisateur doit donc gérer plusieurs choses: 1/ La recherche du nourriture de façon à ce que les ouvrières puissent "s'entre nourrir". 2/ Le soin apporté aux couvain (possibilité de dédié un certain nombre d'ouvrière à cette tache jusqu'à nouvel ordre) 3/ Le soin à la reine 4/ La vitesse de ponte de la reine et éventuellement le type de ponte (Major, minor...) 5/ L'entretient du nid (sortir les déchets sinon risque de maladie, entretenir la structure sinon risque d'éboulement). Quoi d'autre ? Pour chaque tache il serait intéressant de pouvoir allouer un certain nombre d'ouvrière et de modifier ce nombre en fonction de la demande. Je penses que ça peut faire quelque chose d'excellent entre jeu de gestion et sims Qu'en pensez vous ? (Voila un exemple de jeu de gestion : http://www.divertissez-vous.com/jeux-gratu...8/mc-donald.php ) -------------------- |
|
|
Thursday 01 April 2010 à 20:55
Message
#16
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
Nan mais heu...
Vous m'aidez pas là... Jvous demande de choisir entre un élevage virtuel autonome, et un autre ou le joueur est dirigiste avec une IA "débrayable". Et de m'aider à définir le comportement type d'une ouvrière. Soit vous montrez un peu plus de rigueur en répondant à mes questions, soit je fais ca dans mon coin, en voyant ca en privé avec sipatte et quelques autres membres trié sur le volet pour les questions comportementale. Pour le dév et le gameplay, on en est encore TRES loin de décider quoi que se soit! Pas une seule ligne de code n' a été écrite, et je ne commencerai à coder que quand un minimum de paramètres seront définis à savoir ( et pas forcément dans l'ordre ): 1) Comportement et paramètres d'une ouvrière 2) Comportement et paramètres d'une gyne 3) Paramètres du couvain 4) Type d'affichage 5) Type de jeu Une fois qu'on aura fait le 5, je reviendrais vers vous avec des trucs jouable pour voir les ajouts au gameplay à faire. En attendant, ca ne sert strictement à rien. |
|
|
Thursday 01 April 2010 à 22:05
Message
#17
|
|
Média Groupe: Exposants Acideformik Messages: 891 Inscrit: 15/06/2008 Lieu : Rhône-Alpes, Lyon Membre No.: 2 228 |
Désolé je m'enflamme. Pour moi ce serait la deuxième solution, avec IA débrayable. Il va falloir être plus précis sur les questions comportementales. -------------------- |
|
|
Thursday 01 April 2010 à 22:23
Message
#18
|
|
Myrmécomorphe Groupe: Contributeurs Messages: 5 633 Inscrit: 20/08/2007 Lieu : Armentières (59) Membre No.: 1 645 |
Dans un premier temps, je suis effectivement plutôt d'avis de construire un modèle le plus fidèle possible à la réalité, où les seuls paramètres modifiables par l'utilisateur soient les éléments de l'environnement.
Cela pourra nous permettre aussi de bien comprendre certains mécanismes (recrutement, choix et répartition des tâches, …) Je me suis trompé, en fait les besoins vitaux de la reine sont supérieurs à ceux des ouvrières. Pas de soif ou de besoin de bière chez les fourmis (anthropomorphisme?) et pas de fatigue. Il y a également une hiérarchie entre l'alimentation des jeunes et vieilles ouvrières. Je réfléchi comment hiérarchiser tout ça de façon simple… Affichage 2D suffisant dans un premier temps. -------------------- |
|
|
Friday 02 April 2010 à 00:15
Message
#19
|
|
Cocon Groupe: Membres Messages: 253 Inscrit: 02/10/2008 Lieu : Picardie Condren 02 Membre No.: 2 604 |
Bha, un chien ressent la soif et donc bois de l'eau, pour moi, tout être vivant à besoin d'eau pour vivre ( peu importe le mode d'ingestion de l'eau ).
Je ne connais pas du tout le metabolisme d'une fourmi... CA m'étonnerait qu'elle ne puisse se contenter que d'une nourriture sèche et donc on forcément un besoin en eau assouvi d'une manière ou d'une autre ( liquide sucré sur les puceron, rosée du matin, humidité ambiante ) |
|
|
Friday 02 April 2010 à 01:53
Message
#20
|
|
Larve Groupe: Néo-inscrit Messages: 40 Inscrit: 19/05/2008 Lieu : Rosas, Catalogne, Espagne Membre No.: 2 154 |
L'interet de ce genre de programme, c'est de voir emerger des comportements complexes à partir de regles simples.
Les actions doivent être basiques et pas (ou peu) "dirigées" : le plus court chemin que les fourmis empreintent entre la fourmilière et la source de nourriture est le fruit de décisions basiques et locales qui mênent à un optimum global, pas à des décisions "réfléchies" et centralisées des fourmis. Pour arriver à ça, je verrai bien pour chaque fourmi des compteurs, ou vases qui se remplissent et se vident. Des seuils pour chaque compteur déclenchent les actions. Si plusieurs seuils sont franchis en même temps, un systeme de coefficient pondère le tout et permet de gerer quelle action a la priorité sur quelle autre. La capacité de chaque vase et les seuils peuvent varier d'une fourmi à l'autre et même pour une même fourmi au cours du temps. Le but est qu'à partir d'une fourmi "de base", et en fonction de son histoire et de son environnement, elle sera amenée à preferer s'occuper du couvain quand elle est jeune, puis s'occuper de la fourmilière puis enfin sortir et chercher de la nourriture ; tout cela induit par des regles simples. Le plus dur est de trouver quelles regles simples appliquer... C'est aussi une solution beaucoup plus robuste aux changement de l'environnement. quels compteurs/vases ? faim soif danger ... Propritétés fourmis seuil faim seuil soif seuil danger etc : 1 seuil plus par vase(je suis pleine d'eau/ normal / j'ai soif / je suis hyper deshydraté) masse longueur rendement energetique pour marcher et transporter metabolisme general (energie depensée au repos) odeur propre(composé de plusieurs valeurs distinctes) vivante/morte (peut être une des valeur de l'odeur) ... Actions dans l'environnement avance (1 case) tourne à gauche (45º) tourne à droite (45º) avale nourriture/eau transporte regurgite nourriture/eau capte odeur (du pixel de sa position et des 3 pixels devant elle, séparément), action réalisée à tout moment. Renvoie plusieurs valeurs. emet odeur "fourmiliere"(pheromone) emet odeur "y'a d'la bouffe" emet odeur "y'a d'l'eau" emet odeur "j'ai soif" ou "j'ai super soif" (émis avec une certaine intensité) emet odeur danger emet odeur pour certains autres seuils dépassés attaque (ben oui, si la bouffe bouge... ) Propriété environnement sur chaque pixel : presence bouffe(+quantité)/absence bouffe presence eau...idem bouffe presence odeur j'ai soif, j'ai faim, y'a d'l'a bouffe, etc pour chaque odeur Les odeurs s'évaporent avec le temps, et plus vite dehors que dedans, et plus vite quand il fait chaud que froid ... Exemple d'une action/comportement 2 fourmis se font face La fourmi S a soif (seuil de soif dépassé) La fourmi E a plein d'eau S emet l'odeur j'ai soif E capte l'odeur j'ai soif sur la case devant elle E regurgite la moitié de ce qu'elle a en trop (action programmée) S capte l'odeur d'eau S avale eau l'odeur "j'ai soif" est très faible et s'évapore vite =>2 cas : S a encore soif => ça recommence du début S n'a plus soif => S et E continuent leur vie Hop, c'était une trophalaxie J'arrête là pour le moment. L'utilisateur pourrait agir sur les différents seuils. En mode solo chacun se prepare un style de fourmi avec les seuils qu'il trouve adapté et hop, en mode multi 2 joueurs balancent leur fourmilière dans une arène et on regarde qui gagne. Gunny : J'attends ton avis sur ce que je viens de pondre, histoire de savoir si je poursuis dans la même voie ou si c'est completement hors sujet... (j'ai des tonnes d'idées sous le coude). |
|
|
Version bas débit |