<aside>
Objetivo: Este bloque busca que el alumnado aprenda a organizar el estado compartido del proyecto sin mezclar información de conexión, información global de partida e información individual de cada jugador.
Su importancia es alta porque, a medida que el shooter crece, aparecen muchos datos distintos al mismo tiempo:
Si todo ello se mezcla sin criterio, el proyecto se vuelve más difícil de mantener y más propenso a errores de autoridad, sincronización y diseño.
</aside>
En un juego multijugador no conviene pensar en “un único gran script que guarda todo”. Lo correcto es separar el estado según su responsabilidad.
Dentro de esta práctica, la organización más razonable pasa por distinguir al menos tres niveles:
La diferencia entre ellos no es solo organizativa, sino funcional.
El estado de sala describe la sesión y su composición.
El estado global de partida describe reglas o datos comunes del combate.
El estado individual de jugador describe la situación concreta de cada participante.
Esa separación hace que cada sistema tenga un lugar lógico donde vivir y evita que datos muy distintos acaben mezclados en el mismo objeto sin necesidad.
El estado de sala representa la información estructural de la sesión mientras los jugadores están conectados.
Aunque en tu arquitectura la Room sea ya directamente la sala de juego, sigue teniendo sentido distinguir un bloque de información que describa la sesión como conjunto y no un jugador concreto.
En este nivel encajan datos como: