Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CF: BUGS: (was Re: Crossfire 0.95.2 released.)



On Feb 2, 10:33am, Jacek Konieczny wrote:
> Subject: CF: BUGS:  (was Re: Crossfire 0.95.2 released.)

>
> And please release next version as soon as possible, but only tested, and
> with bug-fixes for REPORTED bugs.

 Raphael did a excellent summary of the current state of crossfire.  However, I
do have a few additional notes:

 Pretty much all the fixes done in 0.95.2 were reported by someone or another -
I just don't randomly make up things to break them - I have better things to do
with my time than that.

 Most all fixes get at least some testing to see if it at least should fix the
reported bug.  I can not concievable test every possible combination of maps,
stacking, and so on to make sure it works with everything.  Some bugs are just
not easily reproducible (infinite loops, or a crash, even with backtrace, but
with the unability for me to poke around further).  In that case, I have to
look at the code, and do a best guess on what is causing the problem.
 Hopefully, I guess right more often than I guess wrong.  If I guess wrong, I
am sure to hear about it come next release, and then I know i have to look at
it again.

 My personal preferance is to make code changes and try to fix bugs instead of
trying to hunt down/test every line of code.  From what I generally see, this
works out fairly well - quite a few people play the game and can find the cases
where the bugs happen, but not nearly as many will actually make patches to fix
the bugs.  Just consider releases in a sense that the developer is passing the
product to SQA to test.

 In the most recent release, I was able to log in my old character, travel over
the outside world to grukks tower, beat him up, take his treasure, wander into
navar, and save the game, all without any problems.  This hardly means the game
is bug free, but does mean it is at least playable.

 However one point to address is changes that fix/break maps.  The general
problem is there is no specification saying how everything should work (should
the gates actually lift up the floor?  Should multipart monsters that fall
through pits get scrambled into various peaces but still be alive?)  My opinion
is that those things are side effects that were not really meant to happen that
way.  Certainly, other people could see that affect and think that is the way
it should be, and perhaps others see that affect, and decide to use it, not
really caring one way or the other (if removed in a future version, not a big
deal).

 The problem is that for bugs of that time, a fix may break some things for
some people, and fix things for others.  The hope is that more things get fixed
than broken.  Ideally, everything like that could be setable by a flag or
something (FLAG_RAISE_FLOOR - if set on gates, it will move the floro above it
 FLAG_DICE_MONSTERS - if set on a pit, dice the monster it various pieces
 FLAG_SHOW_INVIS - if set, have show_invisibilty make it visible,
 etc...
)

 However, doing something like that is quite a bit harder, still requires map
updates by at least one of the sides of the bug/feature users, and if kept
being done, could quickly grow to a huge list of especially obscure flags that
might get used on one map someplace.

 In retrospect, I would have done the show invisible/invisible object thing
with the flag above, but at the time I made the patch, the initial report was
something of the like 'if I cast show invisible, I see all the magic
mouths/ears/no magic/cursed areas various maps'.  I did not know at that time
that pupland made extensive use of invisible objects that were meant to be made
visible, so when I initially made that change (invisible non monsters always
stay invisible), it appeared to fix the problem with no side effects.  Short of
examining all the maps, there is no real way to know if some fixes will break
any existing maps, or if it is a new feature someone wants to use.

 This is getting a bit long, so I'll end it there.  The main point I would like
to make is that changes I do make are for what I think are the best long term
interests of crossfire in terms of stability, consistency, and playability.
 Hopefully, most of the people on this list agree.


-- 

-- Mark Wedel
mark@pyramid.com
-
[you can put yourself on the announcement list only or unsubscribe altogether
by sending an email stating your wishes to crossfire-request@ifi.uio.no]