# \[Mesh Rebelle\] Le cheveu dans la soupe de polygones

**URL:** <https://boulette.advantaged.net/t/mesh-rebelle-le-cheveu-dans-la-soupe-de-polygones/100>\
**Category:** Sans catégorie\
**Created:** [Mai 20, 2021, 8:02 UTC](https://boulette.advantaged.net/t/mesh-rebelle-le-cheveu-dans-la-soupe-de-polygones/100 "2021-05-20T08:02:58Z")\
**Posts on this page:** 1\
**Showing post:** 26

<div class="post-metadata">

**Author:** ![Camarade\_Chev](https://boulette.advantaged.net/user_avatar/boulette.advantaged.net/camarade_chev/32/33_2.png) [@Camarade\_Chev](https://boulette.advantaged.net/u/Camarade_Chev)\
**Post date:** [Février 28, 2022, 6:41 UTC](https://boulette.advantaged.net/t/mesh-rebelle-le-cheveu-dans-la-soupe-de-polygones/100/26 "2022-02-28T18:41:36Z")

</div>

> [@{The Souls Still Burn} pour les jeux d’aventure exigeants aux niveaux tarabiscotés, pièges retors, ennemis qui se laissent contourner et espaces de répit où l’on dépense son XP](https://boulette.advantaged.net/t/the-souls-still-burn-pour-les-jeux-d-aventure-exigeants-aux-niveaux-tarabiscotes-pieges-retors-ennemis-qui-se-laissent-contourner-et-espaces-de-repit-ou-l-on-depense-son-xp/85/50):
>
> Je sais pas à quoi tournent les mecs de From mais c’est du super taf d’optimisation. Est-ce que quelqu’un peut expliquer à un béotien à quel moment le jeu loade les assets sur des maps aussi gigantesques ?

Tout le temps! Ça n’a pas changé depuis au moins GTA3 (au bas mot mais on va prendre un jalon) et c’est, au fond, un problème de maths: combien peux-tu te permettre de charger si tu charges tout le temps?

On peut par exemple voir un extrait de cette présentation de spider-man à 16:38 pour l’approche:

[![](https://img.youtube.com/vi/KDhKyIZd3O8/maxresdefault.jpg "Marvel's Spider-Man: A Technical Postmortem") ](https://www.youtube.com/watch?v=KDhKyIZd3O8&t=998)

- On découpe le monde en zones, pour un monde ouvert ça sera agencé très régulièrement, genre une grille mais il mentionne qu’en plus de ça il y a des zones plus abstraites spatialement, contrôlées par des scripts. Pour un Dark Souls classique les liens entre zones ressembleront plus à une carte du métro londonien, et il y aura des petits bouts comme ça dans un monde ouvert pour les donjons spécifiquement.
- Les zones ont une taille maximum (en octets) standardisée, et on sait qu’on garde le voisinage en mémoire plus un peu de rab. Tu sais aussi de combien de nouvelles zones tu as besoin quand tu change de voisinage
- Le perso a une vitesse maximum (celle du cheval pour Elden Ring)
- Tu as dans ton budget technologique un débit maximum pour tes données

Du coup:

_Temps dispo pour charger une zone = taille géographique d’une zone / (vitesse max du perso \* nombre de nouvelles zone potentielles) = taille en octets d’une zone / débit_

Dans le cas de Spider-man ils finissent par arrive à 20 mégas par zone et après toutes les décisions sont prises autour de ça, en rendant les fichiers aussi compacts que possible (même avec un SSD c’est toujours charger depuis le disque qui prend le plus de temps) et en coupant quand c’est trop gros.

Il y a des astuces en plus comme ne charger les textures les plus détaillées que si le perso ralentit (du coup elles peuvent être au-dessus de la limite) ou avoir des zones où, au hasard, tu ne peux pas utiliser ton cheval (vitesse max inférieure → plus grande taille maximum donc plus de trucs au mètre carré, selon la formule) et/ou la connectivité est moindre (genre un donjon). Si tu as besoin de changer tout le voisinage d’un coup et tu n’as pas envie d’un écran de chargement tu vas le déguiser en moyen de transport très long genre un ascenseur qui dure.

Note aussi que c’est pour charger des nouveaux trucs, mais si tu as plus de mémoire que de débit tu peux te permettre de garder les choses longtemps en mémoire, comme un dragon ou un _runebear_ qui te course à travers une bonne partie de la map (note qu’ils finissent finit par dépopper si ils s’éloignent trop longtmeps de leur point de départ).

Pour que le joueur ne réalise pas que les zones distantes ne sont pas là elles sont remplacées par des versions inertes et moins détaillées. Spider-man a toujours [une version low-poly de tout manhattan](https://youtu.be/KDhKyIZd3O8?t=1841) en mémoire par exemple. Souvent il y a un niveau de détail intermédiaire (genre dans SotC le monde est divisé en zones de 600m qui sont divisées en zones de 100m, donc il y a trois niveaux possibles), parfois plus dans les très grands mondes.

---

_[View the full topic](https://boulette.advantaged.net/t/mesh-rebelle-le-cheveu-dans-la-soupe-de-polygones/100)._
