[Telepathy] [Final report]: GNOME-Sudoku+Telepathy

Zhang Sen zh.jesse at gmail.com
Mon Aug 17 20:18:52 PDT 2009


Hi list,

This Week
---------

My mentors gave me some very good comments, so there is much done for
the last week, and some features appearing in my initial proposal were
covered at this last minute :) (it appears the most fancy thing doesn't
necessarily take the most effort :)

$ git shortlog --since=2009-08-10
Zhang Sen (26):
      No need to output these things to user?
      Properly change self._is_initiator
      Catch exceptions when get_object
      Some small things
      Fix
      Delete unused file
      Merge branch 'master' into work
      Fix mistake of resolving merge conflict
      Update Makfile.am's, still don't work
      Ask receiver before open the network game
      Block the initiator until the receiver decides
      Add service file
      Display contact alias when prompting user for tube
      Fix build/install
      Show puzzle info to receiver
      Finetune the dialog
      Remove asserts
      Collaborative mode
      Use glade to draw the offering-tube dialog
      Use glade (notebook) to do the connecting dialog
      Sort contacts in contact selector
      Merge branch 'master' into work
      Adopt the change on master
      Do clear and clear-by-tracker by controller
      Move method into parent class
      Show the peer's cursor

What I Have Done
----------------

My project is to make gnome-sudoku into a networking game with
Telepathy. I have achieved most of my goals during the summer. Now you
can click on 'new-with-contact', then choose one of your buddies and,
when your peer accepts the offer, you can start play together.

There are two game modes, when competing you can only see at which
position your peer has filled, and when collaborating, you can see the
numbers that are filled, via a side-grid.

And you also can see the focus (the focued box) of your peer.

You can see a demo here, [0]

Code Level [1]
--------------

During the three month, I have a big refactor of gnome-sudoku itself.
It's mostly splitting the model and the view, so that networking can fit
in painlessly.

There is also a contact-selector in sudoku, which is quite standalone
and can be used elsewhere (before telepathy-gtk comes into being).

How to Try Out
--------------
Simply clone gnome-games and check out the 'sudoku-tube' branch.
Then ./configure, make, make install. One thing is it will overwrite
your existing gnome-games install, take care.

Known Issues and Future Plan
-----------------------------
As advised by my mentors, the user should be able to choose the
difficulty of the game when starting a new multi-player game.

Also, it should be port to Mission Control 5, and use the
ContactCapability interface to filter contacts. These are currently
blocked by Empathy/Telepathy.

Auto-fill and auto-hint will probably be disabled in multi-player
games ;)

I will surely stick with the GNOME community in the future. And if
gnome-games plan to port from ggz to telepathy, I would like to take a
part too.

Final Word
----------
GSoC is a nice experience. Thanks to the GNOME community, and especially
to my mentors, Thomas H.P. Andersen, Guillaume Desmottes and Sjoerd
Simons! You rock!

-Zhang Sen


[0]. http://www.vimeo.com/6154512
[1], http://git.gnome.org/cgit/gnome-games/tree/?h=sudoku-tube



More information about the telepathy mailing list