I've been creating an RTS game, and I'm a little unsure about how to deal with the above. Right now, I wish to control which units are visible to which players, and I've run into a little problem. Previously, I had three components- render, sim, and UI (untrusted scripted component). However, I'm beginning to believe that this is not the optimal architecture.
For example, given the task that only the relevant units should be visible from a given player's perspective, none of the above components are up to the job. The sim is player-independent, the renderer has no idea about players at all, and the UI can't be trusted. So I've come to the need to introduce a fourth component- a kind of Controller which communicates between the three components and correctly limits the information each one has access to.
Is this the normal approach? Or am I missing a trick when it comes to making the sim, UI, and renderer co-operate?