Suite au topic sur les robots résolveur de labyrinthe, Pzaf a lancé l'idée de faire un simulateur. (voir: )
J'ai proposé de le faire en java, parce que c'est à mon avis l'option la plus simple et la plus adaptée.
Il faut maintenant qu'on voie ce qu'il serait intéressant d'intégrer dans une premiere version, et dans les versions futures, pour ne pas prendre de mauvaises décisions sur les fondements du programme à écrire.
Ce serait bien aussi que les personnes intéressées soit par l'utilisation ou la contribution au projet se manifestent !

Pour l'instant, je propose les listes de features suivantes:
Version basique
- mode texte: tous les résultats de la simulation sont retournés sous forme de lignes de texte
- pas d'interaction: tous les parametres de l'environnement et des robots sont déterminés 'en dur' dans le programme
- monde en 2D: il est beaucoup plus facile de faire un simulateur 2D, et c'est suffisant pour les robots qui nous intéressent.
- pas de simulation 'réaliste' coté physique: l'idée n'est pas d'avoir quelque chose qui soit représentatif du temps écoulé, mais plutot d'une succession de l'état du monde et des objets (robots) ; typiquement, on ne va pas forcément voir le robot évoluer ms par ms, mais plutot étape par étape (d'une case à l'autre du labyrinthe, par exemple)
- concentration sur les aspects IA: l'objectif du simulateur n'est pas de tester le code du robot, mais son comportement ; en gros, voir si la stratégie définie fonctionne, est efficace... mais pas de voir si le robot roule droit !
Version future
- petit affichage graphique du monde (quelque chose de modeste, hein

- possibilité de paramétrer mondes, différents objets, et de sauver/charger ceux ci, ainsi que les différents états de simulation.
- raffinement des modeles pour les robots, actionneurs et capteurs, afin de pouvoir tester les algorithmes de traitement eux aussi (par exemple, portée des capteurs, gestion simple de trajectoires...)
- possibilité de régler des parametres graphiquement, de définir des aspects de l'IA non pas en dur dans le code du programme, mais à l'aide d'une interface graphique (boutons pour définir une séquence d'actions, langage type basic interpreté).
- possibilité de charger différentes IA de deux personnes différentes pour voir comment elles se comportent 'l'une contre/en présence de l'autre'
Ce que le simulateur ne fera jamais
(ou en tout cas ce ne sera pas moi qui le ferai)
- avoir un moteur physique réaliste
- etre précis quant au temps simulé/temps réel ; c'est lié à l'aspect physique. C'est prévu pour servir de simulateur d'IA ultra basique, rien de plus !
- etre en 3D
- garantir un bon fonctionnement ; ca veut dire que je développe pour me faire plaisir, tant mieux si ca vous amuse aussi, tant pis si vous etes du genre raleur à en demander toujours plus... en bref, je ne compte absolument pas me prendre la tete à maintenir un truc, faire en sorte que ca marche au poil dans toutes les situations et partout.
- proposer une interaction directe avec un robot réel (ce n'est pas completement impossible, mais c'est un travail immense, dans lequel je ne compte pas me lancer, meme à moyen terme).
- le café ! (et c'est bien dommage

Voila le premier jet... j'attends vos commentaires, et de voir si ca intéresse des gens, aussi bien pour l'utilisation/le test que la contribution à la programmation. Pour info, quand on connait le C (ou langages similaires), le java n'est pas imbuvable, et il y a surement quelque chose que vous pouvez faire !