From 3792d61fdb369dc9426754e54e1864840e1f59e8 Mon Sep 17 00:00:00 2001 From: Jakub Zych Date: Sun, 26 Apr 2026 02:40:24 +0200 Subject: [PATCH] Game scene: HUD + camera frame + status bar with live OBS sync MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Streaming overlay for the Game scene. Reads the manifest written by loading.sh (game name, subtitle, mic state) and pulls live state from OBS WebSocket on the same connection that delivers music updates. - Top HUD: TRANSMISSION ID / SIGNAL bars / UTC clock — same vibe as Landing/Loading, sized smaller so it doesn't dominate the gameplay. - Camera frame (top-right, 480×270 with cyan corner ticks): decorative drop-target. The actual OBS camera source layers ON TOP; a centered placeholder (camcorder SVG + 'PLACE CAMERA HERE' + frame coordinates '2008, 100 · 480×270') shows during setup and gets covered when the camera source is positioned. Configurable via URL params: ?camera=Webcam&scene=Game. - Status bar (bottom): solid gradient + cyan top edge so it reads on any gameplay background. Two lines: LIVE · GAME · SUBTITLE elapsed timer · mic state · now-playing track - Live camera-frame sync: queries GetSceneItemEnabled on connect and subscribes to SceneItemEnableStateChanged, so toggling the camera's eye-icon in OBS hides/shows the frame within ~50ms — overrides the manifest's static value. - Music sync: shares the same WS connection; now-playing line updates from mpd:state broadcasts. - CRT overlays kept lighter than Landing (gameplay must remain readable). --- game/index.html | 433 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 433 insertions(+) create mode 100644 game/index.html diff --git a/game/index.html b/game/index.html new file mode 100644 index 0000000..56bd74b --- /dev/null +++ b/game/index.html @@ -0,0 +1,433 @@ + + + + +OPHI-118 / GAME + + + + +
+
+ TRANSMISSION + OPHI-118 // LIVE +
+
+ SIGNAL + ▮▮▮▯▯ +
+
+ UTC + --:--:-- +
+
+ +
+ + + + + CAM 01 +
+ + + + + + — PLACE CAMERA HERE — + 2008, 100 · 480 × 270 +
+
+ + + + +
+ + + + + + + + +