I am making a multiplayer text game similar to MUDs or online RPGs. I wanted more concrete environment to play in, so items have position (and size) in the room. Players always see map of the room, it looks little bit like a rogue-like. The game primitively recognizes whether something is on/behind/under something else.
I had a vague idea of a combat system where players could cover behind furniture, sneak up from behind etc. A problem comes in when players interact with each-other. Ideally one player would send a command to attack, the other would react and so forth. That would make the game turn based. But how to handle turns? There could be a let's say 30 second timer for each player to decide their action, then the game would spew out a few lines of what happened, and the cycle would start over. This would limit the playability severely though. Thirty seconds to walk up to a table, thirty seconds to pick up and item from it, thirty seconds to equip it...
Of course we could exclude players not in combat from the turns and just let them do whatever, but that would mean they could freely walk up to somebody and attack them with a positional advantage and so on.
Other problem that comes to mind is how to implement player movement at all, whether they should move one unit at a time, make one movement command move them to one entity or let them move freely between rooms like in MUDs, disregarding their contents.
This player interaction issue doesn't concern just combat, but it's a classic example. I don't want players neither mashing their keyboards to out-move others, nor do I want them to wait for their turn when it's not necessary.
Can you share your experience with these issues or send some materials about it my way? I'm not a MUD veteran, so I might have missed some discussion or article.