When I was growing up and getting into programming, so-called “mod” (modification) development was of great interest. Mods allow you to take a fully-realised environment, concept and experience and bend it to your will – adding new features, tweaking gameplay, breaking and re-making things for fun.
I remember cracking open the original Quake source code and modifying it to support 3D red/blue anaglyph rendering, and hooking up a “rear-view mirror” feature, and making some custom levels with my brother. Quake 2 came around and let you drop in a DLL with custom commands, effects, behaviors and weapons. Tinkering is fun!
As I mentioned, Beat Saber will be the central element of the demo. Beat Saber is built using Unity, a leading game engine on top of which many titles are created. It uses C#, a managed language and one that is relatively straightforward to reverse-engineer. And so, despite the game having no official support for mods, the modding community sliced open its innards, and built an entire ecosystem of mods to add features like custom songs, sabers and environments, various integrations. In turn this has allowed them to build a competitive scoring community, which has helped build the player base and keep them slashing away.
I’ll be using the BSIPA modding framework to write custom code, to hook into various events within Beat Saber to have the demo fully integrated.