Repo for research and possible reimplementation of Mario Party minigame Mario's Puzzle Party
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

2.4 KiB

BASICS

  • Controls:

    • Move held object left and right
    • Soft drop
    • Hard drop
    • Flip held domino
  • 4x10 matrix

    • Implemented as 4x20, pieces can be 1/2 tall and offset vertically by 1/2
    • Visually shown as 4x10 with half blocks, and game mechanics are defined that way
  • Next queue: 1 long

  • Piece generation shared between players; all get same queue

PIECE BEHAVIOUR

  • Pieces are 2-colour vertical dominos and occasional 2x2 thwomps

  • All domino colours:

    • White
    • Purple
    • Blue
    • Yellow
    • Pink
    • Green
  • Dominos can be flipped but not rotated

  • When two or more blocks that share a colour are touching, clear them

    • Gravity applies in immediately, combos are possible

PIECE GENERATION

  • Pieces appear fully inside the matrix

  • Spawn location priority:

    • Column 2, unless top 2 cells are not empty
    • Column 3, unless top 2 cells are not empty
    • Column 1, unless top 2 cells are not empty
    • Column 4, unless top 2 cells are not empty
    • Top out
  • Presumably, thwomp could cause top out if column 1+3 or 2+4 do not have 2 empty cells? TODO research exact conditions

    • Game skips thwomp if it would cause a top out. Is it possible to have a board that could fit thwomp when it's generated for next queue, then block it with current piece?

THWOMP BEHAVIOUR

  • When placed, starts crushing columns it landed on to 1/2 size

  • Block clears not checked until after thwomp is finished crushing

  • Crush procedure algorithm: (TODO there must be a better way to explain this)

    • For both halves of the thwomp:
      • If that half of thwomp is touching the stack below it:
        • If that column is fully squished (all blocks are 1/2 size):
          • Thwomp disappears, end of algorithm
    • For both halves of the thwomp:
      • If that half of thwomp is touching the stack below it:
        • Find lowest unsquished block in that column
        • That block becomes 1/2 size
        • All blocks above it fall by 1/2 cell
        • If other half of thwomp is not touching stack:
          • Thwomp falls by 1/2
    • Jump to top of algorithm

GARBAGE BEHAVIOUR

  • Garbage (brick) 1x1 blocks sent by attacks

    • Sent between pieces from queue
  • Cleared if a non-garbage block touching it is cleared

SCORING

  • TODO research

GARBAGE ATTACKS

  • TODO research