Jump to content

Multiplayer lobby

Recommended Posts

Hi all,

As some of you might remember, I was working on a multiplayer lobby many months ago.

I would like to discuss with you the features you would like it to have.

At the moment it still very basic, with only a list a created game and connected players.

New ideas could give me the motivation to start working on it again, so do not hesitate.


(I attached a patch to a new ticket)


  • Like 1
Link to comment
Share on other sites

First, welcome back Martin (y):)

Second, well, the main thing is that it should make it easier to connect to other players and improve the chances for people to have fun with the game. That's of course not news to you, I just want to start looking at the actual features from the right perspective :) Below is a list of the things I would like to see, listed roughly by importance.

Preferably it should work from within 0 A.D. Mostly because of the first reason mentioned above, to make it easier for people to connect to other players. Having to launch another application would make it a bit more complicated.

There should be a way to search for games based on certain criteria (they can be defined later, but the general concept should be there from the start). Things like map type (random/scenario, water/no water), victory conditions/match type (conquest, fortress, kind of the hill etc depending on what we can realistically implement), whether cheats are allowed or not, number of players.

A list of all existing MP matches, not sure whether in-progress ones should be displayed, but at least in some cases/for rejoining there might be reason to display them. The way I see it the main list should contain the name of the match (either automatic based on match type/map type or custom entered title), a few details about the match. Then you could click on it to see more details including the location of the host/already joined players (as that can be important), the above mentioned criteria, perhaps more technical things like ping etc.

You should be able to see/enter descriptions for your match. Say "I and a friend likes to play teamed games against multiple opponents" or whatever you want (though perhaps there should be some moderation to avoid people writing too bad things :P =) ).

It would probably be a good idea for the long run to have some kind of user profiles, both for the community aspect ("I've played x games against player y and won z times", "player y is always a helpful ally" etc etc) and to make it possible to store some stats about players for the competitiveness ("games won/lost" is always a curious one to have as that doesn't say much about the "quality" of the match, perhaps there's a way to do something more complicated and useful).

Linked to that you should be able to at least send messages to players who are currently online, perhaps have some kind of PM system for persistent messages as well, but that's lower priority imho.

User management, things like blocking users who are behaving badly, some kind of permissions system so you can set up other users as admins to help out with moderating, the ability to delete games if e.g. the description is bad (in the obscene, hateful, spam sense), etc.

As mentioned above a friend list would be nice, as well as the ability to block certain users.

Integration with a yet-to-be-made standalone server for leaderboards and all that stuff :)

As far as I understand that's part of this :) No reason to have a multiplayer lobby if it isn't connected to something (then you'd still have to search for games via IP or something), perhaps you're just thinking of the leaderbords etc? Either way I think it all should be connected. Not necessarily all implemented at once, but the development MP lobby part of the server/user side implementation should take other community aspects like the possibility to include a leaderbord into account :)

I would prefer if it was possible to do both the community part and the find a games part from within the game, and at least the former from a web interface as well. Not sure how easy it is to integrate a login system with both the game and a web server though. :unsure:

I'm sure you'll have a lot of things to think about after a while, my list is at least a fair amount of work I'm sure :) Development of the MP lobby server can continue a fair bit into Beta though as it's not gameplay/balance related. There should probably not be any major new features in the last couple of Beta releases though, and more or less bug fixes in the final ones. But still, I'd think we'll have at least 5-7 Beta releases before we're done :) (Maybe more, I'm thinking we might benefit from shorter/more focused release cycles in Beta, and thus more but smaller, but that will have to remain to be seen what works in practice :) )

Link to comment
Share on other sites

are we going to have a lobby for Alpha 11?

No. (Of course it's not entirely impossible to have some kind of basic lobby done already for Alpha 11 depending on how useable what Martin has created already is, but generally speaking it's not very likely. Mainly because it's a quite bit thing and will probably need quite some work before being truly useable :) )

Link to comment
Share on other sites

I think leaderboards and that sort of thing is a somewhat different can of worms than just creating and joining games. The only clean way of doing it, that I can imagine, is to copy the existing functionality for executing a multiplayer game into a standalone or "dedicated" server application that can also track wins and losses.

Link to comment
Share on other sites

can you guys add a chat on this forum? maybe we can use a chat to talk to other people and organize multiplayer matchs :P

zoot, do you wanna play 1 vs 1 right now? D:

There's already the IRC channel: #0ad on irc.QuakeNet.org (either use a separate application or just click through to the web chat: http://webchat.quakenet.org/?channels=0ad ). Maybe we should advertise it more though :)

Link to comment
Share on other sites

Hi, Congrats on a kickass project!

You guys are building the free AoE. I'm building the free "skype". It is called Sneer, the sovereign computing peer.

Does 0AD multiplayer mode solve firewall issues? Does it traverse NAT? Does it do UPnP? Does it need a server up somewhere? Does it authenticate users?

Sneer solves all networking issues so that apps no longer have to worry about any of that.

If you make the multiplayer support pluggable, I can make people play 0AD over Sneer. :)

Suppose 0AD listens on a TCP port and has a ridiculously simple protocol:

--> set id (bytes)

--> peer is online (id)

<-- send bytes to peer (id, bytes)

--> receive bytes from peer (id, bytes)

I can now write a Sneer app that plugs into 0AD and lets people play with their friends without network hassle. You can use the exact same underlying interface for your regular multiplayer support.

See you, Klaus.

PS: Will this forum notify me of replies via email? If not, please do: mail at klaus.pro

Edited by KlausWuestefeld
Link to comment
Share on other sites

One thing the client side of the lobby software should do IMO is link into the 0AD IRC chat. Connecting to the lobby would also then log you into an IRC client and automatically connect you to QuakeNet. You would then be able to browse game and chat (to set up matches, etc) If you just wanted to idle in the chat, then you could do it with a traditional IRC client and not have to have the game running 24/7.

Link to comment
Share on other sites

Yeah, both in-game and lobby chat could be done with IRC (if game is passworded, channel for chat has corresponding password and synchronous login). I think the cncnet thing I linked to has some sort of server implementation as in IRC module too.

For LAN play, is their any standard scheme for IRC without a server?

Link to comment
Share on other sites

Wow - does this actually work or is it just in the prototype stage? At least in the screenshots the data is fake. If it works, let's get some devs to start testing it :)

In addition to the filters, I think equally useful is a way to sort the game list by each column. This might be slightly clunky with our GUI engine, but perhaps an ↕ or ▼/▲ arrow button next to each column's text to sort them alphanumerically. That has the benefit of allowing the player to "filter" the list while seeing all the available games.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...