Re: hacking on same-gnome



> Hi,
>
> Thought it was about time I started hacking on Gnome a little, what
> better place to start than my favorite game, same-gnome.
Sounds good. The first thing you need to do is to read:

http://www.gnome.org/projects/gnome-games/contributing.html

> Changes I would like to try and make to same-gnome: arbitrary board
> sizes, better icons (more contrast), persistance between sessions,
> better/different background colours/images and a portrait mode.
Most are good ideas, I'll comment on these one by one.

arbitrary board sizes: I am in two minds about this. We have it for Mines
but it creates issues. The obvious one is recording scores - the current
high score system cannot deal with varying board sizes easily. Mines
"fixes" this by scaling the score based on the board size and then
recording it against the single "custom" high score table. This is far
from elegant. The second "problem" is that I have tried to avoid a
preferences menu in Same GNOME and I couldn't think of a good way to
integrate it into the menu system (a dialog to set the size is still
needed of course). All of these issues can be fixed by a bit of ingenuity
and I am very open to suggestions (and patches).

Background colours: Should be done, but I never got around to it (see the
FEATURES file in CVS for features I want). I think the background picture
issue is/was a feature request bug report. The graphics code is set up so
that putting a variable background colour in should be trivial. Doing a
background image is a lot harder with the current code (it was written for
speed and a small memory footprint within the traditional X drawing
system, i.e. no pixbufs or even Cairo). The UI for the colour is also an
issue, I am a great fan of just doing drag-and-drop for setting the
background (like gnometris) but people complain and say that it isn't
discoverable and isn't intuitive. There is also the issue of grid line
colours with that UI, although I was just going to auto-generate them from
the background colour.

Persitence between sessions: One word: Yes (although see the end of this
message for a more interesting, but harder, alternative).

Icons are trivial. Look at the existing themes for guidance (don't forget
about those in gnome-games-extra-data). Any file format that gdk-pixbuf
supports is supported.

> I'd also quite like to try converting/extending the tile drawing to
> allow for a square blocks theme with redrawn boarder a bit like KDE's
> kilckety has, this could accompany, overlay or replace the icons.
You may not need to redo the drawing code. Square tiles are already
supported. Its a while since I played klickety so I may be misinterpreting
your intentions.

> Was wondering, is there was any general direction/strategy for the
> games? I seem to remember SVG being the craze a few months back.
> Would be good to know this stuff before I start hacking away.
The games should be simple (in the UI sense, not the game itself) and
clean (i.e. not overloaded with features). Similar games should be similar
to each other. e.g. Same GNOME, Five or More and Mines have similarities
in things like having three board sizes. Some features, like full-screen
modes and resizeable windows, should be universal but aren't quite there
yet. The use of sound and session saving should also be universal - this
isn't anywhere close to being done.

One note about session management: it would be really cool if, rather than
being session-management oriented, the games started where they left off.
There are two tricky bits here. One is you have to save the games on a
stack so if two copies of a game are opened and then closed reopening two
games at the same time gets you two different games (but opening one,
closing it, and opening it again, gets you the same game). If the game
state is saved at a the right moment then recovery after a crash is also
possible.

I hope this gives you enough to think about.

 - Callum





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]