# Arcade TileWorld extension and demo Boulder game

**URL:** <https://forum.makecode.com/t/arcade-tileworld-extension-and-demo-boulder-game/659>\
**Category:** Arcade\
**Created:** [October 19, 2019, 11:24pm UTC](https://forum.makecode.com/t/arcade-tileworld-extension-and-demo-boulder-game/659 "2019-10-19T23:24:12Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![tballmsft](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/tballmsft/32/332_2.png) [@tballmsft](https://forum.makecode.com/u/tballmsft)\
**Post date:** [October 19, 2019, 11:24pm UTC](https://forum.makecode.com/t/arcade-tileworld-extension-and-demo-boulder-game/659/1 "2019-10-19T23:24:12Z")

</div>

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

Here’s a first game that uses the TileWorld extension: [https://github.com/tballmsft/pxt-bouldergame](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](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

---

<div class="post-metadata">

**Author:** ![tballmsft](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/tballmsft/32/332_2.png) [@tballmsft](https://forum.makecode.com/u/tballmsft)\
**Post date:** [October 19, 2019, 11:28pm UTC](https://forum.makecode.com/t/arcade-tileworld-extension-and-demo-boulder-game/659/2 "2019-10-19T23:28:53Z")

</div>



---

<div class="post-metadata">

**Author:** ![tballmsft](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/tballmsft/32/332_2.png) [@tballmsft](https://forum.makecode.com/u/tballmsft)\
**Post date:** [October 19, 2019, 11:54pm UTC](https://forum.makecode.com/t/arcade-tileworld-extension-and-demo-boulder-game/659/3 "2019-10-19T23:54:11Z")

</div>



---

<div class="post-metadata">

**Author:** ![kwx](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kwx/32/1545_2.png) [@kwx](https://forum.makecode.com/u/kwx)\
**Post date:** [September 10, 2020, 5:19pm UTC](https://forum.makecode.com/t/arcade-tileworld-extension-and-demo-boulder-game/659/7 "2020-09-10T17:19:59Z")

</div>

FYI, @darzu had mentioned your game in the thread about [Boulders and Gems (work in progress)](https://forum.makecode.com/t/boulders-and-gems-work-in-progress/3365/8) 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](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.

---

<div class="post-metadata">

**Author:** ![darzu](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/darzu/32/1882_2.png) [@darzu](https://forum.makecode.com/u/darzu)\
**Post date:** [September 10, 2020, 5:22pm UTC](https://forum.makecode.com/t/arcade-tileworld-extension-and-demo-boulder-game/659/8 "2020-09-10T17:22:44Z")

</div>

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

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

---

<div class="post-metadata">

**Author:** ![jacob\_c](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/jacob_c/32/1532_2.png) [@jacob\_c](https://forum.makecode.com/u/jacob_c)\
**Post date:** [September 10, 2020, 5:30pm UTC](https://forum.makecode.com/t/arcade-tileworld-extension-and-demo-boulder-game/659/9 "2020-09-10T17:30:37Z")

</div>

I think it’s this one:

 ![Screen Shot 2020-09-10 at 10.28.21 AM](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/2X/c/ce4e5d4bf30dc122ee3bf84ef35700c52798d9f0.png)

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

 ![Screen Shot 2020-09-10 at 10.30.04 AM](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/2X/b/b033233409f9d409195c88a24867c5ca088202f1.png)

---

<div class="post-metadata">

**Author:** ![tballmsft](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/tballmsft/32/332_2.png) [@tballmsft](https://forum.makecode.com/u/tballmsft)\
**Post date:** [September 10, 2020, 5:41pm UTC](https://forum.makecode.com/t/arcade-tileworld-extension-and-demo-boulder-game/659/10 "2020-09-10T17:41:29Z")

</div>

Yes, the implementation is in slot #5.

---

<div class="post-metadata">

**Author:** ![tballmsft](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/tballmsft/32/332_2.png) [@tballmsft](https://forum.makecode.com/u/tballmsft)\
**Post date:** [September 10, 2020, 5:42pm UTC](https://forum.makecode.com/t/arcade-tileworld-extension-and-demo-boulder-game/659/11 "2020-09-10T17:42:59Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![kwx](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kwx/32/1545_2.png) [@kwx](https://forum.makecode.com/u/kwx)\
**Post date:** [September 10, 2020, 6:11pm UTC](https://forum.makecode.com/t/arcade-tileworld-extension-and-demo-boulder-game/659/12 "2020-09-10T18:11:53Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![tballmsft](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/tballmsft/32/332_2.png) [@tballmsft](https://forum.makecode.com/u/tballmsft)\
**Post date:** [September 10, 2020, 6:24pm UTC](https://forum.makecode.com/t/arcade-tileworld-extension-and-demo-boulder-game/659/13 "2020-09-10T18:24:20Z")

</div>

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.
