[Jeu Web] Leek Wars : Programmation d'IA

Répondre
Partager Rechercher
http://leekwars.com/R/texture/logo.png

Bonjour,

Nous sommes Dawyde et Pilow, deux jeunes développeurs de 20 ans (bientôt 21 pour un)
nous venons vous présenter Leek Wars, un jeu sur lequel nous travaillons depuis 2 ans maintenant, et qui vient de sortir vendredi dernier en version 1.

Présentation du Jeu

Leek Wars est un jeu de programmation et de stratégie par navigateur dont le but est de programmer l’Intelligence Artificielle (IA) la plus performante afin d’affronter et de battre les autres joueurs !

Dans Leek Wars, chaque joueur incarne un éleveur qui s’occupe d’un ou plusieurs poireaux “guerrier-robot-magicien”. Chaque poireau dispose de caractéristiques telles que la force, la vie ou l’agilité qui détermineront la puissance avec laquelle il pourra lancer des sorts ou utiliser des armes, mais également de caractéristiques telle que son niveau, la fréquence de son processeur ou son nombre de coeur qui détermineront les fonctions qu’il pourra exécuter.

Le coeur du jeu repose sur la création d’une Intelligence Artificielle (IA), que le joueur code dans le langage LeekScript, un langage créé spécifiquement pour le jeu, non orienté objet, dont la syntaxe est assez proche du JavaScript et du PHP.

L’éditeur d’IA est directement intégré au site et offre de nombreuses fonctionnalités, comme des raccourcis clavier, une coloration syntaxique ainsi qu’une auto-complétion proposant toutes les fonctions et les constantes du LeekScript.

Pour développer votre IA, Leek Wars met également à votre disposition une documentation complète du LeekScript et un tutoriel complet d’apprentissage, mais ce n’est pas tout.
Vous avez également accès à un environnement de développement et de débuggage permettant de tester votre IA dans des combats de test paramétrables !

Une fois que vous vous sentez prêt à combattre, direction le Potager ! C’est ici que vous pourrez affronter les poireaux des autres joueurs et gagner de l’expérience.

Dans Leek Wars, les combats se déroulent au tour à tour. Vous évoluez sur une grille parsemée d’obstacles placés aléatoirement. À chacun de vos tours, vous disposez d’un nombre de points de tour et de mouvement. C’est là que votre IA entre en scène !
Votre code est exécuté et détermine les actions de votre poireau : se déplacer, attaquer, lancer un sort, parler… Les possibilités sont nombreuses, à vous d’élaborer la stratégie qui vous mènera jusqu’à la victoire.

Lorsque vous aurez amassé assez d’expérience, vous pourrez faire l’acquisition d’un poireau supplémentaire, et alors il faudra adapter votre IA aux combats à plusieurs, un nouveau défi s’offre à vous !

Vous pourrez également fonder ou rejoindre une équipe, pouvant accueillir jusqu'à 40 éleveurs, pour mettre en place à plusieurs des stratégies de combat élaborées.

Si vous rencontrez un problème lors du développement de votre IA ou si vous voulez simplement discuter avec les autres joueurs n’hésitez pas à aller faire un tour sur le forum ou sur le chat global, où les admins et la communauté seront là pour vous répondre.

Chaque soir à 19h, des tournois, triés par niveau, sont organisés, dans lesquels 32 poireaux s’affrontent round après round, l’occasion d’exhiber vos performances aux autres joueurs !

Leek Wars vous propose aussi de collectionner près d’une centaine de trophées cachés tout au long du jeu ! Des objectifs variés et intéressants pour apprendre à coder une IA spécifique à différentes situations.

La communauté est déjà très active et n’attend plus que vous !

Screenshot
Voici quelques screens du jeu :

http://leekwars.com/R/texture/promo/1s.png http://leekwars.com/R/texture/promo/7s.png

http://leekwars.com/R/texture/promo/10s.png http://leekwars.com/R/texture/promo/2s.png

http://leekwars.com/R/texture/promo/9s.png http://leekwars.com/R/texture/promo/5s.png

Pour vous découvrir Leek Wars, rendez-vous sur : leekwars.com

N'hésitez pas à nous faire part de vos commentaires, remarques, critiques, suggestions ou à nous poser des questions

Dawyde & Pilow
C'est pas mal.
C'est quoi votre modèle économique?

Vous avez bien blindé vos CGU et autres, mais avez-vous déclaré à la CNIL?

J'suis pas certain que ca soit le bon forum.
Chouette projet, gg à vous !!

J'ai une question pour ma part.
Pourquoi avoir fait votre propre langage de script plutôt que d'en utiliser un comme le lua par exemple ? Il me semble que ça aurait pu augmenter la lisibilité de votre projet en ayant une pub gratuite dans la communauté lua et ça aurait même pu augmenter les chances que votre jeu serve de support à la formation dans diverses écoles.

Sinon pour pinailler un peu, votre présentation ne me semble pas géniale et risque de rebuter des lecteurs impatients. On est malheureusement dans une aire ou les gens sont tellement sollicités qu'ils zappent en quelques secondes si ils n'ont pas eu une accroche immédiate. L'incrustation de quelques images dans le texte ou un screenshot vers le début pourrait permettre de mieux retenir l'attention des lecteurs.

Mais je répete, pour ne pas rester sur une note négative ( car vous ne méritez pas ça ), GG à vous et bonne continuation.
Salut ! Merci pour vos réponses

Neirdan >
Pour le moment le jeu est entièrement gratuit et sans pub. Peut être qu'après on mettra des skin payant, mais rien qui pourrait faciliter la victoire.

Pour ce qui est de la CNIL on s'est renseigné et d'après leur site nous sommes "dispensés de déclaration". Si tu as d'autres infos à ce propos nous sommes preneurs .

Pour ce qui est de la pertinence de ce sujet sur ce forum, on a hésité un peu, mais je pense que ça n'est pas Hors sujet ^^


oscifer >
Merci pour les encouragements

Pour ce qui est du LUA, en fait nous avons décidé de faire la génération de combat en Java, et afin d'obtenir les meilleurs performances possible on a décidé de créer notre propre compilateur. On s'est ensuite demandé à quoi allait ressembler notre langage, et on s'est tourné vers quelque chose de ressemblant au JavaScript car on trouvait que ça parlait aussi bien aux débutants qu'aux confirmés.

On va voir pour améliorer un peu cette présentation ^^

Dawyde
J'aime le concept, j'ai un peut plus de mal avec le thème. Un univers scify/cyberpunk aurait collé quand même vachement plus au concept.
Votre site (et votre jeu on l'air d'être uniquement en français), c'est dommage, j'aurai bien aimé le partager à des amis...
Dommage aussi de pas être partit sur du lua / python / ruby, quitte à ce former à un langage autant que ça soit "utile". Sans parler de la charge de travail que ça vous à ajouté.

Je me suis crée un compte, je vais voir ce que ça donne.

edit: après quelques heures voici mon feedback:
- Faudrait qu'un popup nous guide vers le Tutorial à la première connexion, j'ai cherché un peut avant de voir l'onglet "aide".
- J'aime pas le principe de déblocage de fonction de l'API avec les levels: du level 1 à 4 on ne peut rien coder, ça donne des parties complètement random ou tout le monde bouge vers l'ennemi et attaque 2 fois. Et on n'a aucun moyen de se mettre à couvert avant le level 21... c'est assez frustrant de ne pas pouvoir améliorer sont code
- Pourquoi avoir limité le nombre de parties par jours ? vous voulez pas qu'on y joue à votre jeu ?
- j'attend de voir les combats de groupe pour juger de l’intérêt stratégique du jeu, le 1v1, surtout low level, semble extrêmement limité.
En tout cas GG pour le résultat, ça fait un moment que je réfléchit à cette idée, plus pour un truc temps réel à la colobot, mais je pense que je partirai sur une interface nodal (comme les blueprint de l'UE4), je pense que ça ferra moins fuir le kikoo, et que ça simplifie la partie parsing/compilation/execution

Dernière modification par Titan. ; 09/06/2014 à 09h38.
Salut !
Merci pour vos retours

Titan. >
Pour le moment il n'y a que le français de disponible mais le site a été internationalisé (fichiers langues) et on pense sortir une traduction anglaise si le jeu marche bien.

Pour les fonctions, il est vrai que jusqu'au niveau 5 c'est assez limité, mais après on peut déjà faire une IA assez performante.

La limite de combat par jour ne s'applique qu'aux combats qui font gagner de l'expérience et qui comptent dans le ratio.
En fait comme la génération est instantanée on cherche à éviter que des gens ne lancent des combats en boucle juste dans le but de farmer de l'expérience ou de fausser leur ratio.
Celà permet aussi aux joueurs attaqués de pouvoir réagir et modifier leur IA en conséquence (avant de se retrouver avec une 100 aine de défaites de plus ).
Cependant il sera possible après d'acheter d'autres poireaux et de les faire combattre (soit ensemble dans des combats d'éleveurs, soit en combats en solo).
Après il est également possible de faire des combats de test contre des IA du jeu de manière illimitée, ou encore de défier d'autres poireaux dans des combats amicaux.

Titan. et Lester "Bullseye" >

Pour ce qui est du langage, la syntaxe est simple, le langage a peu de spécificités, ça parle aussi bien aux gens qui connaissent le JS, le java, le C que ceux qui connaissent le Php. Je pense que le véritable intérêt est au niveau algorithmique plus que dans l'apprentissage d'un langage.
Citation :
Publié par Dawyde

Pour ce qui est du langage, la syntaxe est simple, le langage a peu de spécificités, ça parle aussi bien aux gens qui connaissent le JS, le java, le C que ceux qui connaissent le Php. Je pense que le véritable intérêt est au niveau algorithmique plus que dans l'apprentissage d'un langage.
Du coup j'aime bien le concept!

C'est où c'est où? y a des tutoriels sur la programmation de l'AI?

Le code vite! héhé
Salut à tous,

Le projet a pas mal bougé depuis le temps mais je pense qu’un petit up fait pas de mal à ce post.
J’y joue moi même depuis 15 jours (très addictif) et je me demandais si des Joliens étaient dessus ?

Il y a quand même 50 000~ comptes utilisateurs, 62211 poireaux qui se tabassent et une communauté assez cool.

Voici un exemple de combat avec notre équipe si cela vous intéresse de regarder : https://leekwars.com/fight/25970160

Pour le moment je suis capable de chercher des spots de tirs éfficaces en considérant ma portée, les armes à ma disposition, les équipements que je porte et aussi me cacher, me tenir à distance, me buffer ou me soigner quand c’est nécessaire. Par contre les IA hauts niveau sont vraiment balaises. Elles sont taillées pour le PVP de masse, elles ont des stratégies à long terme, elles considèrent des arbres de possibilités et sortent des sorts de placements assez dingues. On croirait regarder des combats pvp Dofus.

J’ai déjà un millier de ligne de code pour faire tourner l’IA mine de rien. Mais faut pas que ça effraie les apprentis codeurs : Le système est très simple et permet d’ajouter par incréments les features sans que l’on tombe sur un mur.

Bref top ce jeu.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés