WGTU #19: The power of procedural generation – with Middle-Earth: Shadow of Mordor (EN/FR)

Let’s discuss how this action-adventure title uses procedural generation for immersion!

This article is also available on Medium.

This article is available either in video format or in text format — see below 🙂

To begin with, don’t forget that if you have some ideas of your own for future WGTU videos, either a topic or a game you’d like me to discuss, you can leave a comment on YouTube, contact me on Twitter or send me an email (at mina.pecheux@gmail.com) 🙂

It’s always great to exchange with the community and I think it’s really cool we can build this series together, so feel free to share your thoughts!

Last time, I talked about Diablo and I discussed how randomness is at the core of some video game mechanics, and how it can tap some cognitive biases to increase games replay value. In particular, we saw that drop rates and loot systems can hook us in and keep the players playing. But there is another type of randomness that I find really interesting when it’s mastered well, and that’s the concept of procedural generation.

What is procedural generation?

Roughly put, procedural generation is about automating some of your data design to make it faster or more diverse thanks to the computing power we now have.

Basically, when you develop games, you usually have two ways of designing your levels or creatures: you either do everything by hand and apply your game designer skills to this specific context; or you write up a machine, a set of rules, that can be fed some initial start values and then automatically create a (valid) level or monster for you.

This automated approach is what we call procedural generation. The idea is to rely on various algorithms or static data and combine them into a chain of building stages. For example, you can generate the 3D landscape, the assets in the scene, the NPCs, the quests, or even some animations…

Procedural generation can help create landscapes, assets, creatures… or buildings, like in Townscaper (available on Steam: https://store.steampowered.com/app/1291340/Townscaper/, image from: https://imgur.com/gallery/i364LBr)

Those stages can be more or less deterministic: transitioning from Step 1 to Step 2 can either go always the same (which is fully deterministic), be completely random (which is fully stochastic) or have an in-between logic. Deterministic engines are nice, because you can anticipate the result, but stochastic engines are very interesting from the point of view of players, because they can create some surprises, and sometimes you even get such unexpected results that no human could have thought of it.

To me, a recent amazing example of the power of procedural generation for content creation, game replay value and more importantly immersion, is Shadow of Mordor.

A peek at Middle-Earth: Shadow of Mordor

Middle-earth: Shadow of Mordor is a 2014 action-adventure video game developed by Monolith Productions that offers an original story in the world of J. R. R. Tolkien. In this in-between episode that takes place after The Hobbit trilogy and before The Lord of the Rings saga, you play Talion, a Gondorian Ranger who wishes to avenge his family with the help of an elf ghost, Celebrimbor.

Middle-Earth: Shadow of Mordor offers an original story in the world of Tolkien, an incredible gameplay and a very cool open-world! (Image from: https://www.igdb.com/games/middle-earth-shadow-of-mordor/presskit)

The quick and intuitive combat system is really cool, the open-world is dense and well-thought for parkour a la Assassin’s Creed and the RPG components like the experience points give the players a real sense of progress as the hero grows stronger.

The amazing Nemesis system

So this game is full of great mechanics; and overall the graphics, the voice acting and the various storylines slowly drag you into Tolkien’s world and Talion’s tragic fate. But one of the real highlights of this game, and a feature that was praised by critics, is the cleverly designed Nemesis system.

As you progress through the story, you’ll keep on encountering some “special” enemies: the Nemesis. Those captains and warchiefs aren’t simple mobs like the rest of the Uruks: they are more embodied personas and characters that have unique visuals, traits and even relationships to you! They are created randomly with each playthrough thanks to procedural generation with their own personality, multiple body types and parts, hairstyles, behaviors, voices, animations, etc. They’ll also have a sole fighting style, specific powers, strengths and weaknesses, which forces the player to deal with this Uruk in a particular way… and further backs up the enemy’s uniqueness.

Even better, the various traits of the Nemesis will determine how it reacts with you, whether it becomes a foe or a guardian for Talion and how it progresses through the story alongside your hero. You feel like this AI somehow remembers what happened before in a very humane way, and constantly develops the relationship with Talion… and therefore the player.

Creating unique stories

That’s actually the great thing with this Nemesis system: it creates additional stories that are your own as a player – everyone shares the main questline, but these narratives that you’ll live with a Nemesis are unique. The character is generated randomly to begin with, so another instance of the game won’t have the exact same one, and then it will also evolve as you battle and play with it, and as it finishes missions. This is an incredibly powerful way of bringing this specific character to life and building on the artificially generated content. In fact, because our brains just love to fill in the blanks, we’ll sometimes do our best to bring together these random pieces into a coherent whole, and simply enjoy the remaining incongruities!

And once the randomness of the initial generation has passed, if the Nemesis survives its encounter with you, then it will gradually gain new traits, scars, fears or taunts depending partially on what occurred last time it fought you. This is what makes this AI mechanic very believable and powerful – you eventually fall for it and start to think of these random but oh so unique enemies as actual opponents, almost as if they were other human players. Let’s be honest: seeing an enemy you thought you killed previously come back and want revenge for you disfiguring him is just perfect for immersion…

The real highlight of the game is its famous “Nemesis system” that procedurally generates unique orcs for you to discover and contend with! (Image from: https://www.igdb.com/games/middle-earth-shadow-of-mordor/presskit)

Conclusion

So, what if Shadow of Mordor, in addition to having you jump around and taunt all the Uruks in your way, was also a great example of the power of procedural generation in terms of immersion?

And please, tell me in the comments: isn’t it just a thrill to fight in the arena and see your combo increase to the hundreds?

I really hope you enjoyed this article – don’t forget to like and share it if you did! And of course, if you have any other idea of games that taught us something without us noticing, go ahead and tell us in the comments!

As always, thanks a lot for reading, and see you soon for the rest of this series 🙂

Cet article est disponible sous format vidéo ou texte – voir ci-dessous 🙂

Avant tout chose, n’oubliez pas que si vous avez des idées pour de futures vidéos WGTU, aussi bien un sujet qu’un jeu que vous aimeriez que j’étudie, vous pouvez laisser un commentaire sur YouTube, me contacter sur Twitter ou m’envoyer un mailmina.pecheux@gmail.com) 🙂

C’est toujours un plaisir d’échanger avec la communauté et de construire cette série avec vous, alors n’hésitez pas !

La dernière fois, j’ai parlé de Diablo, et j’ai détaillé comment l’aléatoire est à la base de nombreuses mécaniques de jeux vidéos, et comment il peut s’associer à certains de nos biais cognitifs pour étendre la durée de vie d’un jeu. En particulier, on a vu que les taux d’apparition des objets et les systèmes de loot peuvent nous accrocher et garder les joueurs vissés à leur écran. Mais il y a un autre type d’aléatoire que je trouve très intéressant quand il est bien maîtrisé, et c’est le concept de génération procédurale.

Qu’est-ce que la génération procédurale ?

La génération procédurale, c’est l’idée d’automatiser une partie de la création des données pour qu’elle soit plus rapide ou plus diversifiée, grâce à la puissance de calcul des ordis que nous avons maintenant.

En gros, quand on développe un jeu, on a en général deux façons de concevoir des niveaux ou des créatures : on peut soit tout faire à la main et appliquer ses compétences de game designer à ce contexte ; soit implémenter une machine, un ensemble de règles, à qui on donne quelques valeurs initiales et qui génère ensuite un niveau ou un monstre “valide” pour nous.

Cette approche automatisée, c’est ce que l’on appelle la génération procédurale. Donc l’idée est d’utiliser différents algorithmes et quelques données préparées à l’avance, et puis de combiner tout ça pour créer un ensemble d’étapes de fabrication. Par exemple, on peut générer un terrain en 3D, les assets dans une scène, les PNJs, les quêtes, et même des animations…

La génération procédurale peut créer des paysages, des assets, des créatures… et même des bâtiments, comme dans Townscaper (disponible sur Steam: https://store.steampowered.com/app/1291340/Townscaper/, image issue de : https://imgur.com/gallery/i364LBr)

Ces étapes peuvent être plus ou moins déterministes : la transition de l’étape 1 à l’étape 2 peut se faire toujours de la même manière (c’est totalement déterministe), être complètement aléatoire (c’est totalement stochastique), ou être quelque part entre les deux. Les moteurs déterministes sont cool, parce qu’on peut anticiper le résultat, mais les moteurs stochastiques sont très intéressants pour les joueurs, parce qu’ils créent de la surprise et donnent même parfois des résultats tellement inattendus qu’aucun humain n’aurait pu l’inventer.

Pour moi, un exemple récent de l’incroyable puissance de la génération procédurale pour la création de contenu, la rejouabilité et surtout l’immersion, c’est Shadow of Mordor.

Un coup d’oeil àMiddle-Earth: Shadow of Mordor

Middle-earth: Shadow of Mordor est un jeu d’action-aventure de 2014 développé par Monolith Productions qui nous propose une histoire originale dans le monde de J. R. R. Tolkien. Dans cet épisode intermédiaire qui se déroule après la trilogie du Hobbit mais avant la saga du Seigneur des Anneaux, on joue Talion, un Ranger Gondoréen qui souhaite venger sa famille avec l’aide d’un fantôme elfe, Celebrimbor.

Middle-Earth: Shadow of Mordor nous offre une histoire originale dans l’univers de Tolkien, un gameplay incroyable et un monde ouvert vraiment cool ! (Image issue de : https://www.igdb.com/games/middle-earth-shadow-of-mordor/presskit)

Le système de combat rapide et intuitif est super, le monde ouvert est dense et bien pensé pour le parkour à la Assassin’s Creed, et les composantes RPG comme les points d’expérience donnent aux joueurs une vraie sensation de progression à mesure que le héros gagne en puissance.

Le phénoménal système des Némésis

Ce jeu est donc plein de bonnes mécaniques ; et dans l’ensemble les graphismes, les doublages et les multiples histoires nous entraînent lentement dans le monde de Tolkien, et nous font vivre le destin tragique de Talion. Mais le clou du spectacle, l’idée qui a été saluée par les critiques, c’est le diablement bien pensé système de Némésis.

A mesure que l’on avance dans l’histoire, on rencontre régulièrement des ennemis “spéciaux” : les Némésis. Ces capitaines et chefs de guerre ne sont pas de simples mobs comme le reste des Uruks : ce sont des vraies personnalités, des personnages avec une combinaison unique de visuels, de traits et même de relations avec vous ! Ils sont créés aléatoirement pour chaque instance du jeu avec leur propre caractère, stature, style capillaire, comportement, voix, animations, etc. Ils ont aussi une façon de combattre spécifique, et des pouvoirs, des forces et des faiblesses particulières, ce qui force le joueur à gérer cette Uruk différemment des autres… et vient apporter au côté “unique” de cet ennemi.

Encore mieux, les traits de personnalité du Némésis déterminent comment il réagit avec vous, s’il devient un ennemi ou un gardien pour Talion et comment il progresse dans l’histoire en même temps que vous. On a vraiment l’impression que l’IA se souvient des évènements passés de manière très humaine, et qu’elle développe constamment sa relation avec Talion… et donc avec vous.

Créer des histoires uniques

C’est ça qui est vraiment intéressant avec ce système de Némésis : il crée des histoires additionnelles qui ne sont qu’à vous – tout le monde partage la même quête principale, mais ces moments que vous vivez avec un Némésis sont uniques. Le personnage est généré aléatoirement au départ, donc un autre joueur n’aura pas exactement le même, et surtout il va évoluer à mesure que vous l’affrontez, et qu’il termine des missions. C’est une technique très puissante pour donner vie à cette créature et construire sur les fondations de la génération procédurale. En fait, comme nos cerveaux aiment bien remplir les vides, c’est parfois nous qui allons chercher à rassembler ces pièces aléatoires en un tout cohérent, en s’amusant simplement des absurdités restantes !

Et une fois l’aléatoire passé à l’étape de création, si le Némésis survit à votre rencontre, il va donc petit à petit accumuler des nouveaux traits de personnalités, des cicatrices, des peurs et des moqueries basés en partie sur votre histoire passée. C’est donc pour ça que cette mécanique d’IA est crédible et puissante – on finit par se prendre au jeu et penser à ces ennemis uniques comme à de vrais adversaires, presque comme si c’était d’autres joueurs. Il faut dire ce qui y est : voir un Némésis que l’on croyait avoir vaincu réapparaître et nous maudire pour cette défaite, c’est juste parfait pour l’immersion…

Le vrai clou du spectacle, c’est le fameux “système de Némésis” qui propose des orcs générés procéduralement de manière unique – à vous de les découvrir et les affronter ! (Image issue de : https://www.igdb.com/games/middle-earth-shadow-of-mordor/presskit)

Conclusion

Alors : et si Shadow or Mordor, en plus de nous faire nous balader entre les Uruks comme un félin, était aussi un bon exemple du pouvoir de la génération procédurale en termes d’immersion ?

Et n’hésitez pas à me dire en commentaire : est-ce que ce n’est pas juste génial de se jeter au milieu de l’arène et de faire monter son combo dans les centaines ?

J’espère de tout coeur que vous avez aimé cet article – n’hésitez pas à le liker et le partager si c’est le cas ! Et bien sûr, si vous avez une autre idée de jeux qui nous apprennent quelque chose sans qu’on le sache, partagez-la en commentaire !

Salut à tous, et à très bientôt pour la suite de la série 🙂

Leave a Reply

Your email address will not be published.