Block Trouble published!

Some time ago I stumbled on the fabulous Classic Tetris World Championship videos on YouTube and started binge watching the masters beat the heck out of good old NES Tetris. These awesome videos reinvigorated my dormant Tetris itch and started this whole thing.

I'm no stranger to Tetris and can claim a small bit of Tetris history on YouTube already creating the Scopetris video some 10 years ago where I play my own gravity enabled raytraced tetris game on an oscilloscope.

So, I jumped into playing NES Tetris again and was honestly ashamed at my stacking skills. Maybe it was because the last Tetris game I really played was Quadra which is a very non standard Tetris with gravity and chain reactions leading to radically different stacking strategies.

So, as I was brushing up on my classic Tetris stacking skills, I realized it would be awesome if there was a game out there with:

  1. A way to undo a couple of piece drops whenever making a stacking goof-up. I believe it's very useful to retry whatever mistake you make to get it right when practicing a new skill.

  2. A way to turn up the RNG evilness. Why not have an intentionally evil shape selector algorithm, to really challenge the stacking skills?

Block Trouble

As a result, Block Trouble was born. Play it here, it's free!

The game runs entirely in the browser and I wrote it in plain JavaScript without any frameworks or libraries. It does need a reasonably modern browser to run well, though. I recommend Chrome or Firefox.


  • The game has a couple of different modes with various difficulty and characteristics. Block Trouble is the signature mode which will provide a real challenge as the next piece will be chosen to thwart most stacking plans. See how long you can survive!
  • The ability to fully customize the game. All parameters can be adjusted including even the playfield size
  • Customization of controls
  • A special key repeat (DAS) implementation, independant of OS key repeat. The latency and repeat frequency is customizable.
  • No touch screen support. Connecting a bluetooth keyboard or a real game controller to a mobile device should work though.
  • Undo support. Up to 20 piece placements can be undoed. This will drasticly reduce the ranking in the Highscore table, though.
  • Random generator seeding. The RNG seed can be specified to recreate a certain random generator sequence used for shape selection.
  • Highscores, game customization, controls setup and defaults are stored in a local browser cookie.

The tuneable shape selector

The next shape selection algorithm can be skewed in the direction of choosing helpful or challenging pieces considering the state of the playfield. There is a brief description of the algorithm on the Block Trouble About page.

The algorithm also includes ways to limit repetition of the same shape, reducing unequal shape frequencies and drought limiting. These features become necessary when turning up the RNG evilness to avoid mindless repetition of the same shapes over and over again.

I hope you enjoyed this content!

ko-fi donate


Comments powered by Talkyard