BLOGUI BOULGA

*miam* le blog de Mawwic.

[TECHDEMO + CRYSIS 2] GENERATION PROCEDURALE DE VILLE

YouTube Preview Image

J’en ai rêvé pendant des années quand j’étais gamin: des jeux avec des villes énormes, où chaque building serait visitable de fond en comble - et tant qu’à faire largement destructible.
Avec le recul, je me dis que en soit, c’est typiquement le genre de fausse bonne  feature - ou du moins celle qui ne trouve un intérêt que si elle est bien exploitée et, surtout, intégrée à un game design intelligent: savoir qu’on peut visiter tous les appartements d’une ville comme Liberty City, ce serait un plus indéniable pour l’immersion et la crédibilité, mais au bout de 5 minutes je suis prêt à parier qu’on passerait notre chemin pour faire quelque chose d’un peu plus amusant.
A moins de lui trouver une utilisation qui serve vraiment le gameplay.

Toujours est-il qu’attendant, d’après cette vidéo, des types auraient trouvé un moyen d’utiliser la génération procédurale pour y arriver. Et d’après cet article (je ne parle pas Allemand, je précise), ça pourrait même se retrouver dans Crysis 2 on dirait.

Je ne connais pas bien la génération procédurale, mais je me dis tout de même que rien qu’en terme de level design, ça doit poser quelques problèmes. Car ça implique une part d’aléatoire, le tout étant généré à la volée à partir d’algorithmes (d’après ce que j’en sais). Le cas échéant, j’imagine que ça ne s’appliquera qu’à certaines portions de l’aire de jeux, où ça aura un impact limité (comme les arbres d’Oblivion qui étaient générés par Speedtree).

Si quelqu’un s’y connaît (il me semble que Jerc bossait dans une boîte qui taffait sur ce genre de technologie),  je veux bien des précisions :)

23 commentaires pour “[TECHDEMO + CRYSIS 2] GENERATION PROCEDURALE DE VILLE”

  1. Hag dit :

    Ca manque un peu d’âme, mais ça reste diablement impressionnant.

  2. Mawwic dit :

    C’est juste une démo’ technologique - les mecs ont pas du trop s’emmerder à réfléchir là-dessus :)

  3. Bloodoctrine dit :

    Les reflets dans les vitres d’immeubles m’ont tué.

  4. Mawwic dit :

    Effectivement (j’avais à peine remarqué) !

  5. Criminel dit :

    Il existe de nombreuses solutions.
    A la fois venant du jeu vidéo directement : http://www.introversion.co.uk/subversion/
    Ou de sociétés spécialisées dans ce type de logiciel : http://www.procedural.com/cityengine/whats_new.html
    Crytek a de son côté bossé sur la question.

    Ceci dit ce n’est pas sans poser de nombreux problèmes, à la fois pour les concepteurs de jeu vidéo qui réfléchissent leur level design d’une tout autre façon, comme pour les professionnel de la représentation de la ville et de l’urbanisme qui ne veulent que très rarement un modèle virtuel.
    C’est un peu le problème de ce genre de solution, typiquement “le cul entre deux chaises” !

  6. divide dit :

    Si c’est une techno possible pour le cry3, je ne pense pas qu’elle sera implementé dans Crysis 2, où les mecs ont besoin d’un controle précis sur le level design comme dit criminel. Crysis 2 doit se passer à New York, ils ont besoin de pouvoir reconstituer précisement chaque immeuble, donc pas juste avec quelques paramètres, et avec un niveau de détail plus important (cf screenshots Crysis 2).

    Reste néanmoins qu’on aura probablement le genre de destruction procédural similaire à ce que l’on voit dans cette vidéo, puisqu’il en était question dans la video Beauty Speed Interaction.

  7. Blade_Runner dit :

    Je voudrais un roguelike fait avec ça et un big mac s’il vous plait.

  8. DiDay dit :

    J’aimerais bien qu’il tire dans le plafond ou sur les murs extérieurs pour voir.

  9. Oxymore dit :

    Il le fait, il ne se passe rien de spécial (pas de destruction).
    Moi ce que je suis curieux de voir c’est le comportement d’un IA la dedans.

  10. azertylancien dit :

    C’est possible de contrôler une gestion procedurale. L’ordinateur va générer aléatoirement en théorie, mais les concepteur peuvent lui ordonner de le faire dans un sens. C’est ce qui a été utilisé par Brabens pour la série Elite, et la démo technologique kkrigger en est aussi un exemple. La gestion procédurale permet au dév de ne pas perdre de temps à modeliser chaque élément du décors. Cela permet de faire des maps potentiellement infinies, mais il y a un risque de redondance. Après, les dev peuvent rajouter des éléments manuellement.
    Pour la ville, c’est intéressant, et c’est possible d’en faire une qui ressemble à NY, mais il faudrait faire des murs qui paraissent un peu plus costaud que du polystirène :p

  11. Jinroh dit :

    Ils mettent l’accent sur la destruction des décors, mais il ne s’agit que des décors en intérieur… On ne peu ni casser les murs externes, ni s’attaquer au plafond/sol.

    Donc finalement ça reste encore très limité niveau interactivité comparé à du BC2 par exemple. Ça n’a pas l’air très utile pour les jeux à l’heure actuelle.

  12. kamen dit :

    Si vous aimez tout casser comme moi dans les jeux testé Red Faction 3. Perso je trouve ça jouissif au possible de pouvoir tout casser, un peu comme un gamin avec son château de sable.

  13. Mem's dit :

    Le principe d’une génération procédurale c’est d’utiliser un algo “seed based random number generator”, une sorte fonction qui pour des valeurs données renvois toujours le même résultat, mais qui parraissent complexe.

    Exemple ici sur une “image” bruité en Flash
    http://fr.nicoptere.net/?p=155

    Sauf que dans notre cas c’est pas la couleur d’un pixel qui importe mais l’organisation des rues, l’architecture des d’immeubles et des maisons, la richesse d’un quartier (dans les GTA ils utilisent ça de façon statique pour définir les models des voitures et de personnages que tu vois dans une rue : quartier pauvre / riche) …

  14. Mawwic dit :

    @divide et Criminel: je partage vos interrogations côté level design (cf. le commentaire en dessous de la vidéo, d’ailleurs).
    Il n’empêche que, si comme le laissent entendre Mem’s et azertylancien, on peut cadrer la chose dans une certaine mesure, ça peut ouvrir de sacrés possibilités (qui demanderont peut-être malgré tout de concevoir le level design un peu autrement, ou de développer un gameplay spécifique).
    Merci pour les autres exemples de génération procédurale de ville sinon. C’est vrai qu’il y a aussi le prochain jeu d’Introversion qui utilisera une technique similaire, mais il me semble que la vidéo postée ici est d’une toute autre échelle (full 3D texturée avec reflets à gogo etc.).

    @JinRoh, Oxymore, DiDay: je pense qu’il ne faut pas oublier que ce n’est qu’une tech demo.
    Autrement dit, c’est une première mise à l’épreuve de leur concept - ça peut très certainement être affiné ensuite.

    @kamen: la destruction des décors de Red Faction Guerrilla est impressionnante, mais c’est dommage qu’elle ne s’applique pas un peu aussi au terrain (comme dans le très mauvais Fracture).
    Dommage également que les bâtiments aient tous un peu l’air de petits hangars, et qu’ils ne soient pas un peu plus variés et complexes (limitation technologique, j’imagine - surtout s’il faut faire tourner ça sur consoles).

  15. reyman dit :

    http://www.procedural.com/cityengine/features.html
    Assez impressionnant comme technologie, et directement issue du milieu universitaire :]

  16. drytaffin dit :

    Jinroh a dit :
    Ils mettent l’accent sur la destruction des décors, mais il ne s’agit que des décors en intérieur… On ne peu ni casser les murs externes, ni s’attaquer au plafond/sol.
    Donc finalement ça reste encore très limité niveau interactivité comparé à du BC2 par exemple. Ça n’a pas l’air très utile pour les jeux à l’heure actuelle.

    Bah BC2 n’autorise que rarement la destruction du sol et de tout élément autre que le mur et le toit, de plus tout ce qui se détruit n’est que models prédéfini [en gros un morceau de mur est un model dynamique 2 en un: Avant et après destruction, il n'y à la aucun facteur physique, il me semble que seul la "fin" de la destruction présente de la vrai physique et le seul avantage par rapport à la technique présentée ici pour Crysis [en plus du cout en performance moindre poir BF].
    En gros c’est pas pareil:
    -CryE2 gère des pan de murs d’éffrondrant avec de la vrai physique en temps réél mais n’a pas d’effondrement final.
    -BF:BC2 ne gère pas grand chose de physique: Beaucoup de model dynamiques moins couteux mais plus limité. Prop mur+impact lourd = Prop mur avec tout au milieu [le tout cammouflé par de joli effet d'explosion, de fumée et de briques.
    Désolé si tu t'y connais mieux que moi et si j'ai l'air de te prendre pour un con, ce n'est aucunnement le cas. Désolé pour le roman aussi.

    kamen a dit :
    Si vous aimez tout casser comme moi dans les jeux testé Red Faction 3. Perso je trouve ça jouissif au possible de pouvoir tout casser, un peu comme un gamin avec son château de sable.

    Le truc c'est que détruire des Hangars sur Mars, y'a rien de palpitant, c'est plutôt bien fait [sauf certain batiment qui disparaisse simplement dans le sol pour ne pas faire rammer la machine] mais ça mérite un décors plus interessant que mars et ses batiment tous similaires et un peu plus de matériaux [comme du métal qui se plierait].

    Sinon à propos de cette technologie c’est impressionnant !
    Pour l’instant ça manque de personnalité mais y’a largement de quoi faire mieux je pense que c’est juste une question de temps. C’est encore limité [sol/plafond et mur extérieur], le truc c’est que ça couterais énormément d’avancer encore là dedans: Détruire les murs extérieur supposerait une vue directe depuis l’extérieur sur l’intérieur et donc après 3 ou 4 pan de mur un énorme cout en ressource. Depuis, ça supposerais un éffondrement des batiments ce qui est inenvisageable à notre époque [ Surtout que l'éffondrement d'un batiment devrait souffler en plus d'autre batiment].

    Mais en l’état c’est déjà pas mal.

  17. Oxymore dit :

    Le CE3 gère la destruction de décor?

  18. lanael dit :

    Très très joli…

    Bon, c’est une ville plutôt moderne : tout est à 90° : Ça irait bien pour un Mirror’s Edge freeform ( avec des caméras partout et des missions générées, miam. ).

    Avec le truc de procedural.com, ça pourrait faire un Thief dans le même genre.

    Sinon, il y a au moins deux utilisations possibles de ce genre de trucs :
    1) générer du statique et le retoucher à la main. Pour garder la structure narrative d’un jeu vidéo “classique”. ( background, histoire/narration, niveaux )
    2) faire du dynamique. Et là, c’est : est-ce qu’on veut raconter une histoire ? Si oui, peut-elle être générée ou comment intégrer une histoire déjà écrite ? Si non, faire du gameplay émergeant total avec seulement un background narratif et des objectifs dynamiques ou simples.

    Question subsidiaire : est-il possible de générer des niveaux dynamiquement qui ne soient pas chiants au bout d’une heure ( trop génériques ) ?

  19. lanael dit :

    La destruction de décor dans ce cas de génération de niveaux c’est bien sympa, mais bonjour les sauvegardes !

  20. Oxymore dit :

    @Lanael: Pour ta deuxième question, il me semble que le truc de la génération procédurale c’est que ça marche avec tout, NPC, quêtes, armes etc… Bon après il faut forcément un designer derrière qui vérifie que le moteur a pas fait nawak, mais en donnant une ligne directrice simple y’a moyen de faire un jeu différent pour tout le monde mais qui suivra tout de même le même fil rouge. Apres c’est que ce que je pense, j’ai aucune expertise la dedans.

  21. XoBaR dit :

    Moi je vois surtout ça comme un formidable outil pour générer un grand environnement urbain rapidement, puis le retravailler pour obtenir un truc jouable/intéressant/crédible avec des endroits marquants et adaptés à un gameplay. Bref “générer du statique et le retoucher à la main” comme l’a dit lanael.

  22. kibot dit :

    Très bon début, surtout le coup des bâtiments tous “entrables”.

    Par contre, ils devraient développer quand même leur système de destruction.

  23. Mawwic dit :

    Je pense qu’en fonction du type de jeu qu’on veut obtenir, les deux options sont possibles:

    - pour un jeu très scripté - ou tout du moins sur le rythme duquel on veut garder un fort contrôle - on peut utiliser ça comme base de travail initiale, à retoucher ensuite pour créer des environnements uniques au level-design calculé au millimètre près.
    Autrement dit, pas ou peu de génération procédurale dans le soft final qu’aura l’utilisateur entre les mains (ça se fait en amont).
    Mais on perd alors aussi l’un des principaux intérêts de cette méthode de calcul: la possibilité d’afficher des environnements énormes sans mettre la machine à genoux.

    - pour un jeu qui se veut nettement plus freeform, on peut imaginer un jeu avec de la génération procédurale intégrée dans le soft final, sous une forme plus ou moins cadrée.
    On retrouve alors un des principaux avantages de cette techno’: disposer d’environnements immenses (quoique parfois un peu génériques et artificiels).
    Et effectivement, comme le dit lanael, ça pourrait très bien se prêter à un Mirror’s Edge où, là, on aurait des environnements enfin vraiment ouverts, avec la dose de chemins pour aller d’un point A à un point B. Le pied.
    J’avais aussi pensé à un Thief, mais je me dis que ça marcherait moins: dans un Thief, on rushe moins à travers les environnements, on prend le temps de visiter, et on a donc vite fait de se rendre compte que tout est généré à partir de quelques modèles de base et leurs variations.

Laisser un commentaire

Si vous avez un compte sur WeFrag, connectez-vous pour publier un commentaire.

Vous pouvez, entre autres, utiliser les tags XHTML suivant :
<a href="" title="">...</a>,<b>...</b>,<blockquote cite="">...</blockquote>,<code>...</code>,<i>...</i>