Buggy behavior, but progress!


A number of bugfixes and significant progress since I started. Feeling pretty good. May upload a demo soon


Bug Fixes

  • Left most basin was not positioned properly - which is why it was being ignored, even by the L Balls. This is kind of fixed though there is a graphical glitch - the balls do wind up in the proper basin.
  • H-Bomb & V-Bombs (Lightning) behavior is correct, and the balls will fall if the H-bomb goes off below them now.
  • Lightning should not trigger game over if it lands on a full basin
  • Still some issues with balls not clearing properly an the last dropped ball sprite lingering. I think I've fixed that though.
  • Probably plenty more I'm not thinking of.

Progress/Additions

  • H-Bomb & V-Bomb (Lightning) working
  • Wildcard behavior working
  • Paint Bombs seem to be working
  • Added small sfx here and there
  • Added explosion animation for cleared rows and H-Bomb.
  • Changing available balls based on "difficulty" - TBD what that actually means though.
  • Title screen placeholder, Info Screen, and Gameover Screen + Logic.

Next Steps

  • Fix Clone Ball logic
  • Fix scoring - right now its just nonsense placeholder numbers
  • Fix graphic glitch/issue with balls falling into left most basin
  • Source background music
  • Wildcard ball may trigger line clear on 2 unique colors. Saw that occasionally but am having trouble replicating that bug.


Design Doc

Current status of the design document is a little hairy, but it works for my own note taking. Some highlights:

Sprites

Sprite

Type

Description

1–4

Color Balls

Red, Blue, Yellow, Green (in order)

5

Clone Ball

Copies effect or color of a nearby ball

8

Vertical Bomb

Clears column

17

Horizontal Bomb

Clears row

16

Wildcard

Matches any ball

11–14

Paint Bombs

Converts nearby balls to its color (in order above)

21–24

Left Balls

Rolls to the left basin

31–34

Right Balls

Rolls to the right basin

I tried to keep it so that sprites 1-4 in the one's column corresponded to the ball colors in order, so 01 is a red ball, 11 is a red paint bomb, 21 is a left red ball, and 31 is a right red ball. It helped a little bit with simplifying some functions.


Modes

  • Baby mode – one color only. Mostly used for debugging.
  • Easy Mode – two colors
  • Hard mode – 3 colors
  • Nightmare Mode – 4 colors
  • Insanity – no power ups.

Accomplishing this by having a ball_pool{} array which will just list all the various sprites. When initialized it draws from the list of available balls based on what mode is selected, preserving a ratio of regular balls to special balls (need to tweak that a little still methinks - as the special balls are still fairly common at ~30% frequency.)

Leave a comment

Log in with itch.io to leave a comment.