Les boucles
Une boucle sans task.wait finit coupée par Roblox pour temps d'exécution épuisé. Une boucle qui parcourt tout le Workspace à chaque image est pire : elle ne plante pas, elle ralentit tout.
Indexe une fois avec CollectionService et des attributs, puis travaille sur l'index. Ce qui doit suivre les images passe par Heartbeat, pas par une boucle infinie.
Le réseau
Envoyer l'état complet dix fois par seconde à tous les clients coûte plus cher que n'importe quel décor. Regroupe, envoie l'état plutôt que chaque changement, et n'envoie qu'à ceux que ça concerne.
Le décor et la physique
Quelques modèles bien faits, répétés avec des rotations et des teintes différentes, coûtent bien moins qu'une collection d'objets tous uniques — et donnent un décor plus cohérent.
Ancre tout ce qui ne doit pas bouger : une pièce non ancrée est simulée, même immobile. Sur les grandes cartes, active le streaming pour ne charger que ce qui est autour du joueur.
- Anchored sur tout le décor fixe.
- StreamingEnabled sur les grandes cartes.
- Particules limitées en nombre et en durée de vie.
- Textures et meshes réutilisés plutôt que dupliqués.
Questions fréquentes
Combien de joueurs mon jeu peut-il supporter ?
Personne ne peut le garantir à l'avance : cela dépend de ce que fait ton jeu à chaque image et sur le réseau. Ce qui se garantit, c'est l'architecture — et c'est elle qui décide de la marge.