Phase D+F: real MODELBEAST art for all 23 actors + icons, MC 8-TRACK announcer, 3-track ACE-Step soundtrack, emblem branding

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
type-two 2026-07-20 04:51:31 +10:00
parent 7bb6e649f7
commit 2362a04605
116 changed files with 142 additions and 3 deletions

View File

@ -195,6 +195,17 @@ faction, or it reads as clip-art soup. Fix the Blender camera rig once, reuse.
## 6. Known traps
Learned the hard way on 2026-07-20 (phases AF):
- **Smoke-test any change by launching straight into a game**: `./launch-game.sh Game.Mod=vinylgod Launch.Map=vinylgod``Launch.Map` accepts the map's *folder name*, no UID needed. Run ~45s, then check `~/Library/Application Support/OpenRA/Logs/` for `exception-*.log` (renamed with a timestamp on crash — absence of `exception.log` alone proves nothing).
- **The shellmap is the integration test**: it runs a bot-vs-bot match (BotA MRP vs BotB Stream, `Bot: wax` in map.yaml) behind the main menu. If a trait wiring is broken, the menu crashes within seconds.
- Chrome image collections must be **power-of-two** textures (a 48×48 png crashes the renderer).
- Every rules file must use the same case for shared top-level actors: `player:` not `Player:` — mismatched case = "duplicate values" manifest error.
- Speech notification `Sounds`/`Speech` blocks: set `DefaultVariant: .wav` (engine default is `.aud`).
- MODELBEAST `music_local` takes `prompt` (not `tags`); `tts_local` takes `text`.
- `ConquestVictoryConditions` needs `MapOptions:` on the world actor; `Health` needs `HitShape`; actors need a visibility trait (`HiddenUnderFog:`); `Selectable` already includes `Interactable` (don't add both).
- `StartingUnits.SupportActors` must be mobile units, never buildings.
- In zsh scripts: `UID` is a readonly shell variable, and an unmatched glob aborts the whole command line (`setopt nonomatch` first).
- **Forgot `DOTNET_ROLL_FORWARD=LatestMajor`** → "framework 6.0.0 not found" crash.
- Every actor referenced in a map/rules needs a sequences entry, even placeholders.
- Trait names change between engine releases — trust `engine/mods/ra` on THIS

View File

@ -8,3 +8,26 @@ All images generated locally on MODELBEAST (`flux_local`) via `tools/mbgen.py`.
| concepts/digger.png | 2026-07-20 | rusty junkyard forklift monster robot with crate claw carrying milk crates of black vinyl records, hot pink trim, CRT eye, 3/4 view, isometric game unit concept art, plain grey background |
| concepts/pressplant.png | 2026-07-20 | industrial hydraulic vinyl record pressing plant building, steam vents, conveyor belt of fresh records, rust and hot pink, isometric RTS building concept art, plain grey background |
| concepts/drmwalker.png | 2026-07-20 | glossy white faceless robot mech with single blue ring-light eye, chest is a glowing paywall screen, smooth rounded seamless design, isometric game unit concept art, plain grey background — *came out small/cute; reuse as `bufferbot`, re-prompt drmwalker with "towering, menacing, tall bipedal mech"* |
| renders/popupvan.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, small delivery truck covered in band stickers and a roof-mounted loudspeaker, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/popupshop.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, record store shack built from shipping containers with neon OPEN sign and crane arm, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/pressplant.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, industrial hydraulic vinyl record pressing plant building with steam vents and conveyor of records, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/ampstack.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, wall of stacked guitar amplifiers crackling with pink energy, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/vault.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, squat bunker with a huge round bank vault door and stacked record crates, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/merchtable.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, folding merch table under a small tent with t-shirts and records, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/garage.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, corrugated iron vehicle workshop with engine hoist and band posters, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/mastering.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, pristine acoustic-panelled recording studio grafted onto a junk tower with satellite dish, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/digger.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, forklift monster robot with crate claw carrying milk crates of vinyl records, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/spinner.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, small agile one-wheeled robot whose wheel is a spinning vinyl record with blade tonearms, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/stacktank.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, two-legged walker mech made of stacked speaker cabinets with subwoofer chest, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/basscannon.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, six-wheeled flatbed truck hauling one colossal subwoofer cannon with fold-out legs, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/djgrunt.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, small hooded robot with a portable turntable chest rig holding a razor-sharp record, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/roadie.png | 2026-07-20 | rusty junkyard robot aesthetic, rust metal with hot pink trim, analog dials and speaker parts, four-armed robot with gaffer tape bandoliers and a flight case backpack, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/streamvan.png | 2026-07-20 | glossy seamless white tech aesthetic, soft blue ring lights, smooth rounded minimal design, autonomous white delivery van with a glowing blue play-button logo, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/streamhub.png | 2026-07-20 | glossy seamless white tech aesthetic, soft blue ring lights, smooth rounded minimal design, white monolithic server hub building with one huge blue status ring, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/datacentre.png | 2026-07-20 | glossy seamless white tech aesthetic, soft blue ring lights, smooth rounded minimal design, humming white server monolith with a single blue LED strip, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/transcoder.png | 2026-07-20 | glossy seamless white tech aesthetic, soft blue ring lights, smooth rounded minimal design, white cube building that swallows records on a conveyor, receipts coming out, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/podfarm.png | 2026-07-20 | glossy seamless white tech aesthetic, soft blue ring lights, smooth rounded minimal design, vending machine wall dispensing small white sphere robots, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/printfarm.png | 2026-07-20 | glossy seamless white tech aesthetic, soft blue ring lights, smooth rounded minimal design, white 3d-printer factory building with robotic arms assembling drones, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/scraper.png | 2026-07-20 | glossy seamless white tech aesthetic, soft blue ring lights, smooth rounded minimal design, autonomous white street sweeper vehicle inhaling black vinyl through a glowing blue intake, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/bufferbot.png | 2026-07-20 | glossy seamless white tech aesthetic, soft blue ring lights, smooth rounded minimal design, knee-high white sphere robot with a loading spinner face, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |
| renders/drmwalker.png | 2026-07-20 | glossy seamless white tech aesthetic, soft blue ring lights, smooth rounded minimal design, tall faceless white mech with one blue ring-light eye and a glowing paywall screen chest, isometric three-quarter view from above, single object centered, video game asset, plain flat grey background, no text |

BIN
assets_src/audio/probe.wav Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 835 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 950 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 821 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 900 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 983 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 874 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 744 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 875 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 773 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 991 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 674 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 862 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 910 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 813 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 970 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 865 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 836 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 974 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 798 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 695 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 850 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 738 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 986 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 953 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 985 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 927 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 90 KiB

View File

@ -1,6 +1,6 @@
## Metadata
mod-title = Vinylgod mod
mod-windowtitle = Vinylgod
mod-title = VINYLGOD
mod-windowtitle = VINYLGOD — Wax War
# To silence "Warning: Missing key `loadscreen-loading` in mod ftl files required by `LogoStripeLoadScreen.Loading`"
# Because https://github.com/OpenRA/OpenRA/issues/20693 wasn't fixed.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,3 @@
music/waxattack: Wax Attack
music/thestream: The Stream Never Sleeps
music/sideawin: Side A

Binary file not shown.

View File

@ -3,3 +3,14 @@ Sounds:
ChatLine:
ClickDisabledSound:
ClickSound:
Speech:
DefaultVariant: .wav
Notifications:
ConstructionComplete: audio/mc_construction
UnitReady: audio/mc_unitready
InsufficientFunds: audio/mc_nofunds
BaseAttack: audio/mc_baseattack
Win: audio/mc_win
Lose: audio/mc_lose
LowPower: audio/mc_lowpower

View File

@ -9,20 +9,27 @@ player:
DefaultCash: 5000
ResourceValues:
Wax: 25
InsufficientFundsNotification: InsufficientFunds
PowerManager:
TechTree:
PlaceBuilding:
ClassicProductionQueue@Building:
Type: Building
Group: Building
ReadyAudio: ConstructionComplete
ClassicProductionQueue@Vehicle:
Type: Vehicle
Group: Vehicle
ReadyAudio: UnitReady
ClassicProductionQueue@Infantry:
Type: Infantry
Group: Infantry
ReadyAudio: UnitReady
ConquestVictoryConditions:
MissionObjectives:
WinNotification: Win
LoseNotification: Lose
BaseAttackNotifier:
editorplayer:
Inherits: ^baseplayer

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 B

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 B

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 B

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 B

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 B

After

Width:  |  Height:  |  Size: 669 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 B

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 B

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 B

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Some files were not shown because too many files have changed in this diff Show More