Microsoft MakeCode

GemCrush and "Sprite Grid" extension beta

Hello world,

I tried to make a Bejeweled-like game in blocks and found it very difficult, so I created a “sprite grid” extension that can track sprites on a grid.

The extension is here (early beta):

And the game is here:

Grid extension blocks:



This sound very helpful. Could you group the blocks maybe? It’d be great to see a minimalistic example.

1 Like

Here’s a much simpler example:

Directions to move
Hit A to swap the sprites
Hit B to call our current coordinates

And now with better categories:

(blocks image update above)

Some TODOs:

  • Doesn’t work with multiple sprites per location yet
  • Requires a tilemap to be present (although this might be a good thing)
  • Can get out of sync with real locations, e.g. if a sprite moves via velocity (which is actually done intentionally in GemCrush above and works well if used in combination with “snap”. But it could be confusing)

The game is amazing. Period.

Only problems are that the gems occasionally don’t move down.

But still.


1 Like


If you see the problem again and notice anything weird that might have caused it, let me know!
I think it probably has to do with the speed of simulation and large physics updates happening between events firing sometimes. Or just a logic bug on my side.

@darzu it also happened to me

1 Like

Thanks, I got a repro now as well. I’ll look over the code when I get a chance

Awesome game! I hope to see puyo puyo next. My personal favorite arcade game of all time.

1 Like

Thanks! Nice! Seems kind of like multiplayer tetris?

A modern game that seems similar is “Tricky Towers”

It’s sorta like if tetris met street fighter. For a long time I had a TV in my apartment dedicated to nothing but puyo puyo


Haha well it sounds like we need an arcade cabinet dedicated to puyo puyo in the team room!

Oh yes for sure

I think you should add some sound to your amazing game :slight_smile:

1 Like

Hey, does this work with an 8 × 8 tilemap? (Not the color-coded extension one, using the regular tilemap APIs)

Great question. I haven’t tested it with 8x8 (since it’s basically impossible right now to use 8x8 in blocks), but in theory it should work. Likely there’s a bug or two that would need to be fixed.

Oh, and I forgot to say that I’ve been using it with an 8x8 tilemap and it works like a charm!


This looks very promising, but unfortunately the examples aren’t loading for me. I get A namespace declaration cannot be in a different file from a class or function with which it is merged errors in the JS console. Does it need to be updated?

Yes sorry about that, we have a bug that we’re trying to fix shortly.

If you click “Edit Code” it should open okay