New interface for online Dungeons and Dragons
We will use a graphical interface with multiple channel windows. Channels marked as 'in character' will have action queues attached to them.
The queue will have a slot for each connected player. Players may enter text into the queue, which will fill their slot. Everyone will see some visual indication as to whether each player has entered an action (or indicated that they are not taking one) and whether the DM has approved it, but only the player and the DM may actually see the action on the queue. The DM may select a player slot, and either have a private chat with the player or approve the action. Slots in the queue may be dealt with in any order. Once approved, the action is sent to the channel, where the actual story is unfolding. Once each slot has been approved, the queue will be flushed and ready for the next round. We probably want a way for a player to begin entering their next action as soon as the previous is approved, but it should not be submitted until the round has ended.
This will allow everyone to prepare actions in parallel, and to have a good sense of the passage of time. The DM's ability to have private chats before approving actions will give a chance for die rolls, seen only by the dm and player. If the action fails, the DM can move on to another player while the failed action is rewritten. The DM's ability to approve actions in any order will allow the DM to order things for initiative or to prevent events from happening out of order. The DM should be conscious that players may want to alter their actions based on previously-approved actions, and should probably give them the chance before approving.
Each player may be joined to multiple channels. At the very least, this will likely be one 'in character' channel and one 'action discussion' channel (which is shared only with the DM). If the party splits, players should leave the main in character channel and join a new one as appropriate. If discussion is happening in a language not known to all players, those who DO know it should join a new in character channel in addition to the main one. Again, each in character channel will have its own action queue.
The DM may join channels multiple times under different names, and those names will also have slots in the action queue. This is useful for NPCs and monsters.