Você está na página 1de 57

Architecture Procdurale

Martin Lafrchoux ENSAV 22 Novembre 2011

Je vais vous faire une prsentation sur une ide, larchitecture procdurale. Je travaille au CNRS, et je fais une thse en sciences du langage Nanterre, dans un laboratoire qui sappelle MoDyCo. --Rf illus : http://www.rossracine.com/

Je fais du traitement automatis du langage. Pour vous donner une ide, le TAL cest des choses comme les moteurs de recherche, la traduction automatique, les correcteurs dorthographe, etc. Vous vous demandez sans doute quel rapport a peut avoir avec larchitecture.

Pour commencer, je vais vous expliquer le terme procdural. Le plus souvent, on lemploie dans lexpression gnration procdurale. La gnration procdurale, cest, dans son essence, crer quelque chose indirectement. Au lieu de crer directement la chose, on va designer un procd par lequel la chose sera cre. Je vous montre une petite vido : cest ADA, une oeuvre dune artiste allemande, Karina Smigla-Bobinski. Comme vous le voyez, ADA est un norme ballon rempli dhlium et couvert de picots qui sont en fait des morceaux de charbon. Elle est enferme dans une pice, immobile, et les visiteurs sont invits la lancer pour que les picots laissent des traces sur les murs. Ce qui est intressant, daprs lauteur, cest de se demander o est loeuvre, l-dedans : est-ce que cest le ballon ? Est-ce que cest la pice ? Les deux ? Qui est lauteur ? Lartiste ? Mais ce sont les visiteurs qui poussent ADA contre les murs. Et ADA ne se laisse pas faire. Loeuvre, cest le procd. 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 men occupe) et le petit domaine de larchitecture dont je vais vous parler aujourdhui, cest ce quon appelle les grammaires formelles, et plus spciquement les grammaires gnratives. Au niveau le plus simple, une grammaire est un ensemble de rgles. Une grammaire formelle est un ensemble de rgles permettant de dcrire toutes les phrases admissibles dun langage donn. Ref illus :
http://plagiarismisnecessary.tumblr.com/post/2157814810/orian-beigel-aru-london-paju-book

Grammaires formelles

Les grammaires formelles ont t proposes dans les annes 1950 par un linguiste du nom de Noam Chomsky, que vous connaissez peut-tre pour dautres raisons. Le diagramme que vous voyez sappelle un automate tat ni. Il permet de reprsenter de manire synthtique toutes les squences admises par la grammaire. Au lieu dcrire toutes les suites de lettres possibles, on fait un diagramme qui permet de les retrouver. Dans lexemple ci-dessus, le vocabulaire est compos de 4 lettres, M, X, V et R. Et les phrases admissibles sont dcrites par le diagramme. On rentre par la che IN, et on suit les ches jusqu tomber sur une che OUT. Entre les deux, chaque che correspond une lettre. Le parcours quon aura effectu correspond un terme appartenant au langage. Par exemple, celle-ci : VRRRM. Cette squence est grammaticale : elle fait partie de celles produites par la grammaire reprsente par le graphe gauche de limage. Pour le vrier, il suffit de parcourir le graphe. Ref illus : http://www.pnas.org/content/93/24/13515.full

L-Systems

Les grammaires formelles ont trs rapidement trouv des applications dans dautres champs que la linguistique. En 1968, le biologiste hongrois Lindenmayer utilise une grammaire formelle pour dcrire les processus de croissance des plantes et des bactries. On appelle cette grammaire un LSystem. Au dpart, il sagissait de dcrire de manire abstraite le dveloppement des algues et des levures. (Image : article Mller)

L-Systems

Fondamentalement, les l-systems sont des grammaires de rcriture. Les l-systems permettent de modliser le caractre fractal de la croissance des plantes. Ici un exemple simple avec deux rgles, exprimes visuellement. Application en vido : http://www.youtube.com/watch?v=yWRFCSIzej0

CityEngine
Cest pas grave si a ne vous parat pas trs clair pour linstant. 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 dvelopp en Suisse la n des annes 90, et qui a t le premier logiciel vraiment complet et commercialis propos des grammaires de formes appliques larchitecture. Cest un lieu commun de dire que les villes ont des caractristiques organiques. Comme on avait dcrit des langages, puis des plantes avec des grammaires formelles, ltape suivante, cest modliser une ville en tant que processus.

Premier exemple, Pascal Mller a utilis un L-System pour dcrire la manire dont sorganisent les rseaux de rues de diffrentes villes, partir de variables comme la conguration gographique, llvation du terrain, la densit de population, et des spcicits locales (par ex. la tendance des villes amricaines tre structures en blocs).

La petite vido vous montre NYC. (Ref : Procedural Modeling of Cities, Yoav I H Parish (parish@imes.mavt.ethz.ch ETH Zrich, Switzerland) Pascal Mller (pascal@centralpictures.com Central Pictures, Switzerland))

A gauche, le plan gnr par le L-System. A droite, le plan rel de Manhattan. Il y a un certain nombre de diffrences, mais cest tout de mme trs intressant. Le positionnement des ponts, par exemple, est assez remarquable.

Grammaires de forme

Un dernier concept introduire : les grammaires de forme On peut appliquer lide de la grammaire gnrative aux formes elles-mmes. En 1971, un article intitul Shape Grammar and the Generative Specication of Painting and Sculpture introduit lide de grammaire de formes, sur le modle 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 rgles, de les transformer et de les combiner pour crer des formes complexes, les phrases.

On retrouve exactement la mme ide dans CityEngine : les grammaires de forme. Cest un systme de rgles qui permet de crer les diffrents aspects dune ville Ici, un exemple de rgles pour crer une faade basique : Les pices (a) se divisent horizontalement en pices (b) Les pices (b) se divisent verticalement pour donner des pices (c) Les pices (c) sont remplaces par des pices (d)

Voici, schmatiquement, lapplication de ces rgles.

De la mme manire, une fois que le plan des rues, CityEngine gnre automatiquement des blocs, puis des btiments.

En fonction de la parcelle, on applique des rgles permettant de dnir la forme gnrale du btiment, puis on affine.

Le rsultat. En haut, les blocs en L, en U ou en H du slide prcdent. En bas, vous pouvez voir un petit effort pour reproduire de manire stylise diffrents styles architecturaux prsents Manhattan.

On peut aussi dnir des grammaires spciques pour un btiment prcis. Ci-dessus, le Rockfeller Center.

CityEngine est aujourdhui un produit commercial complet, qui a trs nettement progress en 10 ans. Il permet de gnrer rapidement des villes, que ce soit partir de rien ou en important des plans, des btiments, des situations gographiques, rels ou ctifs, et de les importer directement dans les logiciels de CAD. Ref : http://www.procedural.com/showcases/showcase/marseilles.html

Conclusion
Voil, ctait une longue introduction, avec des travaux assez anciens (CityEngine date de 1999-2000), et trs thoriques. 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 modlisation extrmement raliste de NYC dans GTA 4. Cest trs diffrent. Pour transformer NYC en Liberty City, il a fallu Rockstar Games, le crateur de GTA, des dizaines demploys et de programmeurs travaillant pendant plusieurs annes tout redessiner, tout recrer, pour un cot 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 rsultat, et non un processus.

Oblivion (2006)
Un exemple simple de contenu procdural : SpeedTree. Cest un logiciel qui utilise les Lsystems pour gnrer de la vgtation. Il est notamment utilis dans Oblivion, Dragon Age, etc. Cest ce qui permet au jeu davoir une trs grande surface : au lieu de dessiner un un les arbres dune fort, on gnre automatiquement x km2 de sous-bois. Chaque arbre gnr correspond au modle de son espce, mais il est unique. La gnration procdurale est donc dabord utilise pour crer rapidement et moindre cot du contenu non-essentiel. Cest loin dtre le seul contenu gnr de manire procdurale. Ref illus : http://www.speedtree.com/gallery/

Facile

Difcile
Un exemple plus visuel pour vous montrer un peu plus concrtement des applications. Pour Left4Dead, Valve a lanc le concept dAI Director, ou ralisateur articiel, et parle de narration procdurale. Cest un grand mot pour dire que le nombre dennemis, leur positionnement ou celui des objets varie en fonction de la performance des joueurs. Dans Left4Dead 2 (2010), le ralisateur articiel peut modier certains lments du dcor la vole, en fonction des capacits des joueurs. Pour cet exemple, les deux itinraires (avec ou sans grillage) ont t dessins par des artistes de Valve. Cest la performance des joueurs au dbut du niveau qui dterminera si lAI Director choisit lune ou lautre version. Tout cela a lair trs moderne.

Rogue (1980)
Paradoxalement, ce qui serait aujourdhui considr comme une avance (en tout cas un indice de modernit) a commenc par ncessit : lorigine, les ordinateurs manquaient de mmoire, et il tait plus facile de gnrer le contenu grce un algorithme que de le stocker. Un jeu a pouss cette ide a son paroxysme : Rogue. Dans Rogue, on est un aventurier qui doit senfoncer toujours plus loin dans un donjon rempli de monstres et dobjets magiques. Comme vous pouvez le voir, cest assez minimaliste, graphiquement parlant. Le rogue-like est un genre qui a t suivi dun grand nombre des successeurs plus ou moins proches, jusqu aujourdhui. Dans Rogue, peu prs tout est gnr de manire procdurale : chaque niveau du donjon est gnr au moment auquel le joueur y pntre, et il est impossible de rencontrer plusieurs fois le mme donjon. Comment ?

Je vous montre rapidement le fonctionnement dun algorithme de cration de donjons (mthode BSP). On commence par une pice rectangulaire, quon va diviser de manire rcursive jusqu ce que chaque subdivision ait environ la taille des pices quon veut crer. Donc l, le carr gris reprsente 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 lled 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 mme opration ces deux sous-donjons.

Pour que a marche, il faut quelques rgles supplmentaires : par exemple, on empche que la subdivision se fasse trop prs des bords. Le subdivisions sarrtent lorsque les plus petits sous-donjons crs ont peu prs la taille des pices quon veut gnrer. Voil le rsultat aprs 4 itrations.

Ensuite, on cr une pice dans chaque sous-donjon. Lintrt davoir procd comme on la fait est quon est certain que nos pices ne vont pas se chevaucher.

Pour crer les couloirs, on connecte ensemble les subdivisions de mme niveau. L cest 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 rpte le processus pour les sous-donjons de niveau suprieur.

Et voil. Cest trs schmatique 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 amliors, mais le principe de base reste le mme. Un aventurier senfonce dans un donjon qui est gnr mesure de sa progression. A vrai dire, la complexit a mme nettement dcru en 30 ans. Dans Rogue ou dans Nethack, la pauvret des graphismes est compense par une richesse et une varit impressionnante du contenu ; il est possible dimaginer des millions de variations de chaque objet, de chaque lieu, de chaque monstre, parce que la seule chose qui les caractrise cest une description textuelle. Dans un jeu comme Diablo, mme si lagencement du contenu et des niveaux est gnr de manire procdurale, laspect artistique (rendu des monstres, des objets, etc.) demande un travail norme. Rogue a eu une autre descendance, qui a suivi un axe dvolution perpendiculaire : les graphismes ont stagn, et cest la complexit de lunivers gnr qui a trs nettement augment.

Dwarf Fortress (2006)


Ici, Dwarf Fortress, dont les graphismes sont en ASCII, en texte, mais qui fait quand mme ramer un PC moderne. Un monde. http://rps.net/QS/Images/DW/map2.gif

Au dbut dune partie de Dwarf Fortress, le monde gnr comprend des civilisations dotes dune histoire longue et riche, des cosystmes altrables, une gographie dynamique, des cetaines personnages ayant une histoire et une dure de vie limite, etc.

Minecraft (2009)
Dans Minecraft, lunivers est gnr la vole, la mesure que le joueur lexplore. La taille maximale dun niveau reprsente une surface plus de huit fois suprieure celle de la terre. (Ref : http://blog.leplanet.com/2010/11/18/minecraft-wallpaper-no-creepers/minecraftwallpaper-6/)

Subversion (2012 ?)
Subversion est un jeu en cours de dveloppement depuis 2007. Le dveloppeur a beaucoup communiqu sur le fait que lintgralit de lespace du jeu (cest--dire le plan de la ville, lintrieur et lextrieur des btiments) est gnr de manire procdurale. Ref illus : http://www.introversion.co.uk/subversion/

Le joueur dirige une quipe de type Mission Impossible, qui doit inltrer et prendre le contrle de btiments. Le tout a lieu dans des btiments gnrs de manire procdurale. Naturellement, a ninterdit pas la vision artistique ou personnalisation. Lexemple donn cest : on a besoin dun immeuble de bureaux de 30 tages pour le scnario. On gnre limmeuble, et on modie lgrement le 29me tage, parce que cest l quaura lieu laction. Le reste du btiment est explorable, mais il se contente des rglages par dfaut. La direction artistique sinspire du mode daffichage de travail des logiciels de CAD. Subversion est ralis par une quipe extrmement rduite, et il a donc fallu choisir une approche artistique qui soit peu coteuse. La question semble tre : peut-on imaginer combiner la richesse de contenu de Dwarf Fortress avec la qualit graphique de jeux sans gnration procdurale ?

Conclusion
Ref illus : http://vigilism.tumblr.com/post/960494731/architecture-destruction-this-is-aseries-that Ce quil faut retenir, cest que la gnration procdurale de contenus permet un dveloppeur de crer un environnement virtuel plus vaste et plus interactif que celui quune immense quipe dartistes met plusieurs annes reproduire.

3. Modules

Ref illus : http://vimeo.com/6736261 Vous me direz, va-t-on enn en venir de larchitecture relle, un moment ? Oui, enn.

Brunswick Square (~1830)


Un article publi cette anne par des jeunes chercheurs de luniversit de Brighton. Ils ont tudi les faades des maisons de Brunswick Square, Hove, qui prsentent une unit architecturale assez frappante. De style rgence, elles ont toutes t bties entre 1825 et 1840, environ. Leu objectif tait dextraire des grammaires de forme partir de ces faades existantes. Lobjectif est descriptif : analyser, dconstruire un style pour pouvoir ltudier.

Ils ont commenc par faire des mesures prcises des faades et des diffrents lments qui les composent. Ils ont utilis des moyens tout fait conventionnels : tlmtre laser et mtre ruban, avec laccord des propritaires. Ces mesures ont permis de diviser les maisons en 6 types fondamentaux, A B C D E F.

Ca, par exemple, cest la faade de type A, qui correspond prs de 40% des maisons. Comme vous pouvez le voir, sa composition a t analyse et dcompose en lments architecturaux simples : galerie, architrave, corniche, entablement, balcon... Une fois tous les lments dcomposs, cration dun modle.

A un niveau basique, leur modle est gnralisable toute maison de style rgence. Il y a ensuite un second niveau qui exprime le type gnral de la maison, et enn un troisime niveau, qui permet dexprimer les spcicits de chaque btiment. Cest un systme de rgles modulaire.

Modern Modular (2008)


Resolution: 4 Architecture produit une maison prfabrique modulaire, Modern Modular. Forts de lexprience acquise sur plusieurs projets dhabitat individuel pour des particuliers, Resolution: 4 Architecture a conu une srie de blocs modulaires qui peuvent tre agencs de manire pratiquement innie, pour rpondre aux besoins particuliers de chaque client. Ref illus : http://www.archdaily.com/88167/vermont-cabin-resolution-4-architecture/

Le concept, cest celui de la mass customization : la conception modulaire permet doffrir le luxe dune maison darchitecte avec des cots matriss, et un temps de construction rduit. Resolution 4 a conu les modules en sinspirant de leurs ralisations plus traditionnelles et urbaines. Ref illus : http://re4a.com/?t=1&c=0

Notez le point auquel cette logique est proche de celle utilise pour composer les btiments dans CityEngine, que je vous montrais au dbut.

Quinta da Malagueira (1977)


Lide de mass customization nest pas nouvelle. Le programme Quinta da Malagueira, dAlvaro Siza. Des logements sociaux construits dans la banlieue dEvora, 200 km lest de Lisbonne. Il y a environ 1200 logements btis sur une priode de plus de 20 ans. Ref: http://alvarosizavieira.com/1977-quinta-da-malagueira http://www.ickr.com/photos/ekain/2795271855/

Lide de Siza tait de combiner la rptition de formes simples, cubiques, correspondant la gomtrie habituelle des projets de ce type, tout en parvenant un degr lev de varit 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 conu les plans de ces logements dans les annes 1970, en travaillant de manire traditionnelle, cest--dire manuelle. Ca ninterdit pas de les analyser comme des plans gnrs 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 dterminer la grammaire de formes qui avait prsid la cration du programme. Cest intressant pour moi, parce que a ressemble trs exactement ce que je fais en traitement automatis du langage : comme avec lexemple de Brighton, lide est didentier des rgularits, puis den extraire des rgles.

Il a ensuite appliqu cette grammaire pour produire automatiquement les plans dautres maisons, similaires celles de Malagueira, mais originales. On peut considrer que son travail a t un succs, puisque la grammaire gnrative a t capable de produire des plans que Siza lui-mme nest pas parvenu distinguer de ceux quil avait crs.

Casablanca (2010)
Enn, je voulais vous prsenter un projet qui utilise les concepts de dveloppement procdural et modulaire, mais pas les grammaires de formes. Il sagit du projet de n dtudes dEmily Thurlow, prsent lAA School of Architecture en 2010.

Lide, ce sont les bidonvilles de Casablanca, qui se constituent spontanment suite lexode rural, en utilisant des techniques traditionnelles issues du nomadisme, qui sont mal adaptes lenvironnement urbain. Leur croissance naturelle nest pas soutenable. La premire ide du projet est de canaliser le dveloppement naturel du campement en favorisant une forme en spirale. Selon elle, il sagit de formaliser linformel. http://projectsreview2010.aaschool.ac.uk/html/units.php?unit=80&name=241

A mesure que la spirale se dveloppe, les habitations sont recouvertes par une superstructure modulaire. La structure repose sur un systme de tensgrit, auto-constructible et extensible en fonction de la croissance de la population. Il y a des zones cultivables intgres, pour une agriculture de proximit. Je voulais vous montrer ce projet pour que vous voyiez que ce ntait pas forcment une affaire de programmation. Cest dabord une manire de raisonner. L, lapproche de larchitecte tait trs low tech, trs concrte, avec normment de travail sur les diffrentes structures en tensgrit. Aprs, pour tre pleine de bonnes intentions, ce nest peut-tre pas une approche trs adapte la situation des personnes quelle veut aider. Sur un site web marocain, je lisais quelquun qui disait j'apprcie bcp le projet, architecturalement et visuellement parlant. Par contre, sur le fond, si cette population a dsert 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 dun artiste canadien, Ross Racine. A premire vue, on dirait une photo arienne dune banlieue quelconque. Pourtant, assez rapidement, on ressent une sorte dinconfort, de dsquilibre : il y a quelque chose qui ne va pas. Cette banlieue ne sarrte nulle part. Elle pourrait continuer inniment, en alternant rgularits et variations locales, toujours semblable elle-mme, avec ses ilots didentit minimale. En ralit, le travail de Ross Racine est ralis entirement lordinateur, la main, sans programmation ni photographie. Il dessine la souris, sans modle. En mlangeant dessin et imagerie numrique, il cr des objets incertains la fois modle de dveloppement futur et documentation de lotissements impossibles, exagrs, monstrueux. Il me semble quil y a, dans sa dmarche, quelque chose dimportant. Une saine satire de la dmarche procdurale, qui remet bien les choses leur place. Pousser les logiques leur dernire extrmit na pas grand sens, si personne nest l pour contrler le rsultat. ---Plus dinfors sur son site : http://www.rossracine.com/y-extrales/RossRacinedemarche.pdf

Conclusion
Pour vous faire une analogie avec mon propre travail, cest peu prs la mme diffrence quentre la traduction faite par un traducteur et la traduction machine. Malgr des dcennies defforts pour faire faire de la traduction aux ordinateurs, on est encore trs loin de pouvoir leur coner toutes les tches. Mais ce nest pas pour a quils nont aucune utilit. Il ny 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 gnrique la fois puissant, lisible, et relativement facile apprendre. Si vous cherchez quelque chose de plus spcialis, il y a Processing, qui est bas sur Java, et spciquement 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 synthse : http://bldgblog.blogspot.com/2009/08/procedural-destruction-and-algorithmic.html Les articles d'origine de Pascal Mller, l'auteur de CityEngine : http://www.vision.ee.ethz.ch/~pmueller/wiki/CityEngine/PaperCities Pixel City, un projet simple de ville procdurale, trs bien expliqu : http://www.shamusyoung.com/twentysidedtale/?p=2940 Liens sur les algorithmes utiliss 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 raliss grce Processing : http://designplaygrounds.com/deviants/processing-for-architecture/ ----Ref image : http://www.complexication.net/gallery/machines/substrate/

Você também pode gostar