To get started, clone or download & unzip this repo onto your computer in a place that OBS Studio or your broadcasting software of choice can access local HTML files.
- This guide assumes that you know how to add and place your own game capture, camera, and audio sources. If you have trouble with any of this, contact Elias and he will walk you through it.
- In your Profile video settings, make sure that your canvas resolution is set to 1920x1080.
-
Create a new scene. Call it
Host View
. -
Add a new Browser source to your new scene. Name it
Global Overlay
. -
Set the following properties:
- URL
file://C:/path/to/the/downloaded/files/global.html
- Width
1920
- Height
1080
- FPS
30
- Make sure Custom CSS is empty.
-
Click the lock icon next to the source to ensure it is not accidentally moved.
-
Add a new Browser source below
Global Overlay
. Name itHost Overlay
. -
Set the following properties:
- URL
file://C:/path/to/the/downloaded/files/layout.html?layout=host
- Width
1920
- Height
1080
- FPS
30
- Custom CSS
#game-title::after { content: 'MHQthon 2022'; }
#next-game::after { content: '<Next Game in Schedule>'; }
- Add and position your camera and audio sources under the Overlays.
For each game your location is streaming, do the following steps:
-
Create a new scene. Call it
<Game Name> View
. -
Add the
Global Overlay
to your scene. Click the lock icon next to the source to ensure it is not accidentally moved. -
Add a new Browser source below
Global Overlay
. Name it<Game Name> Overlay
. -
Set the following properties:
- URL
file://C:/path/to/the/downloaded/files/layout.html?layout=<Layout Name>
- Width
1920
- Height
1080
- FPS
30
- Custom CSS
#game-title::after { content: '<Game Name>'; }
#next-game::after { content: '<Next Game in Schedule>'; }
#host-one::after { content: '<Player Name>'; }
- Add and position your game capture, camera, and audio sources under the Overlays.
-
Create a new scene. Call it
Stand By View
. -
Add the
Global Overlay
to your scene. Click the lock icon next to the source to ensure it is not accidentally moved. -
Add a new Browser source below
Global Overlay
. Name itStand By Overlay
. -
Set the following properties:
- URL
file://C:/path/to/the/downloaded/files/layout.html
- Width
1920
- Height
1080
- FPS
30
- Custom CSS
#game-title::after { content: 'MHQthon 2022'; }
#next-game::after { content: '<Next Game in Schedule>'; }
#stand-by-title::after { content: 'Returning Shortly'; }
- Add your desktop audio source and a source for Metroid music looping playback of your choice.
-
Create a new scene. Call it
Countdown View
. -
Add the
Global Overlay
to your scene. Click the lock icon next to the source to ensure it is not accidentally moved. -
Add a new Browser source below
Global Overlay
. Name itStand By Overlay
. -
Set the following properties:
- URL
file://C:/path/to/the/downloaded/files/layout.html?countdown&nocomms
- Width
1920
- Height
1080
- FPS
30
- Custom CSS
#game-title::after { content: 'MHQthon 2022';}
#next-game::after { content: '<First Game of the Broadcast>';}
- Add your desktop audio source and a source for Metroid music looping playback of your choice.
-
Create a new scene. Call it
Ending View
. -
Add the
Global Overlay
to your scene. Click the lock icon next to the source to ensure it is not accidentally moved. -
Add a new Browser source below
Global Overlay
. Name itEnding Overlay
. -
Set the following properties:
- URL
file://C:/path/to/the/downloaded/files/layout.html?nocomms&nonext
- Width
1920
- Height
1080
- FPS
30
- Custom CSS
#game-title::after { content: 'MHQthon 2022'; }
#stand-by-title::after { content: 'See You Next Year!'; }
- Add your desktop audio source and a source for Metroid music looping playback of your choice.
- Valid Layout Names are
host
,nes
,nesrace2p
,snes
,snesrace2p
,snesrando
,fullscreen
,fullscreenrace2p
,fullscreenrando
,fullscreenrandorace2p
,fullscreenrandorace3p
,fullscreenrandorace4p
,widescreen
,widescreenrace2p
,widescreenrando
,gb
,gbrace2p
,gba
,gbarace2p
,gbarando
,gbarandorace2p
,gbarandorace3p
,ds
,dsrace2p
,dstall
,dstallrace2p
,3ds
, &3dsrace2p
.- If you provide an invalid Layout Name, it should be immediately evident in the rendering of the layout.
- If you are the last game on the schedule, set the
#next-game
line of CSS toNothing
or the met incentive game goal. - For some of the older consoles like NES or SNES, you may have to skew the game capture, as the fullscreen output of the game is not the native resolution of the console.