Latest Posts

Topic: Qt based LobbyChat

Nasenbaer
Avatar
Topic Opener
Joined: 2009-02-21, 18:17
Posts: 828
Ranking
One Elder of Players
Location: Germany
Posted at: 2014-03-16, 20:38

Hi everyone,

as SirVer and I are planning to implement a proxy functionality to the metaserver as well as Widelands, to enable everyone to open a game even without all the port forwarding ad firewall opening problems, I was digging into our network code since yesterday. Some things were yet unclear to me, so I tried to reimplement the communication protocol of Widelands and the metaserver in a dummy application just to make sure I understand how exactly the communication is working at the moment.

However while working on this little dummy program, it evolved to an almost fully functional standalone lobby chat, so I decided to give it some more love and functionality.

So for all of you, who want to stay up to date with what is happening in the widelands internet lobby but do not want to have a heavy weight program like Widelands running for this purpose, maybe there will soon be a small program for exactly this purpose face-wink.png

For the first impression take a look at:

WLLC-0.1.0

Comments are of course welcome


Top Quote
SirVer

Joined: 2009-02-19, 15:18
Posts: 1445
Ranking
One Elder of Players
Location: Germany - Munich
Posted at: 2014-03-16, 21:41

first it is great that you figured out again how the protocol worked - that should help in designing the proxy feature face-smile.png

I am not very fond of this stand alone qt idea though. For various reasons. First I doubt it is very useful - having a bidirectional proxy between the metaserver and the IRC channel the way tino proposed is a much better idea imho. It needs less maintenance and unifies the communication platforms we already use. Second, releasing this tool you wrote means that we have to support it - that means that we need to keep the metaserver, widelands and this tool up to date with all changes to the protocol we might implement. Given that it will probably not have many users, that is an overhead I'd rather not have.

What do you think?


Top Quote
Nasenbaer
Avatar
Topic Opener
Joined: 2009-02-21, 18:17
Posts: 828
Ranking
One Elder of Players
Location: Germany
Posted at: 2014-03-16, 22:14

I agree with you Sirver and as I wrote: the program was meant as a dummy program with the purpose of showing me whether I understand the behaviour of the internet protocol correctly. I guess I succeeded concerning this purpose, so the time invested already payed out :). So if nothing else will happen to this little program - that's absolutley no problem for me :).

Of course the bidirectional IRC bridge thing Tino proposed is mightier and most likely more useful than this client - I wouldn't question that. But I never intended to program anything like that.

However I do not intend to make this program an officially supported program. I just guess I will use it from time to time for myself and thus like to share it with those who are interested in the tool . For me it makes it easier to hang around in the lobby waiting for other players before I finally start up Widelands as soon as a game is up for a start.

After all it took me roughly 8 hours to program this tool with the current internet gaming protocol version, updating it to a newer version shouldn't take much time. And even if the change is that big, that I won't invest the time... until than the tool is still working face-wink.png


Top Quote
Cleeus
Avatar
Joined: 2013-11-02, 08:24
Posts: 8
Ranking
Pry about Widelands
Posted at: 2014-03-19, 09:08

Hi all,

having a stand-alone lobby client can be very useful - not for technical but for social reasons.

I was once part of another very small indie-game player community. One of the major problems was to find other people who were willing to play. Finding them involved starting the game and waiting for others to come. Most people wouldn't do that because idling in the fullscreen game is kind of boring and unproductive. So most of the time you were the only player around. But if you did not close the game after 1 minute but waited some time (like 15-30min) someone else would surely join and then another and another and ... the game was on. People started announcing play-days just like here on widelands. That helped but isn't what you really wanted.

So - you have people around all wanting to play but unable to tell each other.

I tossed around ideas and even started coding a tool that would run in the background (icq-like in the systray) and inform others of my willingness to play (and what kind of game i prefer). When a minimal number of people were available, they would all get a notice that they now can play together. But I never finished. I think it could have saved the community. Now the game is dead (for other reasons, too).

I think, if you could put this thing into systray and add a "i want to play (a game of style x)" status and "now you can play with ..." notification, this could be really usefull for the community.


Top Quote
einstein13
Avatar
Joined: 2013-07-29, 00:01
Posts: 1118
Ranking
One Elder of Players
Location: Poland
Posted at: 2014-03-19, 18:48

Widelands don't have to be full screen! I use that feature only on computer with very small screen (where widelands can't be played even with the smallest resolution).

It's true that the community don't idle on Widelands. But the most problematic (for me) is that there is no sign that anyone has written something to us. I haven't started some games because I didn't noticed that somebody was in Widelands and wanted to play. On the IRC there is a beep when somebody is talking to you and the IRC client is on the background. The same is with popular Skype or other communication channels.

And last thing: Nasenbauer, you mentioned that in the future we will not have to connect the metaserver via port triggering? (or what is that when we want to host the game) That would be best for me (and probably some other players), because I have a port triggering, no firewall and still can't host the game. Maybe some people also have this situation (?)


einstein13
calculations & maps packages: http://wuatek.no-ip.org/~rak/widelands/
backup website files: http://kartezjusz.ddns.net/upload/widelands/

Top Quote
SirVer

Joined: 2009-02-19, 15:18
Posts: 1445
Ranking
One Elder of Players
Location: Germany - Munich
Posted at: 2014-03-19, 20:55

I tossed around ideas and even started coding a tool that would run in the background (icq-like in the systray) and inform others of my willingness to play (and what kind of game i prefer). When a minimal number of people were available, they would all get a notice that they now can play together. But I never finished. I think it could have saved the community. Now the game is dead (for other reasons, too).

you really think having a proprietary tool around that people would need to install separately and which would only work for one channel would have saved your game? I highly doubt it. No, Tinos idea of a bidirectional IRC bridge and the patch that gives a sound when somebody in chat writes something should be at least as effective - but would not need as much manpower.

And last thing: Nasenbauer, you mentioned that in the future we will not have to connect the metaserver via port triggering? (or what is that when we want to host the game) That would be best for me (and probably some other players), because I have a port triggering, no firewall and still can't host the game. Maybe some people also have this situation (?)

most people are in this situation these days. Few people can still configure their router and many are even behind ipv4 -> ipv6 bridges that make it impossible to host anything. All modern games have game servers these days that open ports for clients to connect too, that is why we are following this model. There is quite a bit work to be done before we are there though.


Top Quote
Cleeus
Avatar
Joined: 2013-11-02, 08:24
Posts: 8
Ranking
Pry about Widelands
Posted at: 2014-03-20, 22:08

SirVer wrote: you really think having a proprietary tool around that people would need to install separately and which would only work for one channel would have saved your game? I highly doubt it. No, Tinos idea of a bidirectional IRC bridge and the patch that gives a sound when somebody in chat writes something should be at least as effective - but would not need as much manpower.

I was just suggesting an idea. I don't really know the wl online players and what dominates the matchmaking problem for wl. In my old community it was either installing a small custom lobby/matchmaker programm and doing something else while waiting for others to show up or waiting up to an hour or more in a fullscreen UT mod and jumping around and killing AI bots until (eventually) people started joining the game.

The simple IRC version might also work well enough. Maybe the automatic matchmaking is not that important for widelands.


Top Quote
Nasenbaer
Avatar
Topic Opener
Joined: 2009-02-21, 18:17
Posts: 828
Ranking
One Elder of Players
Location: Germany
Posted at: 2014-03-30, 13:09

Seems there are different opinions on this application and I think I can understand each of it.

Concerning the IRC bridge: it looks quite promising and makes things alot easier. Hower the biggest problem of the lobby is still present for me: Users connect to the lobby just to see nobody online in the players list, so they directly disconnect again... getting irc messages from the "off" looks more or less like a bug for me. A "normal" user might not understand why some people are writing in the chat but are not listed as users. Further how could you write to someone if you do not know (s)he is online on irc, as (s)he is not listed in the users list of the lobby? The other way round, players are not listed in the user list in irc, so once the lobby is filled with some players you can easily loose the overview of who is online at the moment.

For that very reason the current irc implementation makes it even more confusing to me and makes me wonder why we support two chats. To be honest - I think it would be much more logical to make the "lobby chat" the official chat. Of course IRC is very common and reliable + we can use the free services of Freenode and it wouldn't die out anyways. However after all - in the long term all roads end up in the lobby chat before finally starting the game. So why shouldn't we just use the lobby chat as main chat communication channel? After the qt implementation I am pretty sure it wouldn't be hard to write a java app we could add to our website.

Luckily it is not up to me to decide this and the "extra maintenance" argument SirVer named for the qt app is even more true for this general idea and will most likely block the implementation of it. Further of course I am biased face-smile.png - however I just wanted to show my personal opinion on this topic.

Finally after writing the qt app and using it for some times I found out, that I really prefer using the Widelands lobby chat for waiting for games to start up or to help players having questions in the lobby. And theoretically with TinoMs irc bridge active now, there isn't even the need to connect to irc now if I want to discuss game stuff :).

Still SirVers point with extra maintenance work is 100% true and I do not want to put the extra burden of maintaining this chat application to the Widelands Development Team. However I like to use the application myself and of course to use it as test bench for the widelands internet protocol. And as I like to share the code and the application with everyone interested, I removed the branch from lp:widelands and opend up lp:qt-widelands-lobby-chat . So if you want to blame anyone for this application and it's functionality or disfunctionality in future - blame me ;).

Cheers,

Nasenbaer


Top Quote
SirVer

Joined: 2009-02-19, 15:18
Posts: 1445
Ranking
One Elder of Players
Location: Germany - Munich
Posted at: 2014-03-31, 06:26

What I read in your suggestion is that you want us to build and maintain a chat platform, that is like IRC, but with less features and less users. That sounds like a bad idea to me. The correct thing to do is imho to also list the IRC users in the lobby and make IRC bridging toggable for Widelands users - so that they can talk to IRC, but do not have too. Making the bridge more complete is certainly less work and more useful than rolling our own chat service.

Yesterday I did join a game that I would not have known about if not for the IRC bridge. Really fun face-smile.png


Top Quote
teppo

Joined: 2012-01-30, 09:42
Posts: 423
Ranking
Tribe Member
Posted at: 2014-03-31, 11:50

In my opinion, the message traffic at the lobby should be exclusively concentrating on starting new games. I hang at the lobby less likely, if my (development build) client makes audible sounds also when people are chatting different topics. People interested in the former should not be force-fed the latter too.

Turning off the sound for messages relayed from irc to lobby would make the bridge less irritating, and still keep most of the benefits. Splitting the IRC-based matchmaking to another channel, or making the bridge onedirectional (lobby->IRC, not reverse) would be my other favorites for improving the present situation.


Top Quote