Swarm
mots clés : jeu de stratégies, algorithmes génétiques, intelligence artificielle, systèmes multiagents
Jeu de stratégie à but ludique et pédagogique.
Jeu
Le game play se déroulera comme un jeu de stratégies ou l'on forme ses créatures pour qu'elles combattents ou compétitionnent avec les créatures des adversaires.
L'originalité réside dans le fait que les créatures se reproduisent et évoluent en fonction des paramètres de l'environnment.
Le joueur au lieu de dessider de créer tel ou tel type de créatures il ne peut pas les choisir mais par contre il modifie les conditions environnementales ( un peu comme lemmings ou ils évolueraient) qui modifieront par le processus évolutionnaire les créatures (vrai système d'évolution pas comme Creatures ou Spores).
Un premier intérêt ludique est d'observé curieux les créatures évoluer, se spécialisées et de devenir de plus en plus intelligentes ( un peu comme les Sims).
Le second intérêt est de voir comment elles réagissetn face à des créatures adverses.
Par exemple après un certain temps 2 territoires de 2 joueurs deviennent accessibles (e.g. baisse des eaux) et les créatures se retrouvent en compétitions.
Celui qui aura donné les conditions environnementales les plus intéressantes ( varié, permettant la compétition entre ses propres créatures) aura les créatures les plus résistantes.
On pourra réitérer les phases de jeux (développement et compétition).
Objectifs
Faire un jeu challenging
Vraies stratégies et compréhension de l'évolution à développer pour gagner.
Montrer la vraie théorie de l'évolution.
Contrairement à la plupart des jeux, les créatures évoluent au hasard mais en fonction de l'environnement elles se reproduisent ou pas.
Montrer l'efficacité et le principe des algos génétiques.
Faire comprendre:
- L'effet instable de trop de spécialisation ( importance de la température en algo génétique)
- Sauts évolutifs
- Méta évolution ( évolution de la reproduction, stabilité de certains gènes ) ...
- Entraide
- Symbiose ( entraide entre différentes espèces )
- Stigmergy ( utilisation du terrain pour communiquer )
Développement
3 principaux blocs à développer.
Simulateurs
- Moteur physique du monde
- Algo génétique de reproduction et évolution en fonction de l'environnement
- éventuellement IA pour simuler des adversaires
- Cuda ou OpenCL : Utiliser la puissance des cartes graphiques ( pour les améliorations finales, utile au début)
- OpenMP : S'il faut parrélélisé (surement trop complexe pour l'apport)
- Si gestion d'un vrai moteur physique (risque d'être lent): OGRE open-source graphics rendering engines
Interface graphique
Idéalement en 3D
- Représentation des créatures.
- Dessin de l'environnement et son évolution (e.g. consommation des ressources).
- Editeur de l'environnnemt (ressources, pluie, températures, terrain, mer etc ...)
- OpenGL : Moteur 3D mais avec peu de moyen pour gérer l'interaction utilisateur ( éventuellement Glui assez moche ou un mixte avec Gtk)
Communication réseaux
- Jouer à plusieurs en réseaux
- Pouvoir augmenter la taille du monde en partageant la puissance sur plusieurs machines.
- Echange du code génétique des créatures
- enet
Jeux pour l’inspiration
A ne pas manquer
- Swim Bots Gratuit (mac, linux, windows) Très bien mais pas assez de créatures, pas assez rapide, pas assez diversifié.
- Evolution Très bien sur la forme mais sur le fond on ne doit pas avoir à choisir sois même les mutations des créatures.
- Spore
Jeu qui s'annonçait un jeu d'évolution, mais là encore c'est le joueur qui manipule les créatures elles même. Très beau mais trop scénarisé.
- Creatures
Attention la encore le joueur manipule trop la créature, seul le monde doit être changé. C’est plus développement individuel (parent-enfant) que évolution d’espèces.
- Jeu de la vie Très important peut être le plus proche même si tout est trop basique. Une bonne base pour partir.
- Créatures virtuelles de Karl Sims Très bien mais trop complexe pour pouvoir assez d’individus et de générations
Inspirations intéressantes
- Black & White Les créatures sont précodées mais le joueur peut agir sur l’environnement.
- Civilizaion
Pour le coté jeu de stratégie au tour par tour, interface graphique mais sinon rien à voir avec la vie artificielle.
- Lemmings
Plein de créatures qui interagissent avec des actions élémentaires. La encore c'est le joueur qui décide, dans notre cas les créatures devraient apprendre à prendre les bonnes décisions ou mourir.
- Starcraft
Pour le coté jeu de stratégie temps réel.
- Bacterium
- NERO - Neuro-Evolving Robotic Operatives
- Framsticks
Eventuellement ?...
Arnaud Blanchard May 2018 ( edit )