Raycasting 3D render with directional animation sprites

An extension for Makecode Arcade, render a tilemap to 2.5D view, with directional animations of sprites, and minimap, based on @mmoskal 's 3d map.

Tested on my Meobit (STM32F4) about 25~30 fps (I have no SAMD51 device, tell me if you tested)

I am wondering how to define interface for codes&block better, and what can do to optimize perform further, looking forward for your suggestions.

features:

  • Simply interface
  • Directional multi sprites with animation, see animation.ts
  • Auto direction/animate calculate, any count
  • Predefined animations(hero, princess, skelly, …), or define yours as Image[][]
  • Manipulate sprite in your own main code, no need update to engine
  • Mimimap

todo:

  • collide & events
  • enclose into blocks

known issues:

  • sprite isn’t drawn when it’s center not inside screen, will fix later
  • sprite floating when reducing height rate, will fix later

Open this project at https://aqeeaqee.github.io/pxt-raycasting/

6 Likes

This is Awesome

this is so cool - once this has a tutorial then i would love to use it

Tutorial, yes I will do.
But it would be the last one in my TODO list, cause I’m working on a whole new edtion of this, which is compatible Arcade existing blocks as much as possible.

1 Like

BTW, known issues have been fixed

Try it at https://aqeeaqee.github.io/pxt-raycasting/

known issues:

  • [fixed] sprite isn’t drawn when it’s center not inside screen
  • [fixed] sprite floating when reducing height rate
1 Like