Chat Room “Design”

I just posted this in the private Beta forums, but I figure folks not-yet-in-the-beta might have some thoughts.

In preparation for opening the beta, I’m about to do chat rooms in the lobby. I’m going to do the simplest thing possible at first, and hope it gets us through the surge. Here is the current “design”, let me know if you think it’s okay. Please don’t turn this into a giant thread of how the ultimate lobby should work given infinite time and resources, we can have that discussion later when time and resources are infinite. For now, I just want to make sure I’m not missing something stupid and obvious in this thing I plan to spend one (1) day on.

  • When you log in, you will be presented with a list of available rooms, including the room name, and how many people are in it. You will have to pick one. I don’t know what I’ll do if you let it sit on that screen, probably time you out and kick you after a reasonable period, or auto-join you to the default room.
  • There will be a default main chat room called This is the Main Lobby Default Chat Room or something like that. It can’t be changed, and won’t disappear even if nobody is in it.
  • /say will broadcast to everybody in the current room. Being in a room is basically like being in the lobby right now.
  • You will only be able to play people in the current room, because that’s the only time you see a name to click on.
  • /whisper will still complete nicks of everybody on the server, unless that becomes a performance problem.
  • I will probably add a /who command to list everybody (with regex) and what room they’re in. This way ZeroTKA won’t have to constantly /whisper to see who’s in the lobby.
  • /joinroom will complete with the room name, or you can back out to the room selection screen. When you go out to the room chooser you’re still considered in the current room until you choose a new one.
  • /makeroom will create a new room with the name you specify (yikes) and put you in it. If people are jerks I’ll have to add a way to report naughtiness. For now, it’ll just say “mail support at with problems” or something. There probably won’t be a visual UI for creating a room, only the chat cmd, which will act as a bit of a weeder.
  • Rooms are deleted when the last person leaves them. Room names cannot be changed once created. There are no owners of rooms, no hidden rooms, no moderators, etc.
  • I’m hoping people make rooms with descriptive names, like, “Newbs Get Mentoring Here” and “Players with Less than 20 Wins”, and the like. I’m sure that’s a total game designer fantasy, and they’re going to end up being things like “Your Grandma’s Bedroom Closet”, sadly.
  • There is going to be no limit on the number of people in a room at the start. We’ll see how bad that is.

I will also try to color code chat lines in a way that’s not terrible. 

Thoughts? Clear, simple, parsimonious thoughts?



  1. Witt says:

    A mute option would be good, to allow people to just ignore the annoying people.

  2. Keith says:

    Looks solid.

  3. tricky5903 says:

    That seems great, although maybe there should be variation in the chat rooms, other than just who you play. Maybe with different rooms, you get different objectives.

    Just a thought.

    • checker says:

      Yeah, I think eventually having styles of play be various chat rooms would be cool. For now, I’m just trying to deal with the problem of 100 people typing at the same time. :)

  4. DynamicSporadic says:

    Being able to be in multiple rooms would be a nice feature, often people have split allegiances between different “communities” of players, and you can guarantee that they will often just idle around and chat (and hey, building communities ensures a healthy long-term playerbase).

    On that note though, some people are horrible anti-social snobs. They are going to want to be able to make PRIVATE rooms just for people named Charles or something. Or, they are creating rooms for a tournament from their particular internet community and don’t want just anyone to be able to join and spam nonsense.

    Talking of “spamming nonsense”; people may want to be able to be in a lobby without being able to be challenged. In the mentoring example above for instance, the “mentors” may not just want any newb who joins to be able to challenge them, but will pick the opponents they want to play.

    I’m straying dangerously into infinite resource territory, so i’ll conclude I think the first is the only one to really make a decision on now, even if you don’t implement it, because it will inform a lot of the other decisions you make about the feature.

    • checker says:

      Yeah, I’m reconsidering the ‘one room only’ thing, somebody posted a similar thing on facebook.  It significantly complicates matters, so it might come later, but it makes a lot of sense. The main problem is it means you either have to have a /leave command, or it auto-leaves in FIFO order if you reach the max, or something, and they all are kinda lame. I have to have a max or somebody could just keep making rooms, which I need to prevent.

      There’s already an /away that means you can’t be invited but can still invite, people use that a lot.

      Private rooms are not going to happen at first, people need to be nice!  :)

  5. Prio says:

    What happens if somebody tries to do a /makeroom and the room already exists?
    Incidentally, in case you didn’t already know, IRC has a strange-but-elegant approach to making and joining rooms–there’s just one command for both, /join. If /join’s argument channel already exists, you join it, and if it doesn’t, it’s newly created and you’re deposited in it. Crazy as it sounds, IRC has been using this system quite nicely for the duration of its older-than-dirt lifespan, probably because it’s easy to implement and (ultimately) easy and even intuitive to use. Granted, it can create some confusion when people go looking for some kind of “make a channel” command and they don’t find one, but that might serve as a bit of a weeder.
    There’s also the problem of mistyping a channel name and finding yourself lost and confused in a mysterious empty new channel, but a) this problem is greatly mitigated by autocomplete and channel lists and b) the realization that you’ve inadvertently created a new channel almost always takes the form of “ohh, that’s neat!” rather than “well, this is stupid!”
    …yeah I’m an IRC fanboy. I’M OLD I WANT TO BE IMPORTANT LOOK AT ME

    • checker says:

      Yeah, I mostly was going to separate them because /join will autocomplete always, not allowing free form typing, while /make will take a raw string.  It’ll either fail or join you if it exists, depending on which is less code!

  6. Adam says:

    What about a few default rooms?


    Possibly even enforcing that only players with fewer than X wins can get into Beginner, and only players with more than Y wins can get into Advanced, etc.

    • checker says:

      Yeah, I thought about this, but wasn’t sure where to stop, so I figured just doing the one and letting people figure it out would work at the beginning. I’m not going to have time to do the “rules” based membership thing initially anway, and things like that always have unintended consequences anyway (somebody’s playing on a friend’s account, whatever).

      Edit: thinking more, I think I agree and I’m going to seed the lobby with some well-named permanent rooms to set the right tone.

  7. Infernalis says:

    It’s worth pointing out that there will always be a room called “Your Grandma’s Bedroom Closet” now that you brought it up.

  8. Kevin McHugh says:

    Aliases for the above listed commands? /s for /say, /w for /whisper, /who is short enough, /j for /join, /mr for /makeroom

    I don’t like typing a lot for commands. 

  9. Viri Flaud says:

    I think it’d be nice for lobbies to have a “Quick Match” button, that pairs you with a random person in that lobby who is also looking for a “Quick Match”. Kindof like how Starcraft 2 does it.

    I don’t want to challenge strangers directly. I do like being able to challenge my friends.

  10. KM says:

    Assuming that there are eventually LOTS of rooms, will there be a /list or /search or /find type of command?

    • checker says:

      Yeah, at least a /listrooms.  I wonder how many rooms there will be.  I’ll have to rethink the UI if there are too many.  Oh well, good problem to have if it means there are a ton of people in the lobby, I suppose.  :)

  11. Proxford says:

    More likely it will be You’re grandmas bedroom Closet.

I have temporarily disabled blog comments due to spammers, come join us on the SpyParty Discord if you have questions or comments!