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

The "debate" over graphics



As the creator/admin/lackey of pbmserv@gamerz.net, let me weigh in
here...

pbmserv was originally created at a time when the web was in its 
infancy.  It's come a long way since then.  (The previous applies
not only to the WWW but also to pbmserv)

However, when I started pbmserv, I thought very hard about what
I wanted to do, and I decided then that pbmserv would cater to the
lowest common demoniator of the net.  And that was text/plain only.

I've taken steps over the years to attempt to deal with MIME mail
gracefully, but as the mailers have been evolving, it seems either
I'm doing it wrong or they are.  (It could be either).  But the
result is, there are some people who, when they send in a move,
it gets garbled in such a way that their opponent can't read the
resulting board without resubmitting a "show" request.  That's 
just wrong.

Similarly, the mailing list.  When folks send MIME mail, it just 
confuses the heck out of the esquire command parser, and also makes
the digests major league ugly.

And believe it or not... some people are happy to not use a fully
graphic/bloatware mail viewer.  Personally, I use "mutt".  Graphics
do not come through to me, and I have to kick off a separate viewer
(it's a pain).  It does understand HTML, but only because I hacked
that capability in last week (via lynx).

In fact, I have been thinking VERY hard about implementing a "de-MIME"
function in front of pbmserv and esquire to completely strip anything that
is not pure ASCII from the server.  And go back to the simple way it used
to work.  However, this could wreak havoc with our international players
who are sending comments back and forth using multi-byte character sets.

So, what can we do about it?

If you are familiar with Trax, you'll note there is a "summary" line
that lists the complete list of moves on a single line.  This line
can be used as input to traxfig which can display a trax board in a
number of formats, including PostScript.  Yes, the ASCII is a bit
ugly, but it works if you don't have traxfig.

Can we create similar programs/formats for other games, sure.  
"Programmers... start your editors!"

Do I have time to do this for all of the games?  No.  I've got a wife,
four kids, and a more than full time job that sometimes sends me God
knows where in the world at very short notice...

pbmserv is a hobby, and my contribution back to the gaming community at
large, but it is not my "life".

I've often thought about adding an WWW/HTML interface to pbmserv.
But I have held off for lack of time, and lack of a complete
"design".  But the back of the napkin view is...  (and hooks are
already partially in place for this...)

User brings up a web page, signs in, and selects a GAMETYPE and
BOARD.  pbmserv-www would do the equivalent of a

    GAMETYPE showas USERID PASSWORD BOARD

and display the board in HTML/JPG/GIF/PNG/whatever...

that page would also include a "makeamove" option of some sort.
where you enter your move, and the server would then make the move
display it back as HTML/etc. to the browser, and also mail it in 
ASCII to all players (just as though it was done via email).

The only problem I've been wrestling wiTh is... let's assume two players
of the same board are both online...  how do I "notify" the 2nd player
that that board has been updated without him having to either check his
mail (a pain for him), or repeatedly query the server for the new board
(a pain for me)?  Ideas gratefully accepted, but I suspect some
java/daemon widget...  Which would complicate the above design immensely.

I suspect this is way off the track of normal pbmserv-users.  So, I'm
setting the Reply-To to pbmserv-dev@gamerz.net for the continuation of
this tread.  If you want to contribute onlist, please subscribe to that
list (if you're not already) before sending.

Richard

-- 
 /  \__  | Richard Rognlie / Sendmail Samurai / Gamerz.NET Lackey
 \__/  \ | http://www.gamerz.net/rrognlie/    <rrognlie@gamerz.net>
 /  \__/ |       find / -name "*base*" -exec chown us:us {} \;
 \__/    | UNIX does not have a philosophy.  It has an attitude.