pingus-devel
[Top][All Lists]
Advanced

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

Re: Pingus Configuration Tool


From: Ingo Ruhnke
Subject: Re: Pingus Configuration Tool
Date: 20 Dec 2002 12:18:24 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Marcio Luis Teixeira <address@hidden> writes:

> But on the other hand, a configuration tool for a game? Isn't that a
> bit too, uh, geeky?

I don't think so.
 
> I once read a critique of Linux for being too difficult for the
> desktop, and they pointed out that Linux apps often overdo it with
> configurability or do things in a way which are to complicated for
> the average user.

After seeing Gnome2 (which basically doesn't allow any configuration
at all) I am pretty happy with Apps that overdo it a little with
configurability. Gnome1 is a magintute more useable since it provides
much more configurability, while Gnome2 is basiaclly useless in a lot
of situations (panels are shown in fullscreen mode and other bugs like
that). What I want are apps that allow a maximum on configurability,
but which don't force the user to actually use that. Sawfish is a
perfect example here I think, it simply works with default settings,
allows a lot of configuration via simple GUI dialogs and if one really
wants really to do the ugly things he can use the Lisp-based
configuration language.

> I hate saying this, but a configuration tool for a game is walking
> that fine line. Every game I've seen so far has some sort of
> built-in options menu that is integrated in the game -- most users
> expect that. Why does Pingus have to be different?
 
Probally half of every Windows game comes with some kind of starter
application that lets the user tweak settings, this simply has the
advantage that the user can't that easily do something wrong. If I
have an in game configuration and switch to 1600x1200 which neither my
X11 not my monitor might like, I am lost, the game won't start up any
longer and I have to edit some obscure configuration file, with a
starter up I simply change the settings an be happy.

> Anyhow, there is also the more practical concern that games are
> typically ported to other platforms -- porting an SDL game is easy,
> porting an SDL game with a Gtk interface is not.

The configure app is completly self-containing and not a must-use for
Pingus, all it does is to generate a few command-line flags and pass
them over to Pingus on startup. So if one platform doesn't support
GTK, no problem, users simply use the command line to fix stuff how
they want it. But without the configuration app I would *force* users
to use the command line to tweak stuff, not very nice.

> Ok, that's my honest opinion. Sorry. I didn't mean to be rude. I
> just think this deserves serious thought before you spend too much
> more time with it.

Today it works like this if I try games under GNU/Linux:

I try to download a binary for the game if available. The .deb/.rpm
packages are often quite outdated or not useable on my current
distribution, since they are pretty distribution depended. So I look
for a static binary.

I find a binary download it and try it. After that I find out that it
wasn't a static one and doesn't work on my distro, bad luck, back to
the webpage and search for the source.

With the source I have to track all those nasty library dependencies,
find out if it compiles with gcc-3.2, else switch back to the old one
and things like that. I have to make sure that 'make install' doesn't
mess up my system and things like that.

So now I might finally have a binary, so I start it, after finding out
that it doesn't run directly from the source directory and being
forced to 'make install' it of course. So what does the game to? It
goes to fullscreen mode, does a mouse-trap or otherwise manages it to
hard-lock my X11 session so that I basically have to reboot (I
consider /etc/init.d/gdm restart a reboot). Back in X11 next step is
the obligatory ./game --help, well half the games doesn't support any
options and simply start and hard-lock again. So reboot again and now
on the way to find some config file or something like that. Some might
provide one, some others might not. If they don't provide one I am
quite often forced to go to the source and change things there.

So after an hour or two I might finally be able to actually start the
game, finding out how to play it will most often cost another hour or
more since, lots of free games are pretty bad in not providing a good
tutorial or user-manual.

So well, thats basically how linux gaming looks to me today. Its not
even a thing that only happens to me once or twices, the story
basically repeats itself with every second game. Oh well, and I don't
even have mentioned the 'fun' to make a game use my second joystick
/dev/js1 instead of the first one /dev/js0...

> If all you need is a simple configuration interface, a possibility
> might be to use tcl/tk to build one. I'm not partial to tcl/tk, it's
> syntax looks god awful, but it may be the best choice for the
> configuration tool for these reasons:
 
>   1) Most linux distros have this already installed

So has Gtk.

>   2) It has been ported to every major platform

So has Gtk, well, not that much platforms, but Pingus runs on less, so
thats not a problem. Beside that everything beside Windows, Linux and
MacOS isn't really interesting for me since nearly nobody uses other
platforms to play games on them. Handhelds would require to rewrite
large parts of Pingus anyway, so they are a different topic. Beside
that I don't see a big problem with having a nativ-start application
for every OS, since requirements might be differ.

>   4) Writing a simple configuration gui in it would be relatively easy

So is Gtk, well Tcl/Tk might be more simply if one already knows it
quite well, but I don't and I don't like to learn it.

> This project provides a simple tool that converts a tcl/tk app into
> a static executable for Linux and Windows. I just tried it out with
> a simple "Hello World!" gui and the file size was 1300K. That's
> larger than the 900K for your statically linked Glade app, but not
> by enough to make me worry much.

Blowing the binary up by another 400Kb is not really what I would like
to do, especially since it doesn't provide that much more feature,
especially none that I really need.
 
> The only thing that is important is that Pingus not require the
> interface to run, since I'ld hate to see Pingus not be ported to
> some platform because the configuration interface didn't carry over.

The start app is just a way to let the user enter configuration
settings without using the command line, thats all.

-- 
WWW:      http://pingus.seul.org/~grumbel/ 
Games:    http://pingus.seul.org/~grumbel/gamedesigns/
JabberID: address@hidden 
ICQ:      59461927



reply via email to

[Prev in Thread] Current Thread [Next in Thread]