This question is hard to explain because I didn’t saw any examples of games made like that and that’s exactly why I’m asking this.
Example:
Lets say we have made backend for tic-tac-toe, this backend uses port (in this example, there are other ways to do that) on your computer to expose api and this api can give you (a player) board state/available instructions/what kind of music play ringt now(?) etc. Now for this backend instance of the game, the potential game developer can make client application that is text based/2D/3D/voxel 3D basically any kind of frontend, that would also create environment where any player could develop this frontent part of the application that would greatly expand playability of your (developer’s) game, by adding or removing features without actually influencing the core game.
This example can sound a bit trivial and useless but if I would introduce the game like Dwarf Fortress in this way I can see clear benefits to this approach, the developers would focus then on making their game the best they can by developing only this backend game part and lats say text based frontend while fans could create 3D fan made game client that would extend greatly the player base, or just developers could create this 2D client later into production while they have workforce to spare without being affected by complicated changes into backend part of the code in effort to make entire game from text based to 2D.
As I hope you can all see the potential benefits from this approach to game making but I never saw any game utilize this kind of architecture so there should be some kind of reason behind it. And that’s what I’m actually looking for, this reason.
Also as a side note, I don’t believe that multiplayer games with server and all utilize this kind of approach. Most of the clients creates their own state of the game and in order to confirm that player don’t cheat server runs their own state but headless to confirm the state of the game on client side while updating said client with states of other players. I am talking about single player games and clients that don’t “think” but only display the information to the player and acts as a interfaces to provide key inputs to the backend part of the game.