Skip to content

Repository files navigation

🃏 MiniCard

MiniCard is a retro, GBA-inspired poker roguelike game built for the Celo / MiniPay ecosystem. Inspired by games like Balatro, it blends classic poker hand evaluation with powerful collectible Jokers, a quick timed-level progression system, and a decentralized blockchain leaderboard.


🚀 Play & Save Scores on Celo

MiniCard is designed to run seamlessly inside mobile wallets like MiniPay or standard Web3 browsers.


✨ Features

  • Poker Roguelike Progression: Draw, discard, and play poker hands to score chips and multipliers to beat the target blind score.
  • Collectible Jokers: Buy, sell, and equip Jokers in the Shop to customize your multiplier builds. Features retro metallic, iridescent, and shiny rarity effects.
  • Dynamic WebGL Shaders: A premium, smooth liquid shader background that adapts its color palette and speed dynamically (Amethyst Violet for Small Blinds, Amber Gold for Big Blinds, Electric Teal for Boss Blinds, and Forest Green for the Shop).
  • Arcade Timer Mode: Starting from Round 2, a floating countdown timer widget pops out in the top-right corner to add excitement and rush the player, pulsing hot-pink when time is running low.
  • Blockchain Leaderboards: Save your high scores directly onto Celo. Register a username and secure your spot on the top ten global ledger!

🛠️ Tech Stack

  • Frontend: Next.js (React), Tailwind CSS, TypeScript, HTML5 Canvas / WebGL.
  • Web3 Integration: Ethers.js, Celo network connector, MiniPay API detection.
  • Smart Contracts: Solidity, Hardhat development framework.

📁 Repository Structure

├── apps/
│   └── web/                   # Next.js web application (game UI, canvas, state logic)
│       ├── public/            # Static pixel art assets & sprite sheets
│       └── src/
│           ├── app/           # App router, page layouts, and global styles
│           ├── components/    # Reusable React components (Shop, RunInfo, GbaBackground)
│           └── lib/           # Game logic, poker hand evaluator, Web3 Celo helper utilities
└── contracts/                 # Hardhat project with Ethereum/Solidity smart contracts
    ├── contracts/             # Solidity files (MiniCardLeaderboard.sol)
    └── scripts/               # Hardhat deployment and verification scripts

💻 Local Development

1. Prerequisite

Ensure you have Node.js (v18+) and pnpm installed.

2. Installation

Install workspace dependencies:

pnpm install

3. Run the Game

Start the local development server for the Next.js frontend:

pnpm --filter web dev
# or from root:
pnpm dev

The game will be available at http://localhost:3000.

4. Smart Contracts (Optional)

To test or deploy contracts:

cd contracts
# Compile contracts
npx hardhat compile
# Run contract tests
npx hardhat test

📄 License

This project is licensed under the MIT License.

About

Retro GBA-inspired poker roguelike for Celo & MiniPay with on-chain leaderboard, Jokers & WebGL shaders.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages