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>
11
MEGAPLAN.md
@ -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 A–F):
|
||||
|
||||
- **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
|
||||
|
||||
@ -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
BIN
assets_src/contact_sheet.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
assets_src/renders/ampstack.png
Normal file
|
After Width: | Height: | Size: 964 KiB |
BIN
assets_src/renders/ampstack_raw.png
Normal file
|
After Width: | Height: | Size: 835 KiB |
BIN
assets_src/renders/basscannon.png
Normal file
|
After Width: | Height: | Size: 950 KiB |
BIN
assets_src/renders/basscannon_raw.png
Normal file
|
After Width: | Height: | Size: 821 KiB |
BIN
assets_src/renders/bufferbot.png
Normal file
|
After Width: | Height: | Size: 900 KiB |
BIN
assets_src/renders/bufferbot_raw.png
Normal file
|
After Width: | Height: | Size: 799 KiB |
BIN
assets_src/renders/datacentre.png
Normal file
|
After Width: | Height: | Size: 983 KiB |
BIN
assets_src/renders/datacentre_raw.png
Normal file
|
After Width: | Height: | Size: 874 KiB |
BIN
assets_src/renders/digger.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
assets_src/renders/digger_raw.png
Normal file
|
After Width: | Height: | Size: 897 KiB |
BIN
assets_src/renders/djgrunt.png
Normal file
|
After Width: | Height: | Size: 744 KiB |
BIN
assets_src/renders/djgrunt_raw.png
Normal file
|
After Width: | Height: | Size: 643 KiB |
BIN
assets_src/renders/drmwalker.png
Normal file
|
After Width: | Height: | Size: 875 KiB |
BIN
assets_src/renders/drmwalker_raw.png
Normal file
|
After Width: | Height: | Size: 773 KiB |
BIN
assets_src/renders/garage.png
Normal file
|
After Width: | Height: | Size: 991 KiB |
BIN
assets_src/renders/garage_raw.png
Normal file
|
After Width: | Height: | Size: 866 KiB |
BIN
assets_src/renders/mastering.png
Normal file
|
After Width: | Height: | Size: 782 KiB |
BIN
assets_src/renders/mastering_raw.png
Normal file
|
After Width: | Height: | Size: 674 KiB |
BIN
assets_src/renders/merchtable.png
Normal file
|
After Width: | Height: | Size: 862 KiB |
BIN
assets_src/renders/merchtable_raw.png
Normal file
|
After Width: | Height: | Size: 737 KiB |
BIN
assets_src/renders/podfarm.png
Normal file
|
After Width: | Height: | Size: 910 KiB |
BIN
assets_src/renders/podfarm_raw.png
Normal file
|
After Width: | Height: | Size: 813 KiB |
BIN
assets_src/renders/popupshop.png
Normal file
|
After Width: | Height: | Size: 970 KiB |
BIN
assets_src/renders/popupshop_raw.png
Normal file
|
After Width: | Height: | Size: 839 KiB |
BIN
assets_src/renders/popupvan.png
Normal file
|
After Width: | Height: | Size: 994 KiB |
BIN
assets_src/renders/popupvan_raw.png
Normal file
|
After Width: | Height: | Size: 865 KiB |
BIN
assets_src/renders/pressplant.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
assets_src/renders/pressplant_raw.png
Normal file
|
After Width: | Height: | Size: 964 KiB |
BIN
assets_src/renders/printfarm.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
assets_src/renders/printfarm_raw.png
Normal file
|
After Width: | Height: | Size: 933 KiB |
BIN
assets_src/renders/roadie.png
Normal file
|
After Width: | Height: | Size: 836 KiB |
BIN
assets_src/renders/roadie_raw.png
Normal file
|
After Width: | Height: | Size: 718 KiB |
BIN
assets_src/renders/scraper.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
assets_src/renders/scraper_raw.png
Normal file
|
After Width: | Height: | Size: 974 KiB |
BIN
assets_src/renders/spinner.png
Normal file
|
After Width: | Height: | Size: 798 KiB |
BIN
assets_src/renders/spinner_raw.png
Normal file
|
After Width: | Height: | Size: 695 KiB |
BIN
assets_src/renders/stacktank.png
Normal file
|
After Width: | Height: | Size: 850 KiB |
BIN
assets_src/renders/stacktank_raw.png
Normal file
|
After Width: | Height: | Size: 738 KiB |
BIN
assets_src/renders/streamhub.png
Normal file
|
After Width: | Height: | Size: 986 KiB |
BIN
assets_src/renders/streamhub_raw.png
Normal file
|
After Width: | Height: | Size: 876 KiB |
BIN
assets_src/renders/streamvan.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
assets_src/renders/streamvan_raw.png
Normal file
|
After Width: | Height: | Size: 953 KiB |
BIN
assets_src/renders/transcoder.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
assets_src/renders/transcoder_raw.png
Normal file
|
After Width: | Height: | Size: 985 KiB |
BIN
assets_src/renders/vault.png
Normal file
|
After Width: | Height: | Size: 927 KiB |
BIN
assets_src/renders/vault_raw.png
Normal file
|
After Width: | Height: | Size: 808 KiB |
BIN
mods/vinylgod/audio/mc_baseattack.wav
Normal file
BIN
mods/vinylgod/audio/mc_construction.wav
Normal file
BIN
mods/vinylgod/audio/mc_lose.wav
Normal file
BIN
mods/vinylgod/audio/mc_lowpower.wav
Normal file
BIN
mods/vinylgod/audio/mc_nofunds.wav
Normal file
BIN
mods/vinylgod/audio/mc_unitready.wav
Normal file
BIN
mods/vinylgod/audio/mc_waxlow.wav
Normal file
BIN
mods/vinylgod/audio/mc_win.wav
Normal file
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 90 KiB |
@ -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.
|
||||
|
||||
BIN
mods/vinylgod/music/sideawin.wav
Normal file
BIN
mods/vinylgod/music/thestream.wav
Normal file
@ -0,0 +1,3 @@
|
||||
music/waxattack: Wax Attack
|
||||
music/thestream: The Stream Never Sleeps
|
||||
music/sideawin: Side A
|
||||
BIN
mods/vinylgod/music/waxattack.wav
Normal 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
|
||||
|
||||
@ -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
|
||||
|
||||
|
Before Width: | Height: | Size: 157 B After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 110 B After Width: | Height: | Size: 534 B |
|
Before Width: | Height: | Size: 156 B After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 129 B After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 112 B After Width: | Height: | Size: 669 B |
|
Before Width: | Height: | Size: 139 B After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 253 B After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 238 B After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 238 B After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 236 B After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 238 B After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 248 B After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 157 B After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 156 B After Width: | Height: | Size: 1.7 KiB |