🎉 First prize in the Overall and Mobile category in JS13K 2022 edition! Play it here 🎉
You can read the post mortem here
Play it here
Music by Ryan Malm and Beethoven.
Sources and references:
-
Constructive Solid Geometry based on Binary Space Partition Trees:
- https://people.eecs.berkeley.edu/~jrs/274s19/bsptreefaq.html
- https://www.researchgate.net/publication/220721659_Set_operation_on_polyhedra_using_binary_space_partitioning_trees
- https://github.com/evanw/csg.js/ from which I got inspiration for the implementation used here
-
Cascaded shadowmaps, I use 2 levels for cascaded shadowmaps so the shadows are always rendered in the camera frustum
- implementation losely based on https://github.com/JoeyDeVries/LearnOpenGL/tree/master/src/8.guest/2021/2.csm
-
Soundbox music player http://sb.bitsnbites.eu/player-small.js
-
Roadroller, for compressing further the bundled javascript (it reduces approximately 2 kilobytes) https://github.com/lifthrasiir/roadroller