Icon Diamond Question Tail Left Question Mark Arrow Left Arrow right Whatsapp Messenger Facebook Link Linkedin Twitter Discord Cross Cross thin Cookies Search Clock Touch Play Play Burger Top Arrow Instagram Cookies

Comment Oskar Stallberg rend la génération procédurale esthétique et amusante

Dans cet épisode, nous plongeons dans l'esprit créatif d'Oskar Stålberg, le développeur à l'origine de nombreux succès indépendants acclamés tels que Bad North et Townscaper.

8 min

Dans cet épisode, nous plongeons dans l'esprit créatif d'Oskar Stålberg, le développeur à l'origine de nombreux succès indépendants acclamés tels que Bad North et Townscaper. Il nous raconte comment la génération procédurale a influencé la conception de ses jeux, partage son expérience de l'optimisation pour mobile et VR, et explique comment il a trouvé le juste équilibre entre art et contraintes techniques. Restez jusqu'à la fin, car si la génération procédurale vous intéresse, vous adorerez le chef-d'œuvre créatif que je vais partager.

Interview avec Oskar Stålberg

Townscaper est une application relaxante qui vous permet de créer de jolies petites villes sur PC, mobile, VR, et même directement dans votre navigateur.

Qu'est-ce qui vous a inspiré pour créer Townscaper et comment le concept a-t-il évolué ?

Oskar Stålberg : C’est une longue histoire. Townscaper a commencé comme une sorte de démo technique et artistique. Je réfléchissais beaucoup à la génération procédurale de bâtiments, surtout après avoir travaillé sur The Division, où nous utilisions des outils semi-procéduraux pour concevoir la skyline de New York. Je voulais approfondir le concept de maisons procédurales et j’ai commencé avec un outil appelé "Brick Block" (que vous pouvez essayer ici 🔗)—une version modulaire et précoce de ce qui allait devenir Townscaper. Au fil du temps, j’ai découvert de nouveaux algorithmes, comme le wave function collapse, qui m’ont permis de créer des caractéristiques architecturales plus complexes.

Comment Townscaper est-il devenu un jeu à part entière ?

Oskar Stålberg : Honnêtement, Townscaper n’a pas commencé comme une idée de jeu. À l’origine, c’était un défi technique : je voulais comprendre comment créer des bâtiments colorés et procéduraux. Au début, je n’arrivais pas à imaginer un gameplay qui s’y adapterait, alors j’ai mis le projet de côté pour travailler sur Bad North 🔗. Après le succès de Bad North, j’ai eu la liberté de reprendre Townscaper sans trop me soucier de sa rentabilité commerciale. Je me suis concentré sur la beauté de la génération procédurale elle-même, en le transformant davantage en un outil créatif qu’en un jeu traditionnel.

Pouvez-vous expliquer comment fonctionne la génération procédurale dans Townscaper ?

Oskar Stålberg : Pour faire simple, l’algorithme utilise un ensemble de pièces de puzzle que j’ai conçues – de petites parties de bâtiments – et détermine comment elles s’assemblent. Il s’appuie sur un procédé appelé wave function collapse, qui analyse la façon dont ces pièces se connectent, un peu comme un puzzle. Ensuite, en fonction de l’endroit où le joueur place les blocs, l’algorithme construit un bâtiment ou une structure cohérente.

Comment évitez vous que le contenu procédural ait l'air répétitif ou trop "fabriqué par un programmeur" ?

Oskar Stålberg : Une grande partie repose sur le mélange des contraintes de l’algorithme avec des détails faits à la main. Par exemple, dans Townscaper, certains éléments, comme les cheminées ou les types de toits, sont choisis aléatoirement, ce qui ajoute de la variété. Je permets également à l’algorithme de privilégier certaines caractéristiques, comme l’apparition d’un jardin lorsqu’un espace fermé est créé. Mais je laisse de la place à l’artisanat : des détails comme le placement des fenêtres ou des boîtes aux lettres sont faits de manière à ne pas sembler stériles ou répétitifs. C’est un équilibre entre logique et créativité.

Quelles sont les techniques de génération procédurale intéressantes que vous avez utilisées dans Townscaper ?

Oskar Stålberg : Un exemple amusant est celui des poutres en acier dans Townscaper. L’algorithme analyse comment les poutres doivent se connecter et former un réseau de support basé sur de simples règles d’adjacence. Il commence par la partie la plus haute de la structure et descend progressivement, en fusionnant les supports en piliers uniques. Un autre exemple est celui des jardins : dès que vous créez un espace fermé entouré de bâtiments, les pavés se transforment en herbe pour former un jardin. Tout repose sur l’utilisation de règles simples pour produire des résultats intéressants.

Quels ont été les plus grands défis pour optimiser Townscaper sur les plateformes mobiles et VR ?

Oskar Stålberg : L’un des plus grands défis a été de développer un style artistique qui reste beau sur des plateformes moins performantes. Vous ne pouvez pas simplement prendre quelque chose qui fonctionne bien sur PC et le porter directement sur mobile ou VR – cela ne marche pas. J’ai dû concevoir mes propres solutions d’éclairage et simplifier certains éléments comme l’éclairage ambiant. L’art devait être visuellement attrayant tout en étant suffisamment léger pour garantir des performances fluides. Les contours et des shaders personnalisés sont devenus mes outils essentiels pour maintenir une esthétique nette sans surcharger le système.

Quels ont été les défis uniques de conception rencontrés lors du portage de Townscaper en VR ?

Oskar Stålberg : Le plus grand défi a été de repenser l’interaction. La réalité virtuelle est tellement différente des écrans tactiles ou des manettes. Par exemple, dans la version VR, j’ai introduit de petites griffes pour déplacer le monde, car j’ai trouvé que le simple fait de saisir et faire glisser toute la carte était fatigant pour les utilisateurs. Les griffes permettent des mouvements plus subtils du poignet. J’ai aussi dû repenser des choses simples comme la sélection des couleurs, qui se fait en VR à travers de petites bulles sur les griffes. Il s’agissait de rendre l’interaction naturelle et amusante en VR.

Avez-vous des conseils pour les développeurs qui souhaitent porter des jeux de PC vers mobile ou VR ?

Oskar Stålberg : Si vous partez d’un jeu PC, il est souvent nécessaire de repenser entièrement votre jeu pour le mobile ou la VR. Vous devez développer un style artistique et des mécaniques qui fonctionnent dans les contraintes de ces plateformes. Les styles à ombrages plats et les solutions d’éclairage simples sont de bonnes façons de rendre votre jeu visuellement attrayant sans trop solliciter les ressources système. Et n’ayez pas peur d’écrire vos propres outils pour résoudre des problèmes de performance spécifiques au lieu de vous reposer sur des solutions générales.

Avez-vous eu des attentes spécifiques pour le portage de Townscaper en VR ?

Oskar Stålberg : Honnêtement, pas vraiment. Je pensais que ce serait amusant à essayer, et Meta nous avait contactés avec une bonne offre, donc cela avait du sens. Je ne m'attendais pas à ce que ce soit un énorme succès commercial, surtout que la VR reste encore un marché de niche. Mais je voulais amener Townscaper sur le plus de plateformes possibles, et je pensais que la VR représenterait un défi intéressant. L’interaction en VR est tellement différente de celle des plateformes traditionnelles, et c’est cela qui m’a enthousiasmé pour ce portage.

Avez-vous envisagé d’ajouter le suivi des mains ou d’autres fonctionnalités avancées en VR pour Townscaper ?

Oskar Stålberg : Nous en avons parlé, et Meta était intéressé que nous l’ajoutions, mais je ne pensais pas que le suivi des mains était vraiment prêt à l’époque. Ça donnait une impression un peu flottante, et on n’obtient pas le même niveau de précision qu’avec des manettes. De plus, on perd l’accès aux boutons, qui sont utiles pour des interactions plus complexes. Le suivi des mains est intéressant, mais pour Townscaper, j’ai estimé que les manettes étaient encore la meilleure option, surtout pour des actions intuitives et rapides de construction.

Vous avez construit en public pendant des années. Qu'avez-vous appris de ce processus ?

Oskar Stålberg : Construire en public a été super pour obtenir des retours et voir ce qui résonne avec les gens. Parfois, je pense qu'une idée est vraiment géniale, mais personne ne réagit, ce qui m'aide à recentrer mes priorités. C'est aussi un excellent moyen d’identifier quelles parties d’un jeu sont les plus excitantes et pourraient être utilisées dans le marketing. Au-delà de cela, cela a été une manière incroyable de me connecter avec d'autres développeurs, de recevoir des conseils, et même de me faire des amis. Partager des travaux en cours permet de construire une communauté autour de votre projet.

Quel conseil donneriez-vous aux développeurs indépendants hésitant à partager leur progression publiquement ?

Oskar Stålberg : Je comprends que certaines personnes aient l'impression que leur travail n'est pas prêt à être montré, mais honnêtement, les gens adorent voir le processus. Partager des éléments bruts, en cours de développement – comme des captures d'écran de votre éditeur avec un curseur de souris visible – donne aux suiveurs un aperçu du parcours. Cela n'a pas besoin d'être poli. Les gens apprécient de voir comment les choses évoluent. En plus, cela aide à créer de l'excitation pour votre projet au fil du temps, et vous pouvez obtenir des retours utiles en cours de route.

Pouvez-vous partager quelque chose sur votre projet à venir ?

Oskar Stålberg : Je travaille sur quelque chose de très différent de Townscaper, et c’est encore au début. Il y a bien sûr de la génération procédurale, mais le gameplay est plus grand et plus complexe que tout ce que j’ai fait auparavant. Je ne suis pas encore prêt à partager les détails, et je travaille avec quelqu’un d’autre sur ce projet, donc nous gardons les choses sous silence pour l’instant. Mais je continue de publier des mises à jour techniques et des expérimentations, donc si vous me suivez, vous verrez des morceaux du projet au fur et à mesure de son évolution.