[rfk-dev] [esr at thyrsus.com: The robotfindskitten BUGS file]

Peter A. H. Peterson pedro at tastytronic.net
Thu Oct 25 15:02:10 PDT 2012

BUGS updates from ESR.

----- Forwarded message from "Eric S. Raymond" <esr at thyrsus.com> -----

From: "Eric S. Raymond" <esr at thyrsus.com>
To: rfk-dev at robotfindskitten.org, pedro at tastytronic.net
Subject: The robotfindskitten BUGS file
Date: Thu, 25 Oct 2012 04:34:00 -0400 (EDT)

>Current bugs:
>When you hit the escape key, it takes about a second to register. Why?
>	From the getch man page (Shazdeh <zen at emgnulation.org>):
>       Use of the escape key by a programmer for a single charac-
>       ter function is discouraged, as it will cause a	delay  of
>       up to one second while the keypad code looks for a follow-
>       ing function-key sequence.

This diagnosis is correct.  

>	Also, you can now use Q to exit the simulation.

I recommend removing the ESC binding.  Ctrl-C works fine.

>ncurses doesn't cooperate with characters less than '!'. It displays
>them as, eg ^A for what should by rights be a little smiley
>face. draw.h uses the A_ALTCHARSET flag. It doesn't work.

A_ALTCHARSET is not expected to work on random control characters.
This is not an implementation bug, it is due to a mismatch between the
VT100-derived model of curses special characters and the way graphics
outside the ASCII printable range work on a PC.

>Occasionally, there are redraw errors.  Any ncurses gurus out there who can
>clear this up?
>	There's a chance that when I fixed the problem with noecho, it
>	fixed this as well, but it hasn't been tested.
>			- Shazdeh <zen at emgnulation.org>

I am an ncurses guru. I am not seeing redraw errors, and I see nothing
in the present code that I would expect to produce them.  I believe
this bug is fixed.

>Possible Improvements:
>The code generally needs to be cleaned up.

I have done so with the patch set I just submitted. With these changes
the code is now fully ANSI-conformant, using bools and modern prototypes.

>Although the code should compile on anything that has ncurses, the
>special character set used probably won't be handled correctly on
>anything but Linux/Intel.

That is correct.

>                            Have an option to stick to standard ASCII.
>[currently robotfindskitten is only standard ASCII.]

I'm a former nethack dev and maintainer of a couple of other games in the
same retro style as rfk (notaby bs, galaxy, and greed). In my opinion
it is (a) good retro style to use the forms-drawing characters, which 
curses knows about and are available on all modern software terminal
emulators, and (b) good retro style to otherwise stick to ASCII.

Given my druthers, I'd forms-box the playing field but forgo all 
other attempts to use non-ASCII graphics.

>I think the list of messages should be in a text file which is read in
>at runtime, so that people can easily change the messages.

I agree and am willing to write this patch.

>The screen array is bigger than it needs to be. It probably shouldn't
>be an array at all, actually, since at most 1/8 of the entries are
>full. It should be a hash or something.

I disagree.  This change would economize on an amount of memory that
is *tiny* on modern machines, at the cost of increasing code
complexity significantly.  That would be a bad tradeoff; I think
the present brutally simple implementation is exactly right.
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

According to the National Crime Survey administered by the Bureau of
the Census and the National Institute of Justice, it was found that
only 12 percent of those who use a gun to resist assault are injured,
as are 17 percent of those who use a gun to resist robbery. These
percentages are 27 and 25 percent, respectively, if they passively
comply with the felon's demands. Three times as many were injured if
they used other means of resistance.
        -- G. Kleck, "Policy Lessons from Recent Gun Control Research,"
		Law and Contemporary Problems 49, no. 1. (Winter 1986.): 35-62.

----- End forwarded message -----

Peter A. H. Peterson
Graduate Student Researcher
Laboratory for Advanced Systems Research
University of California, Los Angeles

More information about the rfk-dev mailing list