Commit Graph

30 Commits

Author SHA1 Message Date
Jeremy Rand 0ae5fa1b54 More global high score rework towards making it generic. 2023-06-07 19:53:14 -04:00
Jeremy Rand e213cc918b Fix the last known bug. The "Game Over" screen is now shown when the first of the two players in a two player game runs out of lives. 2021-02-01 22:31:53 -05:00
Jeremy Rand f6ecb9bf65 Add some comments about my testing at 50Hz and add a new bug for the lack of a "GAME OVER PLAYER #" message in a two player game. 2021-01-27 23:28:06 -05:00
Jeremy Rand 23b37d095b Fix the mysterious appearing mushroom bug. 2021-01-26 00:25:35 -05:00
Jeremy Rand da99d84437 Update the bug list. 2021-01-25 10:53:21 -05:00
Jeremy Rand 2a52b21f8a Fix bug where the flea sometimes would appear before the second level actually started. 2021-01-20 22:14:59 -05:00
Jeremy Rand 815758f3ff Rework the game logic to support one and two player games. 2021-01-20 00:06:32 -05:00
Jeremy Rand 1b7d2e240b Fix a bug where it was possible for the player to collide with an exploding bug and then die. Change explosions so they are drawn using background colours which do not result in player collisions. 2021-01-18 00:18:31 -05:00
Jeremy Rand 4700bd9cff Fix a bug where the collision and collisionAddr writes went to the wrong bank, leading to memory corruption and crashes. 2021-01-06 22:21:31 -05:00
Jeremy Rand 50c924e1ff Look at two pixels wide when detecting collisions with a shot. I believe this solves the problem of shots passing through a centipede. 2021-01-03 23:57:21 -05:00
Jeremy Rand 8963a9d76c I believe I have fixed the invisible mushroom bug. I have inspected all of the code which sets a tileType to something that didn't mark the tile as dirty. I believe the problem occurred because the code in update which placed/changed mushrooms assumed that the draw code which then mark the tile as dirty because the bug which caused the change which dirty that tile. But that is an assumption. If the bug is shot, perhaps the draw routine will not mark the tile dirty. So, now the tile is always marked dirty right at the point where the mushroom is placed. I believe this will fix the problem but more play testing is required to confirm I don't see it anymore. 2020-12-26 15:26:19 -05:00
Jeremy Rand cdded307f9 When looking for collisions, treat the lowest collision as the one that counts. Before this, if you had two stacked mushrooms, it was possible to shoot through the mushroom below and "hit" the mushroom above. This happened because the first collision found was the one that the game handled. If the shot ended up being draw across both mushrooms, then the upper mushroom would record the collision. Now, the collision we care about most is the lowest one which should ensure that the bottom mushroom records to collision always with stacked mushrooms. This is similar to the "shoot through a partial mushroom" problem but is restricted to just when the mushrooms are stacked. 2020-12-26 15:03:29 -05:00
Jeremy Rand 3f0578d142 Fix the crashing bug when the previous game ends with the player colliding with the last remaining segment. 2020-12-26 00:31:54 -05:00
Jeremy Rand dbbdd156e3 Fix the bug where the tiles on the RHS may be marked dirty and accumulate garbage if the player dies on the RHS. Add some more debug for the crashing bug I am chasing. It looks like more than 12 segments have been added so I am adding debug to detect when the number of segments exceeds 12. 2020-12-25 23:59:09 -05:00
Jeremy Rand a5296ee1b8 Fix the bug where shots can pass through a mostly destroyed mushroom, this time for real. 2020-12-25 22:26:13 -05:00
Jeremy Rand 929343aead Add a bug for the muddy sound on real HW. 2020-12-25 01:19:19 -05:00
Jeremy Rand 493473724b Add some more bugs to the list based on tonight's play testing. 2020-12-24 00:31:39 -05:00
Jeremy Rand 91ce6ada31 Extend the length of the flea sound and describe the spider junk bug some more. 2020-12-24 00:15:50 -05:00
Jeremy Rand d65a4ca307 Fix the high pitched sound at the end of the flea sound. It was an off by one leading to an extra frequency being played. 2020-12-24 00:02:41 -05:00
Jeremy Rand ea49a5d11c Add the scorpion sounds. 2020-12-23 14:54:17 -05:00
Jeremy Rand d4d511ee4f Fix the bug where the "can shoot" indicator was sometimes not cleaned up. The real problem was that the mouseAddress was incorrect on the first frame of the next life. It still pointed to where the player died. 2020-12-22 21:25:20 -05:00
Jeremy Rand 4d2a96673d Add some more bugs to the list. 2020-12-18 13:26:42 -05:00
Jeremy Rand 32aee75462 Add the segment, spider and extra life sounds. Add some more information about the mysterious crash. 2020-12-18 00:50:01 -05:00
Jeremy Rand 763ce0626e Fix problem on real HW where the player will start the next level shooting if they died while shooting, regardless of the state of the mouse. It now ignores the first poll of the mouse at the start of a level to avoid stale poll information. Add some debug in the code for jumping to the head and body segment draw routines to confirm that the table offsets are sane. I have seen a crash which indicates that sometimes the offset is incorrect. 2020-12-16 12:51:37 -05:00
Jeremy Rand 622f0e5f9f Add an acknowledgement and a bug based on testing on real HW. 2020-12-10 22:31:46 -05:00
Jeremy Rand 1650e8e040 Fix bug where slow head segments would not detect collisions with other segments and change direction. 2020-12-04 00:32:42 -05:00
Jeremy Rand 7368281d58 Fix a long standing bug I have ignored for too long. When adding centipede segments on the left or right, if there was a mushroom right where the segment was arriving, it would try to change direction even though it was still mostly off-screen. This lead to some very strange segment tracks that should never happen. I have added code to ignore blocking mushrooms and not change direction when the segment is partially off-screen. 2020-12-02 23:51:06 -05:00
Jeremy Rand 7264cf907d Clamp mouse movement to a max of 8 pixels per frame. Add some code which will become the "refresh the mushrooms after death" implementation. 2020-11-24 22:59:08 -05:00
Jeremy Rand 868f4a3199 Fix a crash that would happen if the last centipede segment collided with the player. Both level and player code was trying to start the next level and the corrupted things badly. Now, the level code is always responsible for starting the next level. The player code only restarts a level when the player dies and doesn't finish the level. 2020-11-19 23:45:23 -05:00
Jeremy Rand fd40c12d31 Explode a bug when it crashes into the player. When the last segment collides with the player, go onto the next level. 2020-11-18 23:36:01 -05:00