Shader Jam Organisation
There is no one receipt for all and you should use the tools that answer your needs and ease your workflow.
Nevertheless here is the way we usually do for Shader Jam / Shader Royale, used in Revision since 2022.
Summary
The setup is based on the Bonzomatic_(Network_Fork) . The idea is any participant will be SENDER and send the code to the websocket server and one person will be the GRABBER that will receive all participants shader and VJ them on one computer.
https://scrapbox.io/files/69e9bdf9fc4464f697c3d14e.png
Preparation
Communication
It's not essential but it's good to prepare the jam with some prio communication to the participants so that they can prepare their setup and streamline the shader jam.
Here is a template text https://gist.github.com/totetmatt/cec02aa52008a109340dd70ad4a79fdc
Try to communicate the date and time at least with the City of Reference so that oversea participant could easily looks for their local time.
Using tools like https://hammertime.cyou/en on discord to adapt the time based on the user is also appreciated.
Texture Pack (Optional)
If you wish to use extra textures, you need to build a texture pack.
The minimal requierment, would be just a zip of textures that participants would need to install on their bonzomatic instance and that the jam host would need to also install on its bonzomatic instance.
A nice way to organise the texture pack is to have the same structure as on bonzomatic textures/tex1.png and add a little extra json file that show what needs to be added.
Host Setup
Hardware
For the moment, only Windows based computer has been tested for this organisation.
Laptop or Desktop doesn't really matter as long as it has a dedicated GPU.
Bonzomatic
The current bonzomatic version mostly used for Jam is https://github.com/wrightwriter/Bonzomatic-Compute
Download Release Zip
Unzip it somewhere
If you are on a laptop, make sure Bonzomatic.exe is registered to use the dedicated GPU. You can usually do this via the Nvidia Control Panel.
Installing Textures (Optional)
In ./textures/ directory, drop all extra texture files
Then on ./config.json edit the textures key as such
code:config.json
"textures": {
"texChecker": "textures/checker.png",
"texNoise": "textures/noise.png",
"texTex1": "textures/tex1.jpg",
"texTex2": "textures/tex2.jpg",
"texTex3": "textures/tex3.jpg",
"texTex4": "textures/tex4.jpg",
"texExtraTexture": "textures/extraTexture1.png",
{UPDATED TEXTURE LIST}
},
Bonzomatic Launcher
https://github.com/TheNuSan/Bonzomatic/releases/download/v13/Extra_Launcher_08.zip
This is an extra application that will allow you to control all the participants shader.
Download the Release Zip
Unzip inside the root of the bonzomatic instance
https://scrapbox.io/files/69e9bec8fc4464f697c3d38e.png
The configuration is in launcher.json , open it and edit it to change behaviour of the launcher. Important settings are :
bonzo.exename Ensure the name of the executable is the same for bonzomatic in your directory
network.serverUrl: Needs to be configurded to point to a bonzomatic network room like: ws:\/\/drone.alkama.com:9000\/your_room_name\/