Control Studio / Engineering notes07 articles · 07 démonstrations

Sous le
capot.

Mes systèmes.
Mes choix techniques.

Les systèmes que j’ai développés, expliqués en détail.

Faire cohabiter des actions concurrentes. Valider une intention. Adapter un monde à sa charge. Comment j’aborde ces problèmes.

J’ai développé ces systèmes dans arya_core, mon framework pour Control Studio. Du streaming à l’inventaire, je raconte mes choix techniques, du problème à l’implémentation, avec des schémas à explorer.

7 articles affichés

07 / Régulation6 min

Adapter la population du monde à la pression du moteur.

J’ai développé un régulateur de population pour Control Studio : il observe les personnages réseau présents côté client, ajuste les multiplicateurs de densité et combine plusieurs seuils et temporisations pour relâcher la protection.

Lire & explorer
06 / Sécurité6 min

Comment je valide les actions de mon inventaire côté serveur.

Pour déplacer un objet, mon client envoie une intention. J’ai développé plusieurs contrôles côté serveur pour la confronter aux inventaires accessibles, à l’objet réellement présent et à l’état courant des données.

Lire & explorer
05 / Performance6 min

Comment je maîtrise la pression sur mon inventaire.

J’ai donné à mon inventaire des limites explicites : combien de demandes accepter, combien laisser attendre et combien exécuter. Le but est de garder la charge maîtrisable, même lorsqu’un joueur envoie une rafale d’actions.

Lire & explorer
04 / Concurrence6 min

Comment j’orchestre les opérations concurrentes de mon inventaire.

Dans l’inventaire de Control Studio, plusieurs joueurs peuvent agir sur les mêmes données. J’ai développé un ordonnanceur qui coordonne ces opérations par inventaire, tout en laissant avancer les actions indépendantes.

Lire & explorer
03 / Performance6 min

Comment je répartis le budget du streamer.

Pour l’ObjectStreamer, j’ai développé un budget qui tient compte des autres objets du jeu, une rétention bornée et des traitements répartis sur plusieurs frames. Voici comment ces mécanismes travaillent ensemble.

Lire & explorer
02 / Synchronisation6 min

Comment je synchronise un monde qui change.

En développant la synchronisation de l’ObjectStreamer, j’ai dû traiter un cas précis : les données peuvent changer pendant que le client les charge. J’ai conçu un mécanisme de snapshots, de deltas et de réconciliation pour préserver ces changements.

Lire & explorer
01 / Architecture spatiale7 min

Comment j’ai conçu l’ObjectStreamer.

J’ai développé l’ObjectStreamer de Control Studio pour gérer les objets du monde sans tout faire porter au client. Voici comment j’ai articulé le découpage spatial, la sélection par proximité et les limites du moteur dans arya_core.

Lire & explorer