Procedural generation of game modes

I’ve been having a really interesting conversation with a competitive FPS player over on reddit. It got me started thinking about the current game framework and game modes etc.

I’m still not 100% sure I follow exactly what happens where in the game framework. Who owns what, what creates whom etc are a bit opaque at this point. So I’m slowly documenting those (under server-only, listenserver, singleplayer and PIE) for myself so I grok what’s meant to happen and what could be improved.

Anyway, this conversation got round to procedural generation of gameplay dynamics and it struck me that maybe procedural generation might work for game modes too. But in terms of an FPS what exactly IS a game mode, what are its abstract parts? I’ve got a whole bunch of methods that can be used for the generation part, but it strikes me that I’ve never seen any analysis of what an FPS game actually has in terms of abstractions.

Anyone seen such analysis?