GSoC: KDE Games powered by Telepathy
Daniele E. Domenichelli
daniele.domenichelli at gmail.com
Tue Feb 21 09:34:21 UTC 2012
On 20/02/12 22:11, Stefan Majewsky wrote:
> Hi,
>
> on the GSoC ideas page, under "Telepathy", I saw a project to use
> KDE-Telepathy to set up a multiplayer game in kdegames. It has a
> "NOTE: We need to discuss this with KDE Games."
>
> As the de-facto libkdegames maintainer, I'd like to inform you that I
> very much welcome this idea. I just removed the old KGGZ framework
> from libkdegames, because it relies on a server infrastructure that
> probably does not even work anymore, and I'd like to have a working
> multiplayer solution very much.
>
> The best target for a KDE-Telepathy student would probably be KSirk,
> because it already uses Jabber to set up a connection. It would be
> great to port this in order to remove the giant heap of code that's
> used for the Jabber connection.
>
> Because of real-life commitments, I will very likely not be available
> as a mentor, but I volunteer for co-mentoring on this project from the
> kdegames side of things, if desired.
>
> Greetings
> Stefan
Hi Stefan,
I'm really glad you like the idea, I've been planning to write on the
kde-games mailing list about this, but I didn't have time to do it.
I had a look at KSirk code long time ago (actually 2 years ago when I
was trying to write a project for GSoC when I was a student) and I think
that porting it to use telepathy shouldn't be hard to do, because using
telepathy you have "Tubes" that are a very easy mechanism for connecting
applications: Streamtubes give you a QSocket that you can use exactly
like a normal socket and DBusTubes give you a peer-to-peer
QDBusConnection that is slightly different from a connection to DBus
server, but can be used almost in the same way.
If I remember correctly, in KSirc you already have a protocol that you
use over TCP/IP or over Jabber, therefore a streamtube is probably the
best option. You just need some code to choose the contact and connect
and then you just need to use the QSocket that is created by the
streamtube. The same is probably valid for Kbattleship (but I didn't
check the source code)
This makes, in my opinion, the project a little too short, that's why I
was suggesting to add some more stuff to the project, like implementing
multiplayer in some game that doesn't have it yet, or some kind of
library to measure latency, or something else.
What were the features offered by the KGGZ framework? we could use that
as a model for writing the library...
Maybe I'm wrong, but I think it is better to have a bigger project that
we realize during the implementation that it cannot be finished, rather
than a project that is finished after one month.
What do you think?
Cheers,
Daniele
P.S. Your help in co-mentoring this project is very welcome!
P.P.S. I'm CC'ing the kde-telepathy mailing list, as there might be
someone else interested in the discussion
More information about the KDE-Telepathy
mailing list