BuGS v0.9.4 Beta Available

The primary change is a fix for how sound samples are started.  Prior to this, I thought the sound was “muddy” on real HW.  The root cause was that I wasn’t ensuring that the DOC was free when trying to write to it and now I am also doing a read check to make sure that the change made it under most circumstances.  That ensures that both left and right channels are started and the sound is much better.

The only bug I know of which I am tracking is the “mysterious appearing mushroom” bug.  There are times when a mushroom seems to appear out of no where.  I added some debug code to try to find a situation where a mushroom exists in the tile data but not on screen which is one way this can happen.  But the debug code was never triggered so I don’t think that is happening now.  I can’t reproduce it reliably and see this once every 5 or 6 games.  But if you see it have any idea of how this is happening, it could help me find and fix this bug.  Thanks.

I believe I have found the mysterious appearing mushroom bug last night.  The problem was that a centipede segment which is mostly offscreen was supposed to be marked as occupying an off-screen tile.  And that should ensure that collisions are not handled and some other things like that.  But, I messed up the offscreen tile.  I have tile numbers which are in increments of 1 and tile offsets which are in increments of 2.  I should have put in a tile offset but I instead used a tile number.  That meant that the offscreen tile actually mapped to the middle tile on the game board (it was half of what it should have been).  Then, if you happened to “shoot” an off-screen segment right as a level is starting, it would lead to a mushroom appearing on the centre of the screen.  By fixing the tile offset of the offscreen segments, I was no longer able to reproduce it.  The next beta build should have that fix in it.

Source Code


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.