diff --git a/design/arcade/arcade_bedlam.png b/design/arcade/arcade_bedlam.png index b5e3e74..0ca2a68 100644 Binary files a/design/arcade/arcade_bedlam.png and b/design/arcade/arcade_bedlam.png differ diff --git a/design/arcade/arcade_bedlam.svg b/design/arcade/arcade_bedlam.svg index 6624a05..5f81315 100644 --- a/design/arcade/arcade_bedlam.svg +++ b/design/arcade/arcade_bedlam.svg @@ -1 +1 @@ -ORBITHIVEBEDLAMSCORE12,450WAVE7NEXTBEST48,200◄► AimOK FireBack Pause \ No newline at end of file +ORBITHIVEBEDLAMSCORE12,450WAVE7NEXTBEST48,200◄► AimOK FireBack Pause \ No newline at end of file diff --git a/design/arcade/arcade_menu.png b/design/arcade/arcade_menu.png index e3a6ae0..bba8e0c 100644 Binary files a/design/arcade/arcade_menu.png and b/design/arcade/arcade_menu.png differ diff --git a/design/arcade/arcade_menu.svg b/design/arcade/arcade_menu.svg index 65d71f0..3c338b2 100644 --- a/design/arcade/arcade_menu.svg +++ b/design/arcade/arcade_menu.svg @@ -1 +1 @@ -ORBITARCADEORBITHIVEBEDLAMOrbitHiveBedlamSnakeBlock DropBrick BreakPairsPatienceMore soonMore soonBest score48,200Wave 12OK Play◄►▲▼ Choose a gameBack Leave the arcade \ No newline at end of file +ORBITARCADEORBITHIVEBEDLAMOrbitHiveBedlamSnakeBlock DropBrick BreakPairsPatienceMore soonMore soonBest score48,200Wave 12OK Play◄►▲▼ Choose a gameBack Leave the arcade \ No newline at end of file diff --git a/design/arcade/build-arcade.py b/design/arcade/build-arcade.py index 613964c..c4fac36 100644 --- a/design/arcade/build-arcade.py +++ b/design/arcade/build-arcade.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 """Orbit Arcade: logo, games menu and an OrbitHive Bedlam play screen, as design proofs. Original artwork; nothing here is in the app. -The game list beyond Bedlam and Snake is a suggestion, and scores are placeholders.""" +Paul approved this game list on 2 November 2026: small games only, to keep the app small. Scores are placeholders.""" import math, random, subprocess from pathlib import Path HERE = Path(__file__).parent @@ -78,7 +78,7 @@ for j in range(5): for i in range(9 - (j % 2)): if (j == 4 and i % 3 == 1): continue arena += piece(150 + i * 92 + (j % 2) * 46, 300 + j * 80, 50, rnd.choice(PIECES)) -write('arcade_menu', 1920, 1080, '' + comb(1920, 1080) + stars(1920, 1080) + mark(30, 2, .23) + text(176, 76, 'ORBIT', 25, '#F5F7FF', 'Barlow', 'font-weight="600" letter-spacing="9"') + text(174, 130, 'ARCADE', 56, 'url(#honey)', 'Anton', 'letter-spacing="2"') + +write('arcade_menu', 1920, 1080, '' + comb(1920, 1080) + stars(1920, 1080) + mark(30, 24, .23) + text(176, 76, 'ORBIT', 25, '#F5F7FF', 'Barlow', 'font-weight="600" letter-spacing="9"') + text(174, 130, 'ARCADE', 56, 'url(#honey)', 'Anton', 'letter-spacing="2"') + '' + stars(1100, 900, 70, 11) + '' + arena + bee(190, 760, 1.2) + '' + '' + text(380, 742, 'ORBITHIVE', 30, '#F5F7FF', 'Barlow', 'font-weight="600" letter-spacing="10"') + text(376, 842, 'BEDLAM', 104, 'url(#honey)', 'Anton', 'letter-spacing="3"') + tiles + text(48, 978, 'Best score', 26, '#AEBBD2') + text(190, 978, '48,200', 30, '#FFFFFF', 'Barlow', 'font-weight="600"') + text(320, 978, 'Wave 12', 26, '#AEBBD2') + text(48, 1038, 'OK Play', 26, '#AEBBD2') + text(190, 1038, '◄►▲▼ Choose a game', 26, '#AEBBD2') + text(480, 1038, 'Back Leave the arcade', 26, '#AEBBD2')) @@ -93,7 +93,7 @@ for j in range(7): aim = ''.join(f'' for k in range(1, 7)) write('arcade_bedlam', 1920, 1080, '' + stars(1920, 1080, 130) + '' + '' + hive_pieces + aim + piece(960, 930, 58, '#3FC1FF') + '' + - mark(40, 16, .2) + text(160, 72, 'ORBITHIVE', 22, '#F5F7FF', 'Barlow', 'font-weight="600" letter-spacing="7"') + text(158, 134, 'BEDLAM', 62, 'url(#honey)', 'Anton', 'letter-spacing="2"') + + mark(40, 34, .2) + text(160, 72, 'ORBITHIVE', 22, '#F5F7FF', 'Barlow', 'font-weight="600" letter-spacing="7"') + text(158, 134, 'BEDLAM', 62, 'url(#honey)', 'Anton', 'letter-spacing="2"') + text(60, 250, 'SCORE', 26, '#AEBBD2', 'Barlow', 'font-weight="600" letter-spacing="4"') + text(60, 320, '12,450', 68, '#FFFFFF', 'Anton') + text(60, 410, 'WAVE', 26, '#AEBBD2', 'Barlow', 'font-weight="600" letter-spacing="4"') + text(60, 480, '7', 68, '#FFFFFF', 'Anton') + bee(210, 760, 1.5) + text(1540, 250, 'NEXT', 26, '#AEBBD2', 'Barlow', 'font-weight="600" letter-spacing="4"') + piece(1590, 320, 48, '#FF5A4F') + text(1540, 450, 'BEST', 26, '#AEBBD2', 'Barlow', 'font-weight="600" letter-spacing="4"') + text(1540, 520, '48,200', 56, '#FFFFFF', 'Anton') + text(1540, 640, '◄► Aim', 26, '#AEBBD2') + text(1540, 682, 'OK Fire', 26, '#AEBBD2') + text(1540, 724, 'Back Pause', 26, '#AEBBD2')) diff --git a/docs/roadmap.md b/docs/roadmap.md index 8371daf..5f9bf8e 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -95,6 +95,8 @@ Paul's ideas, 1 November 2026. Not fixes and not scheduled. - **Subtitles default (Paul, 1 November 2026):** a setting behind the gear for subtitles on or off by default, in the viewer's language where a programme has it. - **Orbit Drive-In name (Paul, 1 November 2026):** decided, replacing OrbitOffice. Event types inside it are Orbit Marquee, Orbit Double Bill, Orbit Triple Bill and The Late Show. The briefs and design/interface still show the old name. +- **Orbit Arcade (Paul, 2 November 2026):** the look in design/arcade is approved: logo, honeycomb menu and Bedlam screen. Games are OrbitHive Bedlam, Snake, Block Drop, Brick Break, Pairs and Patience. Small games only, so the app stays small: drawn in code with no game engine, and measured for size when built. Not scheduled. + ## Channel numbers Paul's direction, 1 November 2026: 101, 102 and 103 should become Orbit 1, Orbit 2 and Orbit Three. Today 102 is After Dark and 103 is Vortex, so they'll move when the generic channel list arrives, with a tested migration. Other numbers aren't mapped yet.