Arcade TileWorld extension and demo Boulder game

I’ve been working on an Arcade extension for making tile-based games: https://github.com/tballmsft/pxt-tileworld

Here’s a first game that uses the TileWorld extension: https://github.com/tballmsft/pxt-bouldergame. Currently, the game only works in beta. To load it directly into your editor in beta: https://arcade.makecode.com/beta#pub:https://github.com/tballmsft/pxt-bouldergame

Game goal: collect all the diamonds. Don’t let a rock fall on you or the skull get you! Kill the skull by pushing a rock so that it falls onto the skull. More features/levels to come shortly.

Comments and suggestions welcome.

– Tom

4 Likes

FYI, @darzu had mentioned your game in the thread about Boulders and Gems (work in progress) thread, however I was unable getting it working. The “load it directly into your editor” link shows ~200 errors, apparently there’s an incompatibility related to the TileWorld extension.

When I tried to explicitly install the extension by searching for https://github.com/tballmsft/pxt-tileworld I get this somewhat confusing message: Extension pxt-tileworld is incompatible with pxt-tileworld. Remove pxt-tileworld and add pxt-tileworld? If I continue, the errors go away, but the simulator doesn’t start, it just shows a spinner.

Tom’s TileWorld has morphed into a new project called TileCode: https://microsoft.github.io/tilecode/

I’m not sure where the latest Boulder Dash version is however. @tballmsft?

I think it’s this one:

Then you’ll need to hit the “Play” button:

Yes, the implementation is in slot #5.

If you want to work with the TileCode github repo (rather than just the game simulator at https://aka.ms/tilecode) then import https://github.com/microsoft/tilecode into MakeCode Arcade from the home page at https://arcade.makecode.com/

Nice, the animated updates look great. My variant just updates the positions in tile-sized jumps, and that makes it a bit difficult for new players to figure out the rules for rock movement.

Thanks. you could look at how I implement TileSprite in the file vm.ts to get an idea for how to animate. It really helps to have smooth motion from tile-to-tile.