
Murder Mansion has always stuck to the old-style BYOND interface layout. Map to the left, single text output on the right. Even when I created its rudimentary custom skin, I just went with that, and it's been that way ever since.
However, a player recently suggested that it could be improved to make the text a little less cluttered and hard to follow (an active round can cause the text to just flood past), and to enhance the game's bare-bones OOC communications. (and to be honest, this was something on my To-Do list for the big update, but I have extremely little experience with skins, and I kept pushing it down the list, rather than diving into trying to learn the interface editor and various functions)
So, I've finally taken the plunge and have been toying with alternate layouts to separate out the different types of text output.
The above is what I'm currently messing with.
The basic idea is that all game announcement types of text (the intros, rules, round start/end text, etc.) will output to the box on the left, while player communication will output to the right.
You'll notice that the right box is tabbed between the two "channels" of player communication as well.
For the OOC output, this will include all text from "ghost"/spectators, plus any text from active players using a new "OOC()" verb. And thus, finally, MM will have an actual chatting system.
The In-Game output will include all speech from active players (obviously), and any short game-output that players need to read on-the-fly (all of the red "action prohibited" notifications, attack/death announcements, descriptions of actions, etc.) This way, players in an active round need only pay attention to this tab.
I'm planning to also add functionality where the unopened tab will notify you of new messages (by a change to the tab's title; either changing the title text itself, or by changing the background, or whatever), which will then be reset once you open that tab. I'm currently only vaguely aware of how to do this, though (I know that it will involve winset(), and a proc stuck into the "run this when open this tab" hook, but the specific details currently elude me)
I am thinking of further splitting up this right area, so that the "In-Game Comm" tab will only output player speech, while all of those other game-announcements will go into the third tab (or, potentially over to the left box; but I don't want to split the player's attention across the entire screen; that left box is meant for things that only need to be read once and ignored, or things that otherwise do not require constant attention)
Perhaps I'll split the right side into two halves horizontally, with the top box being tabbed for "OOC" and "IC" text, and the bottom being for notification outputs? I dunno.
And that's why I'm bringing this to you guys! What are your thoughts? How do your own games handle this stuff? Does that look too cluttered with added boxes? (I like that it centers the map; but it has a dangerous potential to drown it out) Would it perhaps also make sense to break the left box into tabs? (one to "store" the map text, one to "store" the current mode's intro and/or rules, and another for the feed of all other game announcements?)
Here are a few things I'd consider doing. Change the view size to 20x15. Most monitors are rectangular in shape now, not square. 4:3 is a common resolution in a lot of games now and has been for at least... 20 years now? Maybe a lot more. It is used for a very good reason.
Secondly, I'd ditch the interface entirely. I'd go with the game window, and anything else you need displayed over it using screen objects. In most cases this'd be a chat window, and maybe a few buttons. You tell me which looks better/more professional...
http://i.imgur.com/vhzdGdD.jpg This
Or http://i.imgur.com/DTg6l11.jpg
Not only does the first example look a lot better (if you ask me), but it was a whole lot easier to do as well, is more flexible and much easier to change if I need to. (The only thing that is harder, is handling text input when someone wants to talk for example, this is a million times harder than it needs to be.)
Just remember, you might be making a BYOND game, but it doesn't need to look like every other BYOND game.