๐ฎ A curated list of Block Puzzle games, solvers, AI agents, tools, and research resources
Block Puzzle represents a family of strategic grid-based placement games where players position polyomino shapes on fixed grids (8ร8, 9ร9, or 10ร10) to clear complete rows and columns. Unlike real-time falling block games (Tetris), Block Puzzle emphasizes spatial planning, pattern recognition, and strategic thinking in a turn-based environment.
This list brings together the fragmented Block Puzzle ecosystemโspanning game implementations, AI solvers, algorithmic research, and development toolsโinto a single comprehensive resource. Whether you're building a game, researching algorithms, or training AI agents, you'll find high-quality resources organized by category.
What makes this different from Tetris? While Tetris features real-time falling blocks with row-only clearing, Block Puzzle games offer free placement anywhere on a static grid with both row AND column clearing. This fundamental difference creates unique algorithmic challenges and strategic depth.
Contributions are welcome! Help grow this collection by submitting PRs. See contributing guidelines.
- About
- Understanding Block Puzzle
- Online Platforms
- Game Implementations
- AI & Solvers
- Core Algorithms
- Related Puzzle Types
- Development Tools
- Learning Resources
- Community
- Related Awesome Lists
| Variant | Grid | Special Rules | Primary Challenge |
|---|---|---|---|
| Block Blast | 8ร8 | Combo scoring multiplier | Maximizing consecutive clears |
| 1010! | 10ร10 | Color-based scoring (optional) | Efficient space utilization |
| Woodoku | 9ร9 | 3ร3 Sudoku regions also clear | Balancing rows/columns/regions |
| Blockudoku | 9ร9 | Hybrid Sudoku mechanics | Multi-constraint optimization |
Core Gameplay:
- ๐ฏ Place polyomino shapes anywhere on a fixed grid
- โจ Complete rows OR columns are cleared (both count!)
- ๐ง Turn-based with no time pressure
- ๐ฎ Game ends when no valid placements remain
Strategic Elements:
- Planning multi-move sequences
- Corner and edge management
- Combo chain optimization
- Space efficiency vs. clearing opportunities
Comparison with Tetris:
| Feature | Block Puzzle | Tetris |
|---|---|---|
| Placement | Free positioning anywhere | Blocks fall from top only |
| Grid | Static board | Dynamic with row elimination |
| Clearing | Rows OR columns | Rows only |
| Timing | Turn-based, unlimited think time | Real-time with increasing speed |
| Primary Skill | Strategic planning & pattern recognition | Reflexes & rotation speed |
Play, train, or experiment with Block Puzzle games directly in your browser.
| Platform | Variant | Grid | Features | Offline | Source |
|---|---|---|---|---|---|
| Block Blast Training | Block Blast | 8ร8 | AI opponent, Solver, OCR, Replay | โ | GitHub |
| Blokie | Woodoku | 9ร9 | AI battle, 1.5M+ avg score | โ | GitHub |
| GaBlockSudoku | Block Sudoku | 9ร9 | Genetic algorithm demo | โ | GitHub |
| Polyomino Solver | Generic | Custom | Universal polyomino tiling | โ | GitHub |
| Calendar Puzzle Solver | Calendar | Custom | Daily puzzle solver | โ | GitHub |
-
โญ Block Blast Intelligent Training
PythonJavaScript- Revolutionary training platform featuring:- ๐ก๏ธ Four algorithms ensuring 100% solvable puzzles
- ๐ค AI analysis with game replay
- ๐ธ Perspective transform OCR (99.5% accuracy)
- ๐ Comprehensive strategy guides
- ๐ Multiple training modes
-
BlockBlast-Game-AI-Agent
Python- Complete reimplementation with:- Deep Q-Network (DQN)
- Proximal Policy Optimization (PPO)
- Action masking for valid moves
- Pygame interface
- OpenAI Gym environment
-
BlockBlastML
Python- PyTorch-based ML solver with neural network approach.
-
Klooni1010
Java- Professional Android game using libGDX:- Multiple themes
- No advertisements
- Offline play
- Open source
-
1010-rl
Python- Deep reinforcement learning agent for 1010! with documented training process. -
shanko/1010
Ruby- Ruby/Gosu implementation with color-based scoring. -
not1010
JavaScript- HTML5 Canvas version with smooth animations. -
tenbyten
JavaScript- Vanilla JS with server validation and global leaderboards. -
stephaniecoleman/1010
JavaScript- Object-oriented implementation demonstrating clean architecture. -
1212
JavaScript- Inspired by 1010! with unique mechanics variation. -
react-1010
React- Modern React-based clone with contemporary UI patterns. -
1010C
C#- Unity implementation using Entitas ECS framework for performance. -
Tiny-1010
C++- Embedded version for Arduboy handheld device. -
zx80/1010
Python- Efficient heuristic solver optimized for speed.
-
โญ Blokie
JavaScript- Advanced engine with AI achieving 1.5M+ average score. Play online. -
WoodokuAI
C++- High-performance AI with:- Multi-threaded search
- Android auto-play via ADB
- Configurable search depth
-
blockudoku
Python- PyGame implementation mixing Tetris and Sudoku concepts. -
gym-woodoku
Python- Gymnasium RL environment supporting:- Multiple game modes
- Custom reward functions
- Observation space variants
-
algofun
Python- BlockuDoku solver with ML-based strategies and logistic regression player. -
WoodokuSolver
Python- Clean Python solver implementation. -
woodoku-solver
Python- Alternative solving approach with detailed documentation. -
ember3141/woodoku-solver
JavaScript- Browser-based solver with interactive interface.
-
block-puzzle-solver
Java- Generic solver supporting arbitrary grid sizes and block shapes with optimization focus. -
block-puzzle-solver
Java- RESTful API for puzzle generation and solving with web interface. -
block-puzzle
JavaScript- Customizable JavaScript implementation. -
sliding-puzzle
JavaScript- ES6 sliding block puzzle with modern syntax. -
block-puzzle
JavaScript- Number ordering variant. -
Block-Game
Python- Terminal-based falling block puzzle with retro ASCII aesthetic. -
block-blitz
TypeScript- Modern Next.js implementation with TypeScript. -
block_party
JavaScript- 3D puzzle game built with Three.js.
-
BlockBlast-Game-AI-Agent
Python- Multiple RL algorithms (DQN, PPO) with action masking. -
1010-rl
Python- Deep RL specifically for 1010! game optimization. -
BlockBlastML
Python- PyTorch neural network approach. -
gym-woodoku
Python- Gymnasium environment enabling RL research on Woodoku. -
reinforcement_learning_jigsaw_puzzle
Python- RL approach to jigsaw-style placement puzzles.
-
Block Blast Training
Python- Four intelligent algorithms including heuristic path search. -
Blokie
JavaScript- Sophisticated heuristics achieving professional-level scores. -
WoodokuAI
C++- Multi-threaded search with configurable depth. -
zx80/1010
Python- Optimized heuristic solver for 1010!
-
Single-Player MCTS - Monte Carlo Tree Search algorithms optimized for single-player puzzle games:
- Combines random sampling with tree search
- Effective for large state spaces
- Used in puzzle generation and solving
-
MCTS Sokoban - Data-driven puzzle generation using MCTS for procedural content creation.
-
GaBlockSudoku
JavaScript- Genetic algorithm for Block Sudoku with live demo. -
tangram-ga
Python- Genetic algorithm for tangram (related puzzle category).
-
algofun
Python- Logistic regression player trained on board state evaluations. -
BlockBlastML
Python- Neural network approach with training pipeline.
Donald Knuth's Algorithm X with Dancing Links (DLX) represents the gold standard for exact cover problems, including polyomino tiling.
Foundational Implementations:
-
โญ cemulate/polyomino-solver
JavaScript- Comprehensive solver with interactive web interface. -
farhiongit/dancing-links
C- User-friendly C implementation with extensive documentation and examples. -
benfowler/dancing-links
Java- High-performance Java version with:- Ultra-fast Sudoku solver
- 3D tetramino examples
- Benchmarking suite
-
blynn/dlx
C- C library featuring Sudoku and logic grid puzzle solvers.
Language-Specific Implementations:
-
bluss/dlx
Rust- Idiomatic Rust implementation leveraging type safety. -
DancingLinksX
Python- Python 3 implementation with clear documentation. -
desmondcheongzx/dancing-links
Common Lisp- Lisp implementation with Sudoku solver demonstration. -
declanvk/dancing-links
Rust- Alternative Rust version with clean API design. -
razimantv/DancingLinks
C++- Solves games reducible to exact cover problems. -
sc546/dlx
Python- Implementation with Graphviz visualization capabilities.
-
calendar-polyomino-solver
JavaScript- Calendar puzzle solver using DLX. Interactive demo. -
SAT-based approaches - Convert tiling problems to Boolean satisfiability for alternative solving strategies.
-
pypolyomino
Python- Scripts for packing polyominoes into rectangular regions. -
meiji-choko-solver
Java- Solver for Meiji chocolate puzzles and general polyomino problems with GUI. -
fafaro/polyomino_solver
C#- Interactive solver with intuitive graphical interface. -
aaronsnoswell/polyomino-solver
Python/MATLAB- Multihedral tiling solver for complex patterns. -
polyomino-puzzle-solver
JavaScript- Web-based solver with visual editor.
Tangram puzzles share algorithmic challenges with block placement games.
-
Common-Lisp-Tangram-Solver
Common Lisp- Sophisticated solver with CLIM GUI. Featured in European Lisp Symposium '21. -
tangram_solver
Python- Computer vision-based solver reading tangrams from images. -
TangramAI
Python- Complete solution with built-in editor, solves most puzzles in seconds. -
TangramPuzzleSolver
JavaScript- Advanced solver using Dancing Links for 11 block types. Online tool. -
Artificial_Intelligence_Project1
Python- Academic project with 7-piece, 13-piece, and any-shape tangram solvers. -
tangram_python
Python- Clean implementation with GUI support. -
3d-tangram-solver
Python- 3D variant solver for hexagonal wooden puzzles. -
BlockPuzzleSolver
JavaScript- Monomino through pentomino solver with rotation/reflection support.
-
polyomino-solver
JavaScript- Universal polyomino fitting problem solver. -
pypolyomino
Python- Pentomino rectangle packing algorithms. -
meiji-choko-solver
Java- General polyomino puzzle framework. -
polyomino_solver
C#- Interactive placement and solution visualization.
-
block-puzzle-solver
C++- Solves 5ร5ร5 and 6ร6ร6 cube puzzles in under one second using minimal-vertex-cover approach. -
3d-tangram-solver
Python- Hexagonal 3D wooden puzzle solver.
-
Blokie
JavaScript- Reusable Woodoku game engine with clean API. -
BlockBlast-Game-AI-Agent
Python- OpenAI Gym environment for Block Blast research. -
gym-woodoku
Python- Gymnasium environment with multiple game modes. -
libGDX - Used by Klooni1010 for cross-platform game development.
-
Block Blast OCR
Python- Perspective transform OCR achieving 99.5% accuracy:- No machine learning dependencies
- Adaptive to screenshot angles
- User calibration system
-
tangram_solver
Python- Computer vision pipeline for tangram recognition.
-
Block Blast Training
Python- Five sophisticated generation algorithms:- Intelligent random generation
- Heuristic path search
- Reverse construction
- Path-dependency puzzles
- Hybrid with decoy traps
-
block-puzzle-solver
Java- RESTful API for puzzle generation.
-
sc546/dlx
Python- DLX solver with Graphviz visualization of search tree. -
polyomino-puzzle-solver
JavaScript- Web-based interactive visualizer. -
block-puzzle-solver
C++- 3D visualization using point clouds and layer printing.
-
Donald E. Knuth - "Dancing Links" (2000) - Seminal paper introducing Algorithm X and the Dancing Links technique.
-
Polyomino Tiling Complexity - The problem of tiling arbitrary grids with polyominoes is NP-Complete.
-
European Lisp Symposium '21 - Paper on geometric tiling in Common Lisp with constraint solving.
-
Block Blast Training Documentation - Comprehensive algorithm analysis and strategy guides.
-
Knuth's Algorithm X Explanation - Detailed mathematical foundation of exact cover solving.
-
polyomino-solver - Interactive learning tool demonstrating polyomino algorithms.
-
Artificial_Intelligence_Project1
Python- University AI course project with detailed educational documentation.
-
Various YouTube tutorials on block puzzle implementation (search "block puzzle javascript tutorial", "1010 game development")
-
Block Blast strategy guides and gameplay optimization
- GitHub Discussions - Most active projects host discussion boards:
This awesome list thrives on community contributions! We especially welcome:
โ
New game implementations in any programming language
โ
Novel solving algorithms and research
โ
Educational resources and tutorials
โ
Tools and libraries for puzzle generation/solving
โ
Research papers on complexity or AI approaches
โ
Community resources (Discord servers, forums, subreddits)
Before contributing:
- Read the contribution guidelines
- Ensure your project fits the scope (block/polyomino placement puzzles)
- Verify it's not already listed
- Choose the appropriate category
- Write a clear, concise description
- Test all links
-
Reddit:
- r/puzzles - General puzzle discussion including block puzzles
- r/gamedev - Game development including puzzle games
-
Discord Servers - Community servers welcome! (Submit via PR)
-
GitHub Issues - Use this repo's issue tracker for suggestions or questions
- awesome-algorithms - Algorithm implementations and resources
- awesome-gamedev - Comprehensive game development resources
- awesome-rust-gamedev - Rust game development ecosystem
- awesome-typescript - TypeScript resources for web development
- awesome-cpp - C++ libraries and frameworks
๐ Current Status (February 2026):
- Total Resources: 90+
- Categories: 15
- Programming Languages: Python, JavaScript, TypeScript, Java, C++, Rust, C#, Common Lisp, Ruby, Go
- Game Variants Covered: Block Blast (8ร8), 1010! (10ร10), Woodoku (9ร9), Blockudoku (9ร9), Generic/Custom
- Algorithm Types: Reinforcement Learning, Heuristic Search, Genetic Algorithms, Dancing Links, Exact Cover, SAT Solvers
To the extent possible under law, all contributors have waived all copyright and related rights to this work.
Maintained with โค๏ธ by the block puzzle community
Last updated: February 2026 ยท Submit corrections or additions