Skip to content

[Roadmap] Rotate mechanic (Shop item) #15

@Otaiki1

Description

@Otaiki1

Overview

Piece rotation is a purchasable power-up sold in the Shop — not a free baseline mechanic. Players who own a Rotate Pass can rotate any tray piece 90° before placing it. Non-pass holders never see the rotate affordance.

Status: Post-MiniPay launch roadmap. Depends on Shop issue #13.

Acquisition

Pass Price Duration
Single-game Rotate Pass $0.01 USDT One game session
Weekly Rotate Pass $0.25 USDT Full current epoch
Lottery Spin drop Free Single game

UX Flow (pass holder only)

  1. Pass active → ROTATE ACTIVE badge appears in game chrome
  2. Player taps a tray piece → selected (existing lime highlight)
  3. Player taps selected piece again → rotates 90° clockwise with spin animation
  4. Each additional tap rotates another 90° (max 3 taps = 270°; 4th tap returns to original)
  5. Arc-arrow indicator on the slot signals rotation is available
  6. Placed piece uses its rotated cell layout

Technical Notes

  • Rotation is a client-side transform of the cells array: [r, c] → [c, maxRow - r]
  • MoveRecord gains a rotation: 0 | 1 | 2 | 3 field for on-chain replay
  • ShapeDefinition gains rotations: [number, number][][] pre-computing all 4 orientations
  • Rotationally symmetric shapes (2×2 square, straight lines, single cell) show no indicator — system detects symmetry at definition time
  • Pass ownership verified locally from shop purchase record — no mid-game on-chain check

Shop Placement

Listed under Consumables in the Shop alongside Extra Revivals and Score Boost Potions.

Contract change required: Yes (packed move encoding must include rotation bits)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions