Architecture procédurale

M

Slide d'une

Architecture Procédurale

                             Martin Lafréchoux
                                  ENSAV
                             22 Novembre 2011



Je vais vous faire une présentation sur une idée, l’architecture procédurale.
Je travaille au CNRS, et je fais une thèse en sciences du langage à Nanterre, dans un
laboratoire qui s’appelle MoDyCo.

---
Réf illus : http://www.rossracine.com/
Je fais du traitement automatisé du langage. Pour vous donner une idée, le TAL c’est des
choses comme les moteurs de recherche, la traduction automatique, les correcteurs
d’orthographe, etc.

Vous vous demandez sans doute quel rapport ça peut avoir avec l’architecture.
Pour commencer, je vais vous expliquer le terme ‘procédural’. Le plus souvent, on l’emploie
dans l’expression ‘génération procédurale’.

La génération procédurale, c’est, dans son essence, créer quelque chose indirectement. Au
lieu de créer directement la chose, on va designer un procédé par lequel la chose sera créée.

Je vous montre une petite vidéo : c’est ADA, une oeuvre d’une artiste allemande, Karina
Smigla-Bobinski.

Comme vous le voyez, ADA est un énorme ballon rempli d’hélium et couvert de picots qui
sont en fait des morceaux de charbon. Elle est enfermée dans une pièce, immobile, et les
visiteurs sont invités à la lancer pour que les picots laissent des traces sur les murs.

Ce qui est intéressant, d’après l’auteur, c’est de se demander où est l’oeuvre, là-dedans :
est-ce que c’est le ballon ? Est-ce que c’est la pièce ? Les deux ?

Qui est l’auteur ? L’artiste ? Mais ce sont les visiteurs qui poussent ADA contre les murs.

Et ADA ne se laisse pas faire.

L’oeuvre, c’est le procédé.

Sources : http://www.smigla-bobinski.com/ / http://www.youtube.com/watch?
v=OcNtvfALW1Y
1. Grammaires
Ce qui fait le lien entre la linguistique (telle que je m’en occupe) et le petit domaine de
l’architecture dont je vais vous parler aujourd’hui, c’est ce qu’on appelle les grammaires
formelles, et plus spécifiquement les grammaires génératives.

Au niveau le plus simple, une grammaire est un ensemble de règles. Une grammaire formelle
est un ensemble de règles permettant de décrire toutes les phrases admissibles d’un langage
donné.

Ref illus :   http://plagiarismisnecessary.tumblr.com/post/2157814810/florian-beigel-aru-london-paju-book
Grammaires formelles




Les grammaires formelles ont été proposées dans les années 1950 par un linguiste du nom
de Noam Chomsky, que vous connaissez peut-être pour d’autres raisons.

Le diagramme que vous voyez s’appelle un automate à état fini. Il permet de représenter de
manière synthétique toutes les séquences admises par la grammaire. Au lieu d’écrire toutes
les suites de lettres possibles, on fait un diagramme qui permet de les retrouver.

Dans l’exemple ci-dessus, le vocabulaire est composé de 4 lettres, M, X, V et R. Et les
phrases admissibles sont décrites par le diagramme.

On rentre par la flèche IN, et on suit les flèches jusqu’à tomber sur une flèche OUT. Entre les
deux, chaque flèche correspond à une lettre. Le parcours qu’on aura effectué correspond à
un terme appartenant au langage.

Par exemple, celle-ci : VRRRM. Cette séquence est grammaticale : elle fait partie de celles
produites par la grammaire représentée par le graphe à gauche de l’image.

Pour le vérifier, il suffit de parcourir le graphe.

Ref illus : http://www.pnas.org/content/93/24/13515.full
L-Systems




Les grammaires formelles ont très rapidement trouvé des applications dans d’autres champs
que la linguistique.

En 1968, le biologiste hongrois Lindenmayer utilise une grammaire formelle pour décrire les
processus de croissance des plantes et des bactéries. On appelle cette grammaire un L-
System. Au départ, il s’agissait de décrire de manière abstraite le développement des algues
et des levures.

(Image : article Müller)
L-Systems




Fondamentalement, les l-systems sont des grammaires de réécriture.

Les l-systems permettent de modéliser le caractère fractal de la croissance des plantes.

Ici un exemple simple avec deux règles, exprimées visuellement.

Application en vidéo : http://www.youtube.com/watch?v=yWRFCSIzej0
CityEngine
C’est pas grave si ça ne vous paraît pas très clair pour l’instant.
Pour remettre tout ça dans un contexte un peu plus concret, un premier exemple.

Dans les minutes qui suivent, je vais beaucoup vous parler de CityEngine, qui a été développé
en Suisse à la fin des années 90, et qui a été le premier logiciel vraiment complet et
commercialisé à proposé des grammaires de formes appliquées à l’architecture.

C’est un lieu commun de dire que les villes ont des caractéristiques organiques. Comme on
avait décrit des langages, puis des plantes avec des grammaires formelles, l’étape suivante,
c’est modéliser une ville en tant que processus.
Premier exemple, Pascal Müller a utilisé un L-System pour décrire la manière dont
s’organisent les réseaux de rues de différentes villes, à partir de variables comme la
configuration géographique, l’élévation du terrain, la densité de population, et des
spécificités locales (par ex. la tendance des villes américaines à être structurées en blocs).
La petite vidéo vous montre NYC.

(Ref : Procedural Modeling of Cities,
Yoav I H Parish (parish@imes.mavt.ethz.ch ETH Zürich, Switzerland)
Pascal Müller (pascal@centralpictures.com Central Pictures, Switzerland))
A gauche, le plan généré par le L-System.
A droite, le plan réel de Manhattan.

Il y a un certain nombre de différences, mais c’est tout de même très intéressant. Le
positionnement des ponts, par exemple, est assez remarquable.
Grammaires de forme




Un dernier concept à introduire : les grammaires de forme On peut appliquer l’idée de la
grammaire générative aux formes elles-mêmes.

En 1971, un article intitulé « Shape Grammar and the Generative Specification of Painting and
Sculpture » introduit l’idée de grammaire de formes, sur le modèle proposé par Chomsky
dans le cadre de la linguistique.

Les grammaires de formes utilisent un alphabet composé de formes simples et permettent, en
appliquant des règles, de les transformer et de les combiner pour créer des formes
complexes, les phrases.
On retrouve exactement la même idée dans CityEngine : les grammaires de forme. C’est un
système de règles qui permet de créer les différents aspects d’une ville

Ici, un exemple de règles pour créer une façade basique :
Les pièces (a) se divisent horizontalement en pièces (b)
Les pièces (b) se divisent verticalement pour donner des pièces (c)
Les pièces (c) sont remplacées par des pièces (d)
Voici, schématiquement, l’application de ces règles.
De la même manière, une fois que le plan des rues, CityEngine génère automatiquement des
blocs, puis des bâtiments.
En fonction de la parcelle, on applique des règles permettant de définir la forme générale du
bâtiment, puis on affine.
Le résultat.
En haut, les blocs en L, en U ou en H du slide précédent. En bas, vous pouvez voir un petit
effort pour reproduire de manière stylisée différents styles architecturaux présents à
Manhattan.
On peut aussi définir des grammaires spécifiques pour un bâtiment précis. Ci-dessus, le
Rockfeller Center.
CityEngine est aujourd’hui un produit commercial complet, qui a très nettement progressé en
10 ans.

Il permet de générer rapidement des villes, que ce soit à partir de rien ou en important des
plans, des bâtiments, des situations géographiques, réels ou fictifs, et de les importer
directement dans les logiciels de CAD.

Ref : http://www.procedural.com/showcases/showcase/marseilles.html
Conclusion

Voilà, c’était une longue introduction, avec des travaux assez anciens (CityEngine date de
1999-2000), et très théoriques.

Maintenant, vous vous posez peut-être la question des applications. Il y en a au moins une
que vous connaissez bien.

Ref illus : http://www.sq.ro/viewer.php?i=63
2. Jeux

Ref : http://www.introversion.co.uk/images/edgecity.jpg
Liberty City                                     New York




                                  GTA IV (2008)
Vous pensez peut-être à quelque chose comme la modélisation extrêmement réaliste de NYC
dans GTA 4.

C’est très différent. Pour transformer NYC en Liberty City, il a fallu à Rockstar Games, le
créateur de GTA, des dizaines d’employés et de programmeurs travaillant pendant plusieurs
années à tout redessiner, à tout recréer, pour un coût total qui se chiffre en dizaines de
millions de dollars.

Si vous vous souvenez de ADA, le ballon couvert de picots — là Rockstar a créé le résultat, et
non un processus.
Oblivion (2006)
Un exemple simple de contenu procédural : SpeedTree. C’est un logiciel qui utilise les L-
systems pour générer de la végétation. Il est notamment utilisé dans Oblivion, Dragon Age,
etc.

C’est ce qui permet au jeu d’avoir une très grande surface : au lieu de dessiner un à un les
arbres d’une forêt, on génère automatiquement x km2 de sous-bois. Chaque arbre généré
correspond au modèle de son espèce, mais il est unique.

La génération procédurale est donc d’abord utilisée pour créer rapidement et à moindre coût
du contenu non-essentiel.

C’est loin d’être le seul contenu généré de manière procédurale.

Ref illus : http://www.speedtree.com/gallery/
Facile



                                                                    Difficile
Un exemple plus visuel pour vous montrer un peu plus concrètement des applications.

Pour Left4Dead, Valve a lancé le concept d’AI Director, ou ‘réalisateur artificiel’, et parle de
‘narration procédurale’. C’est un grand mot pour dire que le nombre d’ennemis, leur
positionnement ou celui des objets varie en fonction de la performance des joueurs.

Dans Left4Dead 2 (2010), le ‘réalisateur artificiel’ peut modifier certains éléments du décor à
la volée, en fonction des capacités des joueurs.

Pour cet exemple, les deux itinéraires (avec ou sans grillage) ont été dessinés par des artistes
de Valve. C’est la performance des joueurs au début du niveau qui déterminera si l’AI
Director choisit l’une ou l’autre version.

Tout cela a l’air très moderne.
Rogue (1980)
Paradoxalement, ce qui serait aujourd’hui considéré comme une avancée (en tout cas un
indice de modernité) a commencé par nécessité : à l’origine, les ordinateurs manquaient de
mémoire, et il était plus facile de générer le contenu grâce à un algorithme que de le stocker.

Un jeu a poussé cette idée a son paroxysme : Rogue.
Dans Rogue, on est un aventurier qui doit s’enfoncer toujours plus loin dans un donjon
rempli de monstres et d’objets magiques. Comme vous pouvez le voir, c’est assez
minimaliste, graphiquement parlant.

Le rogue-like est un genre qui a été suivi d’un grand nombre des successeurs plus ou moins
proches, jusqu’à aujourd’hui.

Dans Rogue, à peu près tout est généré de manière procédurale : chaque niveau du donjon
est généré au moment auquel le joueur y pénètre, et il est impossible de rencontrer plusieurs
fois le même donjon.

Comment ?
Je vous montre rapidement le fonctionnement d’un algorithme de création de donjons
(méthode BSP).

On commence par une pièce rectangulaire, qu’on va diviser de manière récursive jusqu’à ce
que chaque subdivision ait environ la taille des pièces qu’on veut créer.

Donc là, le carré gris représente la surface dans laquelle on va tailler notre donjon, et A et B
sont les deux premiers sous-donjons.
We start with a rectangular dungeon filled with wall cells. We are going to split this dungeon recursively until each sub-dungeon has approximately the size of a room. The
dungeon splitting uses this operation :
 ■    choose a random direction : horizontal or vertical splitting
 ■    choose a random position (x for vertical, y for horizontal)
 ■    split the dungeon into two sub-dungeons



http://roguebasin.roguelikedevelopment.org/index.php?title=Basic_BSP_Dungeon_generation
On applique la même opération à ces deux sous-donjons.
Pour que ça marche, il faut quelques règles supplémentaires : par exemple, on empêche que
la subdivision se fasse trop près des bords.
Le subdivisions s’arrêtent lorsque les plus petits sous-donjons créés ont à peu près la taille
des pièces qu’on veut générer.
Voilà le résultat après 4 itérations.
Ensuite, on créé une pièce dans chaque sous-donjon. L’intérêt d’avoir procédé comme on l’a
fait est qu’on est certain que nos pièces ne vont pas se chevaucher.
Pour créer les couloirs, on connecte ensemble les subdivisions de même niveau. Là c’est
simple, il y a toujours deux murs qui se font face, mais au pire on peut utiliser un couloir en
L ou en Z.
To build corridors, we loop through all the leafs of the tree, connecting each leaf to its sister. If the two rooms have face-to-face walls, we can use a straight corridor. Else we
have to use a Z shaped corridor.

Now we get up one level in the tree and repeat the process for the father sub-regions. Now, we can connect two sub-regions with a link either between two rooms, or a corridor
and a room or two corridors.
On répète le processus pour les sous-donjons de niveau supérieur.
Et voilà.

C’est très schématique et assez primitif, mais je voulais surtout vous faire comprendre le
principe.
Diablo 3 (2012)
En trente ans, on a progressé graphiquement...

Les graphismes se sont améliorés, mais le principe de base reste le même. Un aventurier
s’enfonce dans un donjon qui est généré à mesure de sa progression.

A vrai dire, la complexité a même nettement décru en 30 ans. Dans Rogue ou dans Nethack,
la pauvreté des graphismes est compensée par une richesse et une variété impressionnante
du contenu ; il est possible d’imaginer des millions de variations de chaque objet, de chaque
lieu, de chaque monstre, parce que la seule chose qui les caractérise c’est une description
textuelle.

Dans un jeu comme Diablo, même si l’agencement du contenu et des niveaux est généré de
manière procédurale, l’aspect artistique (rendu des monstres, des objets, etc.) demande un
travail énorme.

Rogue a eu une autre descendance, qui a suivi un axe d’évolution perpendiculaire : les
graphismes ont stagné, et c’est la complexité de l’univers généré qui a très nettement
augmenté.
Dwarf Fortress (2006)
Ici, Dwarf Fortress, dont les graphismes sont en ASCII, en texte, mais qui fait quand même
ramer un PC moderne.


Un monde.

http://rps.net/QS/Images/DW/map2.gif
Au début d’une partie de Dwarf Fortress, le monde généré comprend des civilisations dotées
d’une histoire longue et riche, des écosystèmes altérables, une géographie dynamique, des
cetaines personnages ayant une histoire et une durée de vie limitée, etc.
Minecraft (2009)
Dans Minecraft, l’univers est généré à la volée, à la mesure que le joueur l’explore. La taille
maximale d’un niveau représente une surface plus de huit fois supérieure à celle de la terre.

(Ref : http://blog.fileplanet.com/2010/11/18/minecraft-wallpaper-no-creepers/minecraft-
wallpaper-6/)
Subversion (2012 ?)
Subversion est un jeu en cours de développement depuis 2007. Le développeur a beaucoup
communiqué sur le fait que l’intégralité de l’espace du jeu (c’est-à-dire le plan de la ville,
l’intérieur et l’extérieur des bâtiments) est généré de manière procédurale.

Ref illus : http://www.introversion.co.uk/subversion/
Le joueur dirige une équipe de type Mission Impossible, qui doit infiltrer et prendre le
contrôle de bâtiments. Le tout a lieu dans des bâtiments générés de manière procédurale.

Naturellement, ça n’interdit pas la vision artistique ou personnalisation. L’exemple donné
c’est : on a besoin d’un immeuble de bureaux de 30 étages pour le scénario. On génère
l’immeuble, et on modifie légèrement le 29ème étage, parce que c’est là qu’aura lieu l’action.
Le reste du bâtiment est explorable, mais il se contente des réglages par défaut.

La direction artistique s’inspire du mode d’affichage de travail des logiciels de CAD.
Subversion est réalisé par une équipe extrêmement réduite, et il a donc fallu choisir une
approche artistique qui soit peu coûteuse.

La question semble être : peut-on imaginer combiner la richesse de contenu de Dwarf
Fortress avec la qualité graphique de jeux sans génération procédurale ?
Conclusion

Ref illus : http://vigilism.tumblr.com/post/960494731/architecture-destruction-this-is-a-
series-that

Ce qu’il faut retenir, c’est que la génération procédurale de contenus permet à un
développeur de créer un environnement virtuel plus vaste et plus interactif que celui qu’une
immense équipe d’artistes met plusieurs années à reproduire.
3. Modules



Ref illus : http://vimeo.com/6736261

Vous me direz, va-t-on enfin en venir à de l’architecture réelle, à un moment ?

Oui, enfin.
Brunswick Square (~1830)
Un article publié cette année par des jeunes chercheurs de l’université de Brighton.

Ils ont étudié les façades des maisons de Brunswick Square, à Hove, qui présentent une unité
architecturale assez frappante. De style régence, elles ont toutes été bâties entre 1825 et
1840, environ.

Leu objectif était d’extraire des grammaires de forme à partir de ces façades existantes.
L’objectif est descriptif : analyser, déconstruire un style pour pouvoir l’étudier.
Ils ont commencé par faire des mesures précises des façades et des différents éléments qui
les composent.

Ils ont utilisé des moyens tout à fait conventionnels : télémètre laser et mètre ruban, avec
l’accord des propriétaires.

Ces mesures ont permis de diviser les maisons en 6 types fondamentaux, A B C D E F.
Ca, par exemple, c’est la façade de type A, qui correspond à près de 40% des maisons.
Comme vous pouvez le voir, sa composition a été analysée et décomposée en éléments
architecturaux simples : galerie, architrave, corniche, entablement, balcon...

Une fois tous les éléments décomposés, création d’un modèle.
A un niveau basique, leur modèle est généralisable à toute maison de style régence. Il y a
ensuite un second niveau qui exprime le type général de la maison, et enfin un troisième
niveau, qui permet d’exprimer les spécificités de chaque bâtiment.

C’est un système de règles modulaire.
Modern Modular (2008)
Resolution: 4 Architecture produit une maison préfabriquée modulaire, Modern Modular.

Forts de l’expérience acquise sur plusieurs projets d’habitat individuel pour des particuliers,
Resolution: 4 Architecture a conçu une série de blocs modulaires qui peuvent être agencés de
manière pratiquement infinie, pour répondre aux besoins particuliers de chaque client.

Ref illus : http://www.archdaily.com/88167/vermont-cabin-resolution-4-architecture/
Le concept, c’est celui de la «mass customization» : la conception modulaire permet d’offrir
le luxe d’une maison d’architecte avec des coûts maîtrisés, et un temps de construction
réduit.

Resolution 4 a conçu les modules en s’inspirant de leurs réalisations plus traditionnelles et
urbaines.

Ref illus : http://re4a.com/?t=1&c=0
Notez le point auquel cette logique est proche de celle utilisée pour composer les bâtiments
dans CityEngine, que je vous montrais au début.
Quinta da Malagueira (1977)
L’idée de ‘mass customization’ n’est pas nouvelle.

Le programme Quinta da Malagueira, d’Alvaro Siza. Des logements sociaux construits dans la
banlieue d’Evora, à 200 km à l’est de Lisbonne. Il y a environ 1200 logements bâtis sur une
période de plus de 20 ans.

Ref: http://alvarosizavieira.com/1977-quinta-da-malagueira
http://www.flickr.com/photos/ekain/2795271855/
L’idée de Siza était de combiner la répétition de formes simples, cubiques, correspondant à la
géométrie habituelle des projets de ce type, tout en parvenant à un degré élevé de variété
architecturale.

On retrouve le concept de « personnalisation de masse » de Modern Modular.

Ref : http://dspace.mit.edu/handle/1721.1/8189
http://crisman.scripts.mit.edu/blog/?p=293
Siza a conçu les plans de ces logements dans les années 1970, en travaillant de manière
traditionnelle, c’est-à-dire manuelle.

Ca n’interdit pas de les analyser comme des plans générés par des grammaires formelles.

José Duarte est un architecte et chercheur en informatique portugais, qui a utilisé le
programme construit par Siza comme corpus. Il a cherché à déterminer la grammaire de
formes qui avait présidé à la création du programme.

C’est intéressant pour moi, parce que ça ressemble très exactement à ce que je fais en
traitement automatisé du langage : comme avec l’exemple de Brighton, l’idée est d’identifier
des régularités, puis d’en extraire des règles.
Il a ensuite appliqué cette grammaire pour produire automatiquement les plans d’autres
maisons, similaires à celles de Malagueira, mais originales.

On peut considérer que son travail a été un succès, puisque la grammaire générative a été
capable de produire des plans que Siza lui-même n’est pas parvenu à distinguer de ceux
qu’il avait créés.
Casablanca (2010)
Enfin, je voulais vous présenter un projet qui utilise les concepts de développement
procédural et modulaire, mais pas les grammaires de formes. Il s’agit du projet de fin
d’études d’Emily Thurlow, présenté à l’AA School of Architecture en 2010.
L’idée, ce sont les bidonvilles de Casablanca, qui se constituent spontanément suite à l’exode
rural, en utilisant des techniques traditionnelles issues du nomadisme, qui sont mal adaptées
à l’environnement urbain. Leur croissance ‘naturelle’ n’est pas soutenable.

La première idée du projet est de canaliser le développement naturel du campement en
favorisant une forme en spirale. Selon elle, il s’agit de formaliser l’informel.

http://projectsreview2010.aaschool.ac.uk/html/units.php?unit=80&name=241
A mesure que la spirale se développe, les habitations sont recouvertes par une super-
structure modulaire. La structure repose sur un système de tenségrité, auto-constructible et
extensible en fonction de la croissance de la population. Il y a des zones cultivables
intégrées, pour une «agriculture de proximité».

Je voulais vous montrer ce projet pour que vous voyiez que ce n’était pas forcément une
affaire de programmation. C’est d’abord une manière de raisonner. Là, l’approche de
l’architecte était très low tech, très concrète, avec énormément de travail sur les différentes
structures en tenségrité.

Après, pour être pleine de bonnes intentions, ce n’est peut-être pas une approche très
adaptée à la situation des personnes qu’elle veut aider. Sur un site web marocain, je lisais
quelqu’un qui disait «j'apprécie bcp le projet, architecturalement et visuellement parlant. Par
contre, sur le fond, si cette population a déserté la campagne c'est justement par ce qu'elle
ne veut plus faire de l'agriculture»
Beachview Bluffs (2010)
Pour terminer, je voulais vous montrer une oeuvre d’un artiste canadien, Ross Racine.

A première vue, on dirait une photo aérienne d’une banlieue quelconque.

Pourtant, assez rapidement, on ressent une sorte d’inconfort, de déséquilibre : il y a quelque
chose qui ne va pas. Cette banlieue ne s’arrête nulle part. Elle pourrait continuer infiniment,
en alternant régularités et variations locales, toujours semblable à elle-même, avec ses ilots
d’identité minimale.

En réalité, le travail de Ross Racine est réalisé entièrement à l’ordinateur, à la main, sans
programmation ni photographie. Il dessine à la souris, sans modèle. En mélangeant dessin et
imagerie numérique, il créé des objets incertains — à la fois modèle de développement futur
et documentation de lotissements impossibles, exagérés, monstrueux.

Il me semble qu’il y a, dans sa démarche, quelque chose d’important. Une saine satire de la
démarche procédurale, qui remet bien les choses à leur place. Pousser les logiques à leur
dernière extrémité n’a pas grand sens, si personne n’est là pour contrôler le résultat.

----
Plus d’infors sur son site : http://www.rossracine.com/y-extrafiles/RossRacine-
demarche.pdf
Conclusion

Pour vous faire une analogie avec mon propre travail, c’est à peu près la même différence
qu’entre la traduction faite par un traducteur et la traduction machine.

Malgré des décennies d’efforts pour faire faire de la traduction aux ordinateurs, on est encore
très loin de pouvoir leur confier toutes les tâches. Mais ce n’est pas pour ça qu’ils n’ont
aucune utilité.

Il n’y a pas de module de traduction automatique dans les logiciels de TAO.

Si vous voulez vous mettre à la programmation, vous pouvez vous tourner vers Python, qui
est un langage générique à la fois puissant, lisible, et relativement facile à apprendre.

Si vous cherchez quelque chose de plus spécialisé, il y a Processing, qui est basé sur Java, et
spécifiquement destiné aux gens qui souhaitent adopter une approche plus visuelle de la
programmation.

Ref illus : http://www.nytimes.com/2010/12/19/magazine/19Urban_West-t.html
http://processing.org
Merci

Merci de votre attention

Bibliographie si vous voulez en savoir plus.

Excellent article de synthèse :
http://bldgblog.blogspot.com/2009/08/procedural-destruction-and-algorithmic.html

Les articles d'origine de Pascal Müller, l'auteur de CityEngine :
http://www.vision.ee.ethz.ch/~pmueller/wiki/CityEngine/PaperCities

Pixel City, un projet simple de ville procédurale, très bien expliqué :
http://www.shamusyoung.com/twentysidedtale/?p=2940

Liens sur les algorithmes utilisés par les rogue-likes :
http://www.emanueleferonato.com/2009/06/02/understanding-roguelike-dungeons/

Sur José Duarte et les Shape Grammars :
http://crisman.scripts.mit.edu/blog/?p=293

Des projets réalisés grâce à Processing :
http://designplaygrounds.com/deviants/processing-for-architecture/

-----
Ref image : http://www.complexification.net/gallery/machines/substrate/

Recommandé

Materiels De Chantier Terrassement par
Materiels De Chantier TerrassementMateriels De Chantier Terrassement
Materiels De Chantier TerrassementOURAHOU Mohamed
33.2K vues25 diapositives
Les terrassements par
Les terrassementsLes terrassements
Les terrassementsAdel Nehaoua
13.6K vues12 diapositives
Recueil des normes et dtr 01 mars 2011 par
Recueil des normes et dtr 01 mars 2011Recueil des normes et dtr 01 mars 2011
Recueil des normes et dtr 01 mars 2011massinissachilla
6.5K vues36 diapositives
Introduction à la Gestion de projets par
Introduction à la Gestion de projetsIntroduction à la Gestion de projets
Introduction à la Gestion de projetsClément Dussarps
4.2K vues44 diapositives
Excavator par
ExcavatorExcavator
ExcavatorConstruction Technology
1.1K vues7 diapositives
Les Adjuvants Pour BéTons, Mortiers Et Coulis par
Les Adjuvants Pour BéTons, Mortiers Et CoulisLes Adjuvants Pour BéTons, Mortiers Et Coulis
Les Adjuvants Pour BéTons, Mortiers Et Coulisjexpoz
7.3K vues15 diapositives

Contenu connexe

Tendances

Revetements murs et sols par
Revetements murs et solsRevetements murs et sols
Revetements murs et solsNour El Houda Mchr
15.1K vues47 diapositives
grader par
gradergrader
graderSORATHIYA RAJ
979 vues10 diapositives
Agile du point de vue d'un PMP par
Agile du point de vue d'un PMPAgile du point de vue d'un PMP
Agile du point de vue d'un PMPPyxis Technologies
2.8K vues46 diapositives
Charpente métallique par
Charpente métallique Charpente métallique
Charpente métallique Sami Sahli
86.4K vues102 diapositives
Mouvement fonctionaliste 01 par
Mouvement fonctionaliste 01Mouvement fonctionaliste 01
Mouvement fonctionaliste 01Sami Sahli
8.8K vues34 diapositives
Préfabrication par
PréfabricationPréfabrication
PréfabricationSami Sahli
16.1K vues178 diapositives

Tendances(20)

Charpente métallique par Sami Sahli
Charpente métallique Charpente métallique
Charpente métallique
Sami Sahli86.4K vues
Mouvement fonctionaliste 01 par Sami Sahli
Mouvement fonctionaliste 01Mouvement fonctionaliste 01
Mouvement fonctionaliste 01
Sami Sahli8.8K vues
Préfabrication par Sami Sahli
PréfabricationPréfabrication
Préfabrication
Sami Sahli16.1K vues
02 terrassements-et-fondations par m.a bensaaoud
02 terrassements-et-fondations02 terrassements-et-fondations
02 terrassements-et-fondations
m.a bensaaoud2.3K vues
Projet urbain 04 par Sami Sahli
Projet urbain 04Projet urbain 04
Projet urbain 04
Sami Sahli46.1K vues
Espaces publiques 03 par Sami Sahli
Espaces publiques 03Espaces publiques 03
Espaces publiques 03
Sami Sahli4.9K vues
recherche thématique sur les banques avec des exemples par laroui fahed
recherche thématique sur les banques avec des exemples recherche thématique sur les banques avec des exemples
recherche thématique sur les banques avec des exemples
laroui fahed6.2K vues
Missions geotechnques geotec par Sami Sahli
Missions geotechnques geotecMissions geotechnques geotec
Missions geotechnques geotec
Sami Sahli8.3K vues
Cours d'exploitation des mines à ciel ouvert par Jeremie ilunga
Cours d'exploitation des mines à ciel ouvertCours d'exploitation des mines à ciel ouvert
Cours d'exploitation des mines à ciel ouvert
Jeremie ilunga132.1K vues
The Road to Saqqara ( Jack-up units and Move ) par Kamel Elsayed
The Road to Saqqara ( Jack-up units and Move )The Road to Saqqara ( Jack-up units and Move )
The Road to Saqqara ( Jack-up units and Move )
Kamel Elsayed10.2K vues
Les diagraphies différées 18 au 20 MAI 2013 HMD diap.ppsx par MustaphaAitAbdelkade
Les diagraphies différées 18 au 20 MAI 2013 HMD diap.ppsxLes diagraphies différées 18 au 20 MAI 2013 HMD diap.ppsx
Les diagraphies différées 18 au 20 MAI 2013 HMD diap.ppsx

En vedette

Ai on video games par
Ai on video gamesAi on video games
Ai on video gamesFaria Priya
1.4K vues26 diapositives
Quinta Da Malagueira - Alvaro Siza par
Quinta Da Malagueira - Alvaro SizaQuinta Da Malagueira - Alvaro Siza
Quinta Da Malagueira - Alvaro SizaJoseph Valladolid
7K vues32 diapositives
Alvaro siza par
Alvaro sizaAlvaro siza
Alvaro sizaAggin Maria James
5.7K vues25 diapositives
Artificial intelligence In Modern-Games. par
Artificial intelligence In Modern-Games. Artificial intelligence In Modern-Games.
Artificial intelligence In Modern-Games. Nitish Kavishetti
4.6K vues17 diapositives
Le Meilleur Des Blagues Macho par
Le Meilleur Des Blagues MachoLe Meilleur Des Blagues Macho
Le Meilleur Des Blagues Machokenny89320
2K vues14 diapositives
Proyecto 1 TICs par
Proyecto 1 TICsProyecto 1 TICs
Proyecto 1 TICsJose Saborio
346 vues9 diapositives

En vedette(20)

Artificial intelligence In Modern-Games. par Nitish Kavishetti
Artificial intelligence In Modern-Games. Artificial intelligence In Modern-Games.
Artificial intelligence In Modern-Games.
Nitish Kavishetti4.6K vues
Le Meilleur Des Blagues Macho par kenny89320
Le Meilleur Des Blagues MachoLe Meilleur Des Blagues Macho
Le Meilleur Des Blagues Macho
kenny893202K vues
Les hotes du jardin par filipj2000
Les hotes du jardinLes hotes du jardin
Les hotes du jardin
filipj2000247 vues
Sr. Maria Troncatti par Maike Loes
Sr. Maria TroncattiSr. Maria Troncatti
Sr. Maria Troncatti
Maike Loes505 vues
Les plus belles_baies par tudovietnam
Les plus belles_baiesLes plus belles_baies
Les plus belles_baies
tudovietnam281 vues
Les symboles phonetiques par maudhit
Les symboles phonetiquesLes symboles phonetiques
Les symboles phonetiques
maudhit297 vues
εκτελουντ.. par bymafe
εκτελουντ..εκτελουντ..
εκτελουντ..
bymafe289 vues
Plataformas educativas[1] par SAILEMA
Plataformas educativas[1]Plataformas educativas[1]
Plataformas educativas[1]
SAILEMA455 vues

Similaire à Architecture procédurale

Le web sémantique n'est pas antisocial (version de 2006) par
Le web sémantique n'est pas antisocial (version de 2006)Le web sémantique n'est pas antisocial (version de 2006)
Le web sémantique n'est pas antisocial (version de 2006)Fabien Gandon
2.7K vues28 diapositives
MobiliTeaTime #14 : L'Atomic Design par
MobiliTeaTime #14 : L'Atomic DesignMobiliTeaTime #14 : L'Atomic Design
MobiliTeaTime #14 : L'Atomic DesignUSERADGENTS
4.2K vues42 diapositives
Installation interactive conférence par
Installation interactive   conférenceInstallation interactive   conférence
Installation interactive conférenceAlexandre Rivaux
278 vues31 diapositives
Chap8 extrait par
Chap8 extraitChap8 extrait
Chap8 extraitAlain Lefebvre
232 vues3 diapositives
Scénographie des analyses de controverses par
Scénographie des analyses de controversesScénographie des analyses de controverses
Scénographie des analyses de controversesStéphane Rouilly
917 vues35 diapositives

Similaire à Architecture procédurale(20)

Le web sémantique n'est pas antisocial (version de 2006) par Fabien Gandon
Le web sémantique n'est pas antisocial (version de 2006)Le web sémantique n'est pas antisocial (version de 2006)
Le web sémantique n'est pas antisocial (version de 2006)
Fabien Gandon2.7K vues
MobiliTeaTime #14 : L'Atomic Design par USERADGENTS
MobiliTeaTime #14 : L'Atomic DesignMobiliTeaTime #14 : L'Atomic Design
MobiliTeaTime #14 : L'Atomic Design
USERADGENTS4.2K vues
Scénographie des controverses 2014, Sciences Po, Ecole de la Com par Stéphane Rouilly
Scénographie des controverses 2014, Sciences Po, Ecole de la ComScénographie des controverses 2014, Sciences Po, Ecole de la Com
Scénographie des controverses 2014, Sciences Po, Ecole de la Com
Stéphane Rouilly1.8K vues
Petite introduction au flat design (et autres platitudes) par i-breed et associés
Petite introduction au flat design (et autres platitudes)Petite introduction au flat design (et autres platitudes)
Petite introduction au flat design (et autres platitudes)
i-breed et associés102.4K vues
Pratique d'action script 3 version 0.1.4 par Ben Donaldson
Pratique d'action script 3   version 0.1.4Pratique d'action script 3   version 0.1.4
Pratique d'action script 3 version 0.1.4
Ben Donaldson289 vues
Dessin de pages web 536 par quickredfox
Dessin de pages web 536Dessin de pages web 536
Dessin de pages web 536
quickredfox472 vues
De l'IA au Calcul Littéraire: Pourquoi j'ai zappé le Web Sémantique par Jean Rohmer
De l'IA au Calcul Littéraire: Pourquoi j'ai zappé le Web Sémantique De l'IA au Calcul Littéraire: Pourquoi j'ai zappé le Web Sémantique
De l'IA au Calcul Littéraire: Pourquoi j'ai zappé le Web Sémantique
Jean Rohmer2.4K vues
Py osv newsletter-062018 par FabMob
Py osv newsletter-062018Py osv newsletter-062018
Py osv newsletter-062018
FabMob22 vues
Outils de construction pour la recherche par Johan Moreau
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la recherche
Johan Moreau573 vues
De l'usage de la metaphore dans la création architecturale par Archi Guelma
De l'usage de la metaphore dans la création architecturaleDe l'usage de la metaphore dans la création architecturale
De l'usage de la metaphore dans la création architecturale
Archi Guelma7.6K vues

Plus de martin255

Digital Paleontology - Digging for Ancient Tweets par
Digital Paleontology - Digging for Ancient TweetsDigital Paleontology - Digging for Ancient Tweets
Digital Paleontology - Digging for Ancient Tweetsmartin255
4.8K vues63 diapositives
Kontrast@TOTh 2012 par
Kontrast@TOTh 2012Kontrast@TOTh 2012
Kontrast@TOTh 2012martin255
741 vues71 diapositives
Kontrast@TKE 2012 par
Kontrast@TKE 2012Kontrast@TKE 2012
Kontrast@TKE 2012martin255
715 vues75 diapositives
Classificateur d'URL par
Classificateur d'URLClassificateur d'URL
Classificateur d'URLmartin255
685 vues19 diapositives
Classificateur d'URL par
Classificateur d'URLClassificateur d'URL
Classificateur d'URLmartin255
627 vues19 diapositives
L'unité documentaire sur le web par
L'unité documentaire sur le webL'unité documentaire sur le web
L'unité documentaire sur le webmartin255
1.5K vues65 diapositives

Plus de martin255(6)

Digital Paleontology - Digging for Ancient Tweets par martin255
Digital Paleontology - Digging for Ancient TweetsDigital Paleontology - Digging for Ancient Tweets
Digital Paleontology - Digging for Ancient Tweets
martin2554.8K vues
Kontrast@TOTh 2012 par martin255
Kontrast@TOTh 2012Kontrast@TOTh 2012
Kontrast@TOTh 2012
martin255741 vues
Kontrast@TKE 2012 par martin255
Kontrast@TKE 2012Kontrast@TKE 2012
Kontrast@TKE 2012
martin255715 vues
Classificateur d'URL par martin255
Classificateur d'URLClassificateur d'URL
Classificateur d'URL
martin255685 vues
Classificateur d'URL par martin255
Classificateur d'URLClassificateur d'URL
Classificateur d'URL
martin255627 vues
L'unité documentaire sur le web par martin255
L'unité documentaire sur le webL'unité documentaire sur le web
L'unité documentaire sur le web
martin2551.5K vues

Dernier

Newsletter SPW Agriculture en province de LIEGE du 28-11-23 par
Newsletter SPW Agriculture en province de LIEGE du 28-11-23Newsletter SPW Agriculture en province de LIEGE du 28-11-23
Newsletter SPW Agriculture en province de LIEGE du 28-11-23BenotGeorges3
16 vues21 diapositives
Julia Margaret Cameron par
Julia Margaret Cameron Julia Margaret Cameron
Julia Margaret Cameron Txaruka
5 vues20 diapositives
Julia Margaret Cameron par
Julia Margaret CameronJulia Margaret Cameron
Julia Margaret CameronTxaruka
45 vues20 diapositives
ordre westphalien.docx par
ordre westphalien.docxordre westphalien.docx
ordre westphalien.docxChristopheFontaine13
89 vues2 diapositives
Abréviations et symboles (1).pdf par
Abréviations et symboles (1).pdfAbréviations et symboles (1).pdf
Abréviations et symboles (1).pdfStagiaireLearningmat
20 vues2 diapositives
Formation M2i - Augmenter son impact en communication et en management grâce... par
Formation M2i - Augmenter son impact en communication et en management grâce...Formation M2i - Augmenter son impact en communication et en management grâce...
Formation M2i - Augmenter son impact en communication et en management grâce...M2i Formation
6 vues55 diapositives

Dernier(13)

Newsletter SPW Agriculture en province de LIEGE du 28-11-23 par BenotGeorges3
Newsletter SPW Agriculture en province de LIEGE du 28-11-23Newsletter SPW Agriculture en province de LIEGE du 28-11-23
Newsletter SPW Agriculture en province de LIEGE du 28-11-23
BenotGeorges316 vues
Julia Margaret Cameron par Txaruka
Julia Margaret Cameron Julia Margaret Cameron
Julia Margaret Cameron
Txaruka5 vues
Julia Margaret Cameron par Txaruka
Julia Margaret CameronJulia Margaret Cameron
Julia Margaret Cameron
Txaruka45 vues
Formation M2i - Augmenter son impact en communication et en management grâce... par M2i Formation
Formation M2i - Augmenter son impact en communication et en management grâce...Formation M2i - Augmenter son impact en communication et en management grâce...
Formation M2i - Augmenter son impact en communication et en management grâce...
M2i Formation6 vues
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 par BenotGeorges3
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23Newsletter SPW Agriculture en province du Luxembourg du 13-11-23
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23
BenotGeorges36 vues
Monthly Information Session for HMCS Vancouver (November 2023) par Esquimalt MFRC
Monthly Information Session for HMCS Vancouver (November 2023)Monthly Information Session for HMCS Vancouver (November 2023)
Monthly Information Session for HMCS Vancouver (November 2023)
Esquimalt MFRC216 vues
Cours SE Ordonnancement des processus - IPSET.pdf par MedBechir
Cours SE Ordonnancement des processus - IPSET.pdfCours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdf
MedBechir15 vues
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 (adapté au 2... par BenotGeorges3
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 (adapté au 2...Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 (adapté au 2...
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 (adapté au 2...
BenotGeorges323 vues

Architecture procédurale

  • 1. Architecture Procédurale Martin Lafréchoux ENSAV 22 Novembre 2011 Je vais vous faire une présentation sur une idée, l’architecture procédurale. Je travaille au CNRS, et je fais une thèse en sciences du langage à Nanterre, dans un laboratoire qui s’appelle MoDyCo. --- Réf illus : http://www.rossracine.com/
  • 2. Je fais du traitement automatisé du langage. Pour vous donner une idée, le TAL c’est des choses comme les moteurs de recherche, la traduction automatique, les correcteurs d’orthographe, etc. Vous vous demandez sans doute quel rapport ça peut avoir avec l’architecture.
  • 3. Pour commencer, je vais vous expliquer le terme ‘procédural’. Le plus souvent, on l’emploie dans l’expression ‘génération procédurale’. La génération procédurale, c’est, dans son essence, créer quelque chose indirectement. Au lieu de créer directement la chose, on va designer un procédé par lequel la chose sera créée. Je vous montre une petite vidéo : c’est ADA, une oeuvre d’une artiste allemande, Karina Smigla-Bobinski. Comme vous le voyez, ADA est un énorme ballon rempli d’hélium et couvert de picots qui sont en fait des morceaux de charbon. Elle est enfermée dans une pièce, immobile, et les visiteurs sont invités à la lancer pour que les picots laissent des traces sur les murs. Ce qui est intéressant, d’après l’auteur, c’est de se demander où est l’oeuvre, là-dedans : est-ce que c’est le ballon ? Est-ce que c’est la pièce ? Les deux ? Qui est l’auteur ? L’artiste ? Mais ce sont les visiteurs qui poussent ADA contre les murs. Et ADA ne se laisse pas faire. L’oeuvre, c’est le procédé. Sources : http://www.smigla-bobinski.com/ / http://www.youtube.com/watch? v=OcNtvfALW1Y
  • 4. 1. Grammaires Ce qui fait le lien entre la linguistique (telle que je m’en occupe) et le petit domaine de l’architecture dont je vais vous parler aujourd’hui, c’est ce qu’on appelle les grammaires formelles, et plus spécifiquement les grammaires génératives. Au niveau le plus simple, une grammaire est un ensemble de règles. Une grammaire formelle est un ensemble de règles permettant de décrire toutes les phrases admissibles d’un langage donné. Ref illus : http://plagiarismisnecessary.tumblr.com/post/2157814810/florian-beigel-aru-london-paju-book
  • 5. Grammaires formelles Les grammaires formelles ont été proposées dans les années 1950 par un linguiste du nom de Noam Chomsky, que vous connaissez peut-être pour d’autres raisons. Le diagramme que vous voyez s’appelle un automate à état fini. Il permet de représenter de manière synthétique toutes les séquences admises par la grammaire. Au lieu d’écrire toutes les suites de lettres possibles, on fait un diagramme qui permet de les retrouver. Dans l’exemple ci-dessus, le vocabulaire est composé de 4 lettres, M, X, V et R. Et les phrases admissibles sont décrites par le diagramme. On rentre par la flèche IN, et on suit les flèches jusqu’à tomber sur une flèche OUT. Entre les deux, chaque flèche correspond à une lettre. Le parcours qu’on aura effectué correspond à un terme appartenant au langage. Par exemple, celle-ci : VRRRM. Cette séquence est grammaticale : elle fait partie de celles produites par la grammaire représentée par le graphe à gauche de l’image. Pour le vérifier, il suffit de parcourir le graphe. Ref illus : http://www.pnas.org/content/93/24/13515.full
  • 6. L-Systems Les grammaires formelles ont très rapidement trouvé des applications dans d’autres champs que la linguistique. En 1968, le biologiste hongrois Lindenmayer utilise une grammaire formelle pour décrire les processus de croissance des plantes et des bactéries. On appelle cette grammaire un L- System. Au départ, il s’agissait de décrire de manière abstraite le développement des algues et des levures. (Image : article Müller)
  • 7. L-Systems Fondamentalement, les l-systems sont des grammaires de réécriture. Les l-systems permettent de modéliser le caractère fractal de la croissance des plantes. Ici un exemple simple avec deux règles, exprimées visuellement. Application en vidéo : http://www.youtube.com/watch?v=yWRFCSIzej0
  • 8. CityEngine C’est pas grave si ça ne vous paraît pas très clair pour l’instant. Pour remettre tout ça dans un contexte un peu plus concret, un premier exemple. Dans les minutes qui suivent, je vais beaucoup vous parler de CityEngine, qui a été développé en Suisse à la fin des années 90, et qui a été le premier logiciel vraiment complet et commercialisé à proposé des grammaires de formes appliquées à l’architecture. C’est un lieu commun de dire que les villes ont des caractéristiques organiques. Comme on avait décrit des langages, puis des plantes avec des grammaires formelles, l’étape suivante, c’est modéliser une ville en tant que processus.
  • 9. Premier exemple, Pascal Müller a utilisé un L-System pour décrire la manière dont s’organisent les réseaux de rues de différentes villes, à partir de variables comme la configuration géographique, l’élévation du terrain, la densité de population, et des spécificités locales (par ex. la tendance des villes américaines à être structurées en blocs).
  • 10. La petite vidéo vous montre NYC. (Ref : Procedural Modeling of Cities, Yoav I H Parish (parish@imes.mavt.ethz.ch ETH Zürich, Switzerland) Pascal Müller (pascal@centralpictures.com Central Pictures, Switzerland))
  • 11. A gauche, le plan généré par le L-System. A droite, le plan réel de Manhattan. Il y a un certain nombre de différences, mais c’est tout de même très intéressant. Le positionnement des ponts, par exemple, est assez remarquable.
  • 12. Grammaires de forme Un dernier concept à introduire : les grammaires de forme On peut appliquer l’idée de la grammaire générative aux formes elles-mêmes. En 1971, un article intitulé « Shape Grammar and the Generative Specification of Painting and Sculpture » introduit l’idée de grammaire de formes, sur le modèle proposé par Chomsky dans le cadre de la linguistique. Les grammaires de formes utilisent un alphabet composé de formes simples et permettent, en appliquant des règles, de les transformer et de les combiner pour créer des formes complexes, les phrases.
  • 13. On retrouve exactement la même idée dans CityEngine : les grammaires de forme. C’est un système de règles qui permet de créer les différents aspects d’une ville Ici, un exemple de règles pour créer une façade basique : Les pièces (a) se divisent horizontalement en pièces (b) Les pièces (b) se divisent verticalement pour donner des pièces (c) Les pièces (c) sont remplacées par des pièces (d)
  • 15. De la même manière, une fois que le plan des rues, CityEngine génère automatiquement des blocs, puis des bâtiments.
  • 16. En fonction de la parcelle, on applique des règles permettant de définir la forme générale du bâtiment, puis on affine.
  • 17. Le résultat. En haut, les blocs en L, en U ou en H du slide précédent. En bas, vous pouvez voir un petit effort pour reproduire de manière stylisée différents styles architecturaux présents à Manhattan.
  • 18. On peut aussi définir des grammaires spécifiques pour un bâtiment précis. Ci-dessus, le Rockfeller Center.
  • 19. CityEngine est aujourd’hui un produit commercial complet, qui a très nettement progressé en 10 ans. Il permet de générer rapidement des villes, que ce soit à partir de rien ou en important des plans, des bâtiments, des situations géographiques, réels ou fictifs, et de les importer directement dans les logiciels de CAD. Ref : http://www.procedural.com/showcases/showcase/marseilles.html
  • 20. Conclusion Voilà, c’était une longue introduction, avec des travaux assez anciens (CityEngine date de 1999-2000), et très théoriques. Maintenant, vous vous posez peut-être la question des applications. Il y en a au moins une que vous connaissez bien. Ref illus : http://www.sq.ro/viewer.php?i=63
  • 21. 2. Jeux Ref : http://www.introversion.co.uk/images/edgecity.jpg
  • 22. Liberty City New York GTA IV (2008) Vous pensez peut-être à quelque chose comme la modélisation extrêmement réaliste de NYC dans GTA 4. C’est très différent. Pour transformer NYC en Liberty City, il a fallu à Rockstar Games, le créateur de GTA, des dizaines d’employés et de programmeurs travaillant pendant plusieurs années à tout redessiner, à tout recréer, pour un coût total qui se chiffre en dizaines de millions de dollars. Si vous vous souvenez de ADA, le ballon couvert de picots — là Rockstar a créé le résultat, et non un processus.
  • 23. Oblivion (2006) Un exemple simple de contenu procédural : SpeedTree. C’est un logiciel qui utilise les L- systems pour générer de la végétation. Il est notamment utilisé dans Oblivion, Dragon Age, etc. C’est ce qui permet au jeu d’avoir une très grande surface : au lieu de dessiner un à un les arbres d’une forêt, on génère automatiquement x km2 de sous-bois. Chaque arbre généré correspond au modèle de son espèce, mais il est unique. La génération procédurale est donc d’abord utilisée pour créer rapidement et à moindre coût du contenu non-essentiel. C’est loin d’être le seul contenu généré de manière procédurale. Ref illus : http://www.speedtree.com/gallery/
  • 24. Facile Difficile Un exemple plus visuel pour vous montrer un peu plus concrètement des applications. Pour Left4Dead, Valve a lancé le concept d’AI Director, ou ‘réalisateur artificiel’, et parle de ‘narration procédurale’. C’est un grand mot pour dire que le nombre d’ennemis, leur positionnement ou celui des objets varie en fonction de la performance des joueurs. Dans Left4Dead 2 (2010), le ‘réalisateur artificiel’ peut modifier certains éléments du décor à la volée, en fonction des capacités des joueurs. Pour cet exemple, les deux itinéraires (avec ou sans grillage) ont été dessinés par des artistes de Valve. C’est la performance des joueurs au début du niveau qui déterminera si l’AI Director choisit l’une ou l’autre version. Tout cela a l’air très moderne.
  • 25. Rogue (1980) Paradoxalement, ce qui serait aujourd’hui considéré comme une avancée (en tout cas un indice de modernité) a commencé par nécessité : à l’origine, les ordinateurs manquaient de mémoire, et il était plus facile de générer le contenu grâce à un algorithme que de le stocker. Un jeu a poussé cette idée a son paroxysme : Rogue. Dans Rogue, on est un aventurier qui doit s’enfoncer toujours plus loin dans un donjon rempli de monstres et d’objets magiques. Comme vous pouvez le voir, c’est assez minimaliste, graphiquement parlant. Le rogue-like est un genre qui a été suivi d’un grand nombre des successeurs plus ou moins proches, jusqu’à aujourd’hui. Dans Rogue, à peu près tout est généré de manière procédurale : chaque niveau du donjon est généré au moment auquel le joueur y pénètre, et il est impossible de rencontrer plusieurs fois le même donjon. Comment ?
  • 26. Je vous montre rapidement le fonctionnement d’un algorithme de création de donjons (méthode BSP). On commence par une pièce rectangulaire, qu’on va diviser de manière récursive jusqu’à ce que chaque subdivision ait environ la taille des pièces qu’on veut créer. Donc là, le carré gris représente la surface dans laquelle on va tailler notre donjon, et A et B sont les deux premiers sous-donjons. We start with a rectangular dungeon filled with wall cells. We are going to split this dungeon recursively until each sub-dungeon has approximately the size of a room. The dungeon splitting uses this operation : ■ choose a random direction : horizontal or vertical splitting ■ choose a random position (x for vertical, y for horizontal) ■ split the dungeon into two sub-dungeons http://roguebasin.roguelikedevelopment.org/index.php?title=Basic_BSP_Dungeon_generation
  • 27. On applique la même opération à ces deux sous-donjons.
  • 28. Pour que ça marche, il faut quelques règles supplémentaires : par exemple, on empêche que la subdivision se fasse trop près des bords. Le subdivisions s’arrêtent lorsque les plus petits sous-donjons créés ont à peu près la taille des pièces qu’on veut générer. Voilà le résultat après 4 itérations.
  • 29. Ensuite, on créé une pièce dans chaque sous-donjon. L’intérêt d’avoir procédé comme on l’a fait est qu’on est certain que nos pièces ne vont pas se chevaucher.
  • 30. Pour créer les couloirs, on connecte ensemble les subdivisions de même niveau. Là c’est simple, il y a toujours deux murs qui se font face, mais au pire on peut utiliser un couloir en L ou en Z. To build corridors, we loop through all the leafs of the tree, connecting each leaf to its sister. If the two rooms have face-to-face walls, we can use a straight corridor. Else we have to use a Z shaped corridor. Now we get up one level in the tree and repeat the process for the father sub-regions. Now, we can connect two sub-regions with a link either between two rooms, or a corridor and a room or two corridors.
  • 31. On répète le processus pour les sous-donjons de niveau supérieur.
  • 32. Et voilà. C’est très schématique et assez primitif, mais je voulais surtout vous faire comprendre le principe.
  • 33. Diablo 3 (2012) En trente ans, on a progressé graphiquement... Les graphismes se sont améliorés, mais le principe de base reste le même. Un aventurier s’enfonce dans un donjon qui est généré à mesure de sa progression. A vrai dire, la complexité a même nettement décru en 30 ans. Dans Rogue ou dans Nethack, la pauvreté des graphismes est compensée par une richesse et une variété impressionnante du contenu ; il est possible d’imaginer des millions de variations de chaque objet, de chaque lieu, de chaque monstre, parce que la seule chose qui les caractérise c’est une description textuelle. Dans un jeu comme Diablo, même si l’agencement du contenu et des niveaux est généré de manière procédurale, l’aspect artistique (rendu des monstres, des objets, etc.) demande un travail énorme. Rogue a eu une autre descendance, qui a suivi un axe d’évolution perpendiculaire : les graphismes ont stagné, et c’est la complexité de l’univers généré qui a très nettement augmenté.
  • 34. Dwarf Fortress (2006) Ici, Dwarf Fortress, dont les graphismes sont en ASCII, en texte, mais qui fait quand même ramer un PC moderne. Un monde. http://rps.net/QS/Images/DW/map2.gif
  • 35. Au début d’une partie de Dwarf Fortress, le monde généré comprend des civilisations dotées d’une histoire longue et riche, des écosystèmes altérables, une géographie dynamique, des cetaines personnages ayant une histoire et une durée de vie limitée, etc.
  • 36. Minecraft (2009) Dans Minecraft, l’univers est généré à la volée, à la mesure que le joueur l’explore. La taille maximale d’un niveau représente une surface plus de huit fois supérieure à celle de la terre. (Ref : http://blog.fileplanet.com/2010/11/18/minecraft-wallpaper-no-creepers/minecraft- wallpaper-6/)
  • 37. Subversion (2012 ?) Subversion est un jeu en cours de développement depuis 2007. Le développeur a beaucoup communiqué sur le fait que l’intégralité de l’espace du jeu (c’est-à-dire le plan de la ville, l’intérieur et l’extérieur des bâtiments) est généré de manière procédurale. Ref illus : http://www.introversion.co.uk/subversion/
  • 38. Le joueur dirige une équipe de type Mission Impossible, qui doit infiltrer et prendre le contrôle de bâtiments. Le tout a lieu dans des bâtiments générés de manière procédurale. Naturellement, ça n’interdit pas la vision artistique ou personnalisation. L’exemple donné c’est : on a besoin d’un immeuble de bureaux de 30 étages pour le scénario. On génère l’immeuble, et on modifie légèrement le 29ème étage, parce que c’est là qu’aura lieu l’action. Le reste du bâtiment est explorable, mais il se contente des réglages par défaut. La direction artistique s’inspire du mode d’affichage de travail des logiciels de CAD. Subversion est réalisé par une équipe extrêmement réduite, et il a donc fallu choisir une approche artistique qui soit peu coûteuse. La question semble être : peut-on imaginer combiner la richesse de contenu de Dwarf Fortress avec la qualité graphique de jeux sans génération procédurale ?
  • 39. Conclusion Ref illus : http://vigilism.tumblr.com/post/960494731/architecture-destruction-this-is-a- series-that Ce qu’il faut retenir, c’est que la génération procédurale de contenus permet à un développeur de créer un environnement virtuel plus vaste et plus interactif que celui qu’une immense équipe d’artistes met plusieurs années à reproduire.
  • 40. 3. Modules Ref illus : http://vimeo.com/6736261 Vous me direz, va-t-on enfin en venir à de l’architecture réelle, à un moment ? Oui, enfin.
  • 41. Brunswick Square (~1830) Un article publié cette année par des jeunes chercheurs de l’université de Brighton. Ils ont étudié les façades des maisons de Brunswick Square, à Hove, qui présentent une unité architecturale assez frappante. De style régence, elles ont toutes été bâties entre 1825 et 1840, environ. Leu objectif était d’extraire des grammaires de forme à partir de ces façades existantes. L’objectif est descriptif : analyser, déconstruire un style pour pouvoir l’étudier.
  • 42. Ils ont commencé par faire des mesures précises des façades et des différents éléments qui les composent. Ils ont utilisé des moyens tout à fait conventionnels : télémètre laser et mètre ruban, avec l’accord des propriétaires. Ces mesures ont permis de diviser les maisons en 6 types fondamentaux, A B C D E F.
  • 43. Ca, par exemple, c’est la façade de type A, qui correspond à près de 40% des maisons. Comme vous pouvez le voir, sa composition a été analysée et décomposée en éléments architecturaux simples : galerie, architrave, corniche, entablement, balcon... Une fois tous les éléments décomposés, création d’un modèle.
  • 44. A un niveau basique, leur modèle est généralisable à toute maison de style régence. Il y a ensuite un second niveau qui exprime le type général de la maison, et enfin un troisième niveau, qui permet d’exprimer les spécificités de chaque bâtiment. C’est un système de règles modulaire.
  • 45. Modern Modular (2008) Resolution: 4 Architecture produit une maison préfabriquée modulaire, Modern Modular. Forts de l’expérience acquise sur plusieurs projets d’habitat individuel pour des particuliers, Resolution: 4 Architecture a conçu une série de blocs modulaires qui peuvent être agencés de manière pratiquement infinie, pour répondre aux besoins particuliers de chaque client. Ref illus : http://www.archdaily.com/88167/vermont-cabin-resolution-4-architecture/
  • 46. Le concept, c’est celui de la «mass customization» : la conception modulaire permet d’offrir le luxe d’une maison d’architecte avec des coûts maîtrisés, et un temps de construction réduit. Resolution 4 a conçu les modules en s’inspirant de leurs réalisations plus traditionnelles et urbaines. Ref illus : http://re4a.com/?t=1&c=0
  • 47. Notez le point auquel cette logique est proche de celle utilisée pour composer les bâtiments dans CityEngine, que je vous montrais au début.
  • 48. Quinta da Malagueira (1977) L’idée de ‘mass customization’ n’est pas nouvelle. Le programme Quinta da Malagueira, d’Alvaro Siza. Des logements sociaux construits dans la banlieue d’Evora, à 200 km à l’est de Lisbonne. Il y a environ 1200 logements bâtis sur une période de plus de 20 ans. Ref: http://alvarosizavieira.com/1977-quinta-da-malagueira http://www.flickr.com/photos/ekain/2795271855/
  • 49. L’idée de Siza était de combiner la répétition de formes simples, cubiques, correspondant à la géométrie habituelle des projets de ce type, tout en parvenant à un degré élevé de variété architecturale. On retrouve le concept de « personnalisation de masse » de Modern Modular. Ref : http://dspace.mit.edu/handle/1721.1/8189 http://crisman.scripts.mit.edu/blog/?p=293
  • 50. Siza a conçu les plans de ces logements dans les années 1970, en travaillant de manière traditionnelle, c’est-à-dire manuelle. Ca n’interdit pas de les analyser comme des plans générés par des grammaires formelles. José Duarte est un architecte et chercheur en informatique portugais, qui a utilisé le programme construit par Siza comme corpus. Il a cherché à déterminer la grammaire de formes qui avait présidé à la création du programme. C’est intéressant pour moi, parce que ça ressemble très exactement à ce que je fais en traitement automatisé du langage : comme avec l’exemple de Brighton, l’idée est d’identifier des régularités, puis d’en extraire des règles.
  • 51. Il a ensuite appliqué cette grammaire pour produire automatiquement les plans d’autres maisons, similaires à celles de Malagueira, mais originales. On peut considérer que son travail a été un succès, puisque la grammaire générative a été capable de produire des plans que Siza lui-même n’est pas parvenu à distinguer de ceux qu’il avait créés.
  • 52. Casablanca (2010) Enfin, je voulais vous présenter un projet qui utilise les concepts de développement procédural et modulaire, mais pas les grammaires de formes. Il s’agit du projet de fin d’études d’Emily Thurlow, présenté à l’AA School of Architecture en 2010.
  • 53. L’idée, ce sont les bidonvilles de Casablanca, qui se constituent spontanément suite à l’exode rural, en utilisant des techniques traditionnelles issues du nomadisme, qui sont mal adaptées à l’environnement urbain. Leur croissance ‘naturelle’ n’est pas soutenable. La première idée du projet est de canaliser le développement naturel du campement en favorisant une forme en spirale. Selon elle, il s’agit de formaliser l’informel. http://projectsreview2010.aaschool.ac.uk/html/units.php?unit=80&name=241
  • 54. A mesure que la spirale se développe, les habitations sont recouvertes par une super- structure modulaire. La structure repose sur un système de tenségrité, auto-constructible et extensible en fonction de la croissance de la population. Il y a des zones cultivables intégrées, pour une «agriculture de proximité». Je voulais vous montrer ce projet pour que vous voyiez que ce n’était pas forcément une affaire de programmation. C’est d’abord une manière de raisonner. Là, l’approche de l’architecte était très low tech, très concrète, avec énormément de travail sur les différentes structures en tenségrité. Après, pour être pleine de bonnes intentions, ce n’est peut-être pas une approche très adaptée à la situation des personnes qu’elle veut aider. Sur un site web marocain, je lisais quelqu’un qui disait «j'apprécie bcp le projet, architecturalement et visuellement parlant. Par contre, sur le fond, si cette population a déserté la campagne c'est justement par ce qu'elle ne veut plus faire de l'agriculture»
  • 55. Beachview Bluffs (2010) Pour terminer, je voulais vous montrer une oeuvre d’un artiste canadien, Ross Racine. A première vue, on dirait une photo aérienne d’une banlieue quelconque. Pourtant, assez rapidement, on ressent une sorte d’inconfort, de déséquilibre : il y a quelque chose qui ne va pas. Cette banlieue ne s’arrête nulle part. Elle pourrait continuer infiniment, en alternant régularités et variations locales, toujours semblable à elle-même, avec ses ilots d’identité minimale. En réalité, le travail de Ross Racine est réalisé entièrement à l’ordinateur, à la main, sans programmation ni photographie. Il dessine à la souris, sans modèle. En mélangeant dessin et imagerie numérique, il créé des objets incertains — à la fois modèle de développement futur et documentation de lotissements impossibles, exagérés, monstrueux. Il me semble qu’il y a, dans sa démarche, quelque chose d’important. Une saine satire de la démarche procédurale, qui remet bien les choses à leur place. Pousser les logiques à leur dernière extrémité n’a pas grand sens, si personne n’est là pour contrôler le résultat. ---- Plus d’infors sur son site : http://www.rossracine.com/y-extrafiles/RossRacine- demarche.pdf
  • 56. Conclusion Pour vous faire une analogie avec mon propre travail, c’est à peu près la même différence qu’entre la traduction faite par un traducteur et la traduction machine. Malgré des décennies d’efforts pour faire faire de la traduction aux ordinateurs, on est encore très loin de pouvoir leur confier toutes les tâches. Mais ce n’est pas pour ça qu’ils n’ont aucune utilité. Il n’y a pas de module de traduction automatique dans les logiciels de TAO. Si vous voulez vous mettre à la programmation, vous pouvez vous tourner vers Python, qui est un langage générique à la fois puissant, lisible, et relativement facile à apprendre. Si vous cherchez quelque chose de plus spécialisé, il y a Processing, qui est basé sur Java, et spécifiquement destiné aux gens qui souhaitent adopter une approche plus visuelle de la programmation. Ref illus : http://www.nytimes.com/2010/12/19/magazine/19Urban_West-t.html http://processing.org
  • 57. Merci Merci de votre attention Bibliographie si vous voulez en savoir plus. Excellent article de synthèse : http://bldgblog.blogspot.com/2009/08/procedural-destruction-and-algorithmic.html Les articles d'origine de Pascal Müller, l'auteur de CityEngine : http://www.vision.ee.ethz.ch/~pmueller/wiki/CityEngine/PaperCities Pixel City, un projet simple de ville procédurale, très bien expliqué : http://www.shamusyoung.com/twentysidedtale/?p=2940 Liens sur les algorithmes utilisés par les rogue-likes : http://www.emanueleferonato.com/2009/06/02/understanding-roguelike-dungeons/ Sur José Duarte et les Shape Grammars : http://crisman.scripts.mit.edu/blog/?p=293 Des projets réalisés grâce à Processing : http://designplaygrounds.com/deviants/processing-for-architecture/ ----- Ref image : http://www.complexification.net/gallery/machines/substrate/