Phaser and three.js. The player’s movement was a skeleton rig in Blender, but it’s populated by cubes rather than weighted joints.