![](/static/253f0d9/assets/icons/icon-96x96.png)
![](https://lemmy.ml/pictrs/image/8nN0qtLEOJ.png)
There are many ways of doing this. I know the source engine uses visboxes, which are calculated once at map compile time. It takes a while to compile, but it means that clients can use the pre-compiled data to calculate parts of the map that are visible and the server can use them to determine what the player can see at a given time. I’m not sure whether it does that or not, but it would make sense to use that data.
Yeah, you can plug it into a few external services like OpenAI or even use a local LLM like LocalAI. Not used either, but I know it’s possible.