Re: programming for entertainment
The system requirements depend on the complexity of the world. You want to go for 3D, you want realistic physics (like in crysis for example
), and each character to have it's own model... than you will need way more than that.
And you will also need a way to transfer really fast the model from the server to the client, since no one wants to wait a day to download all the models that are on the server, and the whole map.
If you want the user to be able to use controllers, keyboard, mouse etc. you need bandwidth, etc.
It really depends on the complexity you want to go for.
But what about this approach: the user downloads an SDK from the game's website, and installs it, and in the preferred IDE he writes a program using the given SDK. Under the hood, this SDK should send constantly information to the server (position, current weapon and all possible attributes). The server should send back information about other players, the map model and everything else. Also the server should have some 'physics' rules, like max_walking_speed, and so on.
So the player runs the program on his computer, and interacts the way he wants (AI, controller etc).