<aside>
Objetivo: Este bloque tiene como finalidad que el alumnado comprenda con claridad qué implica trabajar en Photon Fusion 2 con GameMode.Shared, cómo se reparte la autoridad en este modelo y de qué manera debe interpretarse la figura del Master Client como referencia de validación para las reglas globales del shooter.
Se trata de uno de los núcleos del enunciado. Se exige expresamente que el cliente no decida daño, eliminaciones, puntuación, rachas, objetivos ni comportamiento de la torreta; el cliente solo envía intención, y las consecuencias deben resolverse de forma autoritativa. Además, la práctica debe implementarse en Fusion Shared, usando un MasterClient como autoridad de reglas y un estado global controlado por él para gestionar estado de partida, scoreboard, rachas, kill feed, spawns globales y validación de eliminaciones.
</aside>
Shared Mode no equivale a un servidor dedicado tradicional. En Fusion, Shared es una topología donde la simulación está distribuida entre clientes y la autoridad sobre los objetos se expresa mediante StateAuthority. Photon describe que en Shared cada NetworkObject tiene un peer con state authority, y que esa autoridad puede estar distribuida entre distintos clientes según el diseño del proyecto.
Esto obliga a separar dos ideas que a menudo se confunden:
La primera responde a preguntas como quién puede modificar el estado replicado de un NetworkObject. La segunda responde a preguntas como quién valida una eliminación, quién decide una racha, quién autoriza el uso de una torreta o quién actualiza el scoreboard.
En esta práctica, aunque el modo sea Shared, el enunciado marca un criterio docente claro: debe existir una referencia central para las reglas globales, asociada al Master Client.
En Shared Mode no se trabaja con la mentalidad de “cada cliente hace lo suyo y ya se sincronizará”. Cada objeto de red tiene un responsable de estado, y ese responsable es quien puede modificar sus propiedades replicadas de manera válida.
Photon documenta además la figura de SharedModeMasterClient, que identifica al peer que actúa como master en la sesión Shared. También documenta que un NetworkObject puede configurarse como Master Client Object, de manera que su StateAuthority siga automáticamente al master actual.
Esta capacidad es especialmente útil para objetos como: