Developpez.com - Rubrique 2D-3D-Jeux

Le Club des Développeurs et IT Pro

Compétition de génération de niveaux Super Mario

Lors de la conférence IEEE sur l'Intelligence Calculatoire et Jeux

Le 2010-04-26 16:32:40, par fearyourself, Expert éminent sénior
Compétition de génération de niveaux Super Mario

L'année dernière, la conférence IEEE sur l'Intelligence Calculatoire et Jeux (Computational Intelligence and Games) avait lancé un concours pour la meilleure IA pour résoudre des niveaux de Super Mario.

Cette année la conférence a ajouté un thême qui est la création automatique de niveau.
Dans le goût de Diablo ou TorchLight qui générent leurs donjons à la volée, l'idée est ici de générer les niveaux pour allonger la jouabilité d'un jeu tel que Super Mario.

En principe, soumettre votre solution sera simplement une question d'implémenter une interface Java.

Le lien de la conférence
Les rubriques (actu, forums, tutos) de Développez :


Et vous ?

Pensez-vous que vous seriez intéressé par un tel jeu nommé "Mario Forever", mais aussi, participerez-vous à ce concours ?
  Discussion forum
6 commentaires
  • LittleWhite
    Responsable 2D/3D/Jeux
    Hum, je ne vois pas comment on génère un niveau de mario déjà ... à part à tout faire en aléatoire ( un tuyau ici, une boite là )

    Et puis je m'y suis perdu un peu ... c'est un evenement dans le forum ( interne DVP ) ou on parle de l'autre http://www.marioai.org/gameplay-trac...etting-started . (Surtout ce qui me perd, c'est l'histoire du mario forever ? Vous l'avez péché ou ( si je puis me permettre ).
  • bafman
    Rédacteur
    Envoyé par LittleWhite
    Hum, je ne vois pas comment on génère un niveau de mario déjà ... à part à tout faire en aléatoire ( un tuyau ici, une boite là )

    Et puis je m'y suis perdu un peu ... c'est un evenement dans le forum ( interne DVP ) ou on parle de l'autre http://www.marioai.org/gameplay-trac...etting-started . (Surtout ce qui me perd, c'est l'histoire du mario forever ? Vous l'avez péché ou ( si je puis me permettre ).
    bah, faire un système purement aléatoire, c'est s'assurer d'avoir 99% des niveaux qui ne sont pas terminable.

    Ça ma fait penser au générateurs de map des Age of Empire ou des civilizations qui permettait d'avoir une rejouabilité quasi infini sur ces titres. J'ai toujours été étonné par la façon dont il réussissaient à créer des map jouable et différentes les une des autres.

    Pour un mario like, j'aurai tendance à faire faire un parcourt virtuel au personnage, qui donnerai les endroits ou sauter etc, et ensuite, faire de l'habillage sous contraintes.
    Dit comme ça, ça semble simple, mais je pense que c'est un vrai challenge de pouvoir placer les ennemis sans que le niveau soit trop simple (pas assez de PNJ) ou trop dur (trop de PNJ, ou alors un emplacement impassable)
  • fearyourself
    Expert éminent sénior
    Envoyé par bafman

    Ça ma fait penser au générateurs de map des Age of Empire ou des civilizations qui permettait d'avoir une rejouabilité quasi infini sur ces titres. J'ai toujours été étonné par la façon dont il réussissaient à créer des map jouable et différentes les une des autres.
    Exact, ou diablo/torchlight. Ca m'impressionne aussi.


    Pour un mario like, j'aurai tendance à faire faire un parcourt virtuel au personnage, qui donnerai les endroits ou sauter etc, et ensuite, faire de l'habillage sous contraintes.
    Dit comme ça, ça semble simple, mais je pense que c'est un vrai challenge de pouvoir placer les ennemis sans que le niveau soit trop simple (pas assez de PNJ) ou trop dur (trop de PNJ, ou alors un emplacement impassable)
    Oui ca me semble pas mal ;-)


    Et puis je m'y suis perdu un peu ... c'est un evenement dans le forum ( interne DVP ) ou on parle de l'autre http://www.marioai.org/gameplay-trac...etting-started . (Surtout ce qui me perd, c'est l'histoire du mario forever ? Vous l'avez péché ou ( si je puis me permettre ).
    Ce n'est pas un événement interne, c'est l'autre ;-)

    Mario Forever, c'est mon nom pour le projet de quelqu'un qui le ferait :-)

    Jc
  • LittleWhite
    Responsable 2D/3D/Jeux
    Pour la génération, j'ai aussi pensé à du parcours par l'ordinateur, en simulant un mario, mais je ne voyais pas faire cela ( dans le sens ... je ne vois pas comment le faire pour que cela marche, et surtout pour donner des informations sur ou placer les elements ) ( et puis ç a ne semble pas générer des niveaux amusants ... )
    Surtout que dans ma tête, la simulation, peut être un mario qui ne fait qu'avancer sans jamais s'arreter de sauter ( et comment donner un feedback au générateur ). Et puis ... j'ai pensé à une algorithme génétique ... et je me voyais déjà comment faire une évaluation du niveau par la simulation ( enfin du feedback ) mais cela me semble encore un peu bancal ).

    Bon, faut que je lise l'autre site donc

    Pour Civilisation ou AOE, je n'ai jamais trop regardé pour la génération aléatoire des niveaux ( cela ne m'a jamais semblé trop dur ).

    Pour Diablo et Torchlight, cela me semble simple aussi... les grottes sont des path semi aléatoire ( dans le sens, pour ne pas avoir des chemins impossibles ) , et toujours dans diablo il y a quelques éléments obligatoire ( pour le placement de boss , et autre truc du scénarion ). Il y a aussi des environnement fixe dans Diablo. Et puis les monstres sont purement aléatoire ( avec les objets aussi ) ( enfin purement, dépendant du niveau du perso )
  • bafman
    Rédacteur
    dans les diablo like, je pense qu'ils fonctionnent par pattern.

    En gros, on a affaire à des environnement typé (donjon, desert, enfers, etc...)
    pour les donjons, on sais qu'on a besoins de différents types de salles/couloirs, et que ces éléments ont des formes reconnaissables. on a donc affaire à des sortes des creuseurs. En gros, le niveau est un bloc, et on creuse des salles dedans avec des couloirs pour les relier, et ensuite, on remplis le tout.
    pour les extérieurs, c'est l'inverse, on a un terrain tout vide, et on rajoute des éléments bloqueurs et des enceintes pour remplir le niveau.

    pour des niveau type "enfer", on se base plus sur des plateformes relié par des pont ou des truc du genre. bref, chaque type de niveau à son type de générateur.

    et en fait, je pense que c'est le même genre pour un mario like. on peut vouloir faire des niveau ou le joueur est obligé de sauter tout le temps avec des crevasses, des niveau avec plutôt des ennemis, des niveau avec beaucoup de strats. le seul truc qui change, c'est que contrairement à un diablo like, on veut pouvoir utilisé ces éléments différents dans un même niveau.
  • LittleWhite
    Responsable 2D/3D/Jeux
    Je viens d'apprendre que je vais faire mes TPs de IA sur le logiciel fournit pour la competition (par contre, je travaille sur la partie, génération d'une intelligence pour parcourir le niveau :p)