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

Re: Program bugs and Game bugs



In article <34F2C0E5.FAD56C7D@swbell.net>, rubywand@swbell.net wrote:

>      The pothole-- i.e. the OS bug-- is avoidable.

As I told you in email, Rubywand, the bug in the Tool Locator was
discovered *after* the game shipped, by about eight hours.  We knew what
we released the game that *one* computer was randomly crashing when the
game quit under some circumstances, but out of a dozen machines being
tested on, that seemed like a low enough percentage that the testers and I
concurred the game was worth shipping, but we'd investigate the problem
further.

As soon as we identified the problem, we announced it, Nathan updated GUPP
to fix the OS bug, and I immediately set to work on a Wolf 3D update that
avoids the bug.  However, the game was released *before* we knew there was
a bug of any kind (either in the game or the OS).

>      Swerving around the sign-- a CALL to SetTSPtr which may trigger the
> bug-- is a decision _you_ make. If your car responds as it should-- the
> Syntax and Logic are correct-- you car will go around the sign-- CALL
> SetTSPtr is executed-- and there is a chance that you will hit the pot
> hole-- OS bug-- lose control and crash-- system crash, Beep!

The SetTSPtr call is a workaround for *another* GS/OS bug discovered while
working on the game; the RefreshDesktop fuction in the toolbox is firing
off under certain circumstances and erasing the screen.  After much
deliberation, I decided to patch the function to do nothing.  IMHO it's a
perfectly reasonable thing to do and it really improved the game's
appearance as what I think is a highly professional-looking product
(especially for a free one).

> Wolf-3D's code is very 'clean' and easy to follow. It may well be
> "bug-free". This, however, was never at issue.

There's no such thing as bug-free.  I'm well aware of several minor bugs
in Wolf 3D, but none of them are dangerous.

>      To say that "Wolf-3D has a bug" is _not_ the same as saying
> "Wolf-3D's program is buggy".

Uh... yes... it is. :)

>     "The game Wolf-3D" is not the same as the Wolf-3D program.

Uh... yes... it is. :)

> executes. If the program performs all of its instructions as intended,
> the program is free of bugs whatever happens on the display monitor or
> comes out through the speakers.

Again, no such thing as a bug-free program.

> "game" = the game's observable performance. If the programmer chooses to
> have his/her program CALL a buggy OS routine and the game crashes, it is
> quite proper to say that the "game has a bug". Programmer choices are an
> embedded feature of any game.

Like I've said before, I didn't know the OS had a bug until *after* the
game was released.  Can you please just believe me and move on?

>      Wolf-3D crashes not because the program code contains a bug--
> indeed, a bug which averts the intended CALL might avoid the crash! It
> crashes because the programmer made a risky decision.

Would you rather I decide not to write software for the GS/OS anymore?  I
can do that if it would make you happy.

>      If you don't want your Game to have a bug, don't CALL one.

Once again... *I did not know there was a bug in the OS until after the
game was released*.  Only one computer exhibited signs of trouble and only
occasionally, and statistically speaking, it was acceptable to ship the
game -- especially since we couldn't isolate the problem to Wolf 3D at the
time.

>      No. The driver should apologize to his/her passengers, stop blaming
> the street, and be willing to admit that he/she made a mistake.

The only mistake I made was releasing a new Apple II title to a community
that includes narrow-minded cretins such as yourself, Rubywand.

-- 
Sheppy