Compare commits

...

2 Commits

Author SHA1 Message Date
type-two
4761245c61 Unit voices: MRP and Stream acknowledgment lines on all units
Some checks failed
Continuous Integration / Linux (.NET 6.0) (push) Has been cancelled
Continuous Integration / Linux (mono) (push) Has been cancelled
Continuous Integration / Windows (.NET 6.0) (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 17:24:09 +10:00
type-two
33826f0755 Weapon SFX (procedural synth), VINYLGOD README for the fresh repo
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 17:20:42 +10:00
19 changed files with 85 additions and 13 deletions

View File

@ -1,19 +1,44 @@
This repository contains a bare development environment for creating a new mod/game on the [OpenRA](https://github.com/OpenRA/OpenRA) engine.
# VINYLGOD
These scripts and support files wrap and automatically manage a copy of the OpenRA game engine and common files during development, and generates Windows installers, macOS .app bundles, and Linux [AppImages](https://appimage.org/) for distribution.
**An original vinyl-monster-robot RTS.** Forty years after The Great Compression
deleted all recorded music, the last analog sound crystallised underground as
**Black Wax** — and whoever presses it controls what the world hears next.
The key scripts in this SDK are:
The **Monster Robot Party** (rust, hot pink, gaffer tape, souls made of record
collections) versus **The Stream** (glossy white logistics fleet of a
recommendation algorithm that knows you'd be 4% more engaged with something
shorter). Harvest wax, press records, stack amps, drop the needle.
| Windows | Linux / macOS | Purpose
| --------------------- | ------------------------ | ------------- |
| make.cmd | Makefile | Compiles your project and fetches dependencies (including the OpenRA engine).
| launch-game.cmd | launch-game.sh | Launches your project from the SDK directory.
| launch-server.cmd | launch-server.sh | Launches a dedicated server for your project from the SDK directory.
| utility.cmd | utility.sh | Launches the OpenRA Utility for your project.
| &lt;not available&gt; | packaging/package-all.sh | Generates release installers for your project.
Built as a total conversion on the [OpenRA](https://www.openra.net) engine.
Lore in [LORE.md](LORE.md). Build phases and agent instructions in
[MEGAPLAN.md](MEGAPLAN.md).
To launch your project from the development environment you must first compile the project by running `make.cmd` (Windows), or opening a terminal in the SDK directory and running `make` (Linux / macOS). You can then run `launch-game.cmd` (Windows) or `launch-game.sh` (Linux / macOS) to run your game.
## Play (macOS)
The `vinylgod` mod included in this repository provides the bare minimum structure to launch to the in-game main menu for the sole purpose of demonstrating the SDK. See [Getting Started](https://github.com/OpenRA/OpenRAModTemplate/wiki/Getting-Started) on the Wiki for instructions on how to adapt this template for your own projects. For common questions, please see the [FAQ](https://github.com/OpenRA/OpenRAModSDK/wiki/FAQ). See [Updating to a new SDK or Engine version](https://github.com/OpenRA/OpenRAModSDK/wiki/Updating-to-a-new-SDK-or-Engine-version) for a guide on updating your mod a newer OpenRA release.
```sh
export PATH="/opt/homebrew/opt/dotnet@8/bin:$PATH"
export DOTNET_ROLL_FORWARD=LatestMajor
make && ./launch-game.sh Game.Mod=vinylgod
```
The OpenRA engine and SDK scripts are made available under the [GPLv3](https://github.com/OpenRA/OpenRA/blob/bleed/COPYING) license, and any executable code developed by a mod and loaded by the engine (i.e. custom mod DLLs, lua scripts) must be released under a compatible license. Your mod data files (artwork, sound files, yaml, etc) are not part of your mod's source code, so you are free to distribute these assets under different terms (e.g. allowing redistribution in unmodified form, but not for use in other works).
The main-menu background is a live AI-vs-AI battle (it doubles as the
integration test). Start a skirmish on **Pressing District** (4p) or
**Vinylgod Map** (1v1) against the Wax AI.
## Features
- Two asymmetric factions, 26 actors, full base-building + wax economy
- 16-facing rotating vehicles, projectile & explosion effects
- Superweapons: **THE DROP** (orbital tonearm) vs **THE SHUFFLE**
- Skirmish AI that plays both factions
- MC 8-TRACK announcer + generated soundtrack
All art, audio and music generated on a local MODELBEAST render farm — prompt
provenance in [assets_src/PROMPTS.md](assets_src/PROMPTS.md). No third-party IP.
## License
GPL v3 (see [COPYING](COPYING)), as a derivative of the OpenRA engine and Mod SDK.
All original lore, names, art and audio © monsterrobot.party, released under the
same terms. This project contains no Electronic Arts code, assets, or trademarks
and claims no affiliation with any other RTS.

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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -9,6 +9,8 @@
spinner:
Inherits: ^ArmedUnit
Voiced:
VoiceSet: MrpVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:
@ -31,6 +33,8 @@ spinner:
stacktank:
Inherits: ^ArmedUnit
Voiced:
VoiceSet: MrpVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:
@ -53,6 +57,8 @@ stacktank:
basscannon:
Inherits: ^ArmedUnit
Voiced:
VoiceSet: MrpVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:
@ -75,6 +81,8 @@ basscannon:
roadie:
Inherits: ^Unit
Voiced:
VoiceSet: MrpVoice
Buildable:
Queue: Infantry
BuildPaletteOrder: 20

View File

@ -24,6 +24,8 @@
digger:
Inherits: ^Unit
Voiced:
VoiceSet: MrpVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:
@ -53,6 +55,8 @@ digger:
popupvan:
Inherits: ^Unit
Voiced:
VoiceSet: MrpVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:
@ -77,6 +81,8 @@ popupvan:
djgrunt:
Inherits: ^ArmedUnit
Voiced:
VoiceSet: MrpVoice
Buildable:
Queue: Infantry
BuildPaletteOrder: 10

View File

@ -2,6 +2,8 @@
streamvan:
Inherits: ^Unit
Voiced:
VoiceSet: StreamVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:
@ -123,6 +125,8 @@ printfarm:
scraper:
Inherits: ^Unit
Voiced:
VoiceSet: StreamVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:
@ -152,6 +156,8 @@ scraper:
bufferbot:
Inherits: ^ArmedUnit
Voiced:
VoiceSet: StreamVoice
Buildable:
Queue: Infantry
BuildPaletteOrder: 11
@ -172,6 +178,8 @@ bufferbot:
drmwalker:
Inherits: ^ArmedUnit
Voiced:
VoiceSet: StreamVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:

View File

@ -0,0 +1,11 @@
MrpVoice:
DefaultVariant: .wav
Voices:
Select: audio/v_mrp_sel1,audio/v_mrp_sel2
Action: audio/v_mrp_act1,audio/v_mrp_act2
StreamVoice:
DefaultVariant: .wav
Voices:
Select: audio/v_str_sel1,audio/v_str_sel2
Action: audio/v_str_act1,audio/v_str_act2

View File

@ -7,8 +7,10 @@
tonearm_blade:
Inherits: ^GroundWeapon
Report: audio/sfx_throw.wav
Warhead@2Eff: CreateEffect
Explosions: pop
ImpactSounds: audio/sfx_pop.wav
ValidTargets: Ground, GroundActor
ReloadDelay: 12
Range: 1c512
@ -24,8 +26,10 @@ tonearm_blade:
seven_inch:
Inherits: ^GroundWeapon
Report: audio/sfx_throw.wav
Warhead@2Eff: CreateEffect
Explosions: pop
ImpactSounds: audio/sfx_pop.wav
ValidTargets: Ground, GroundActor
ReloadDelay: 30
Range: 4c0
@ -46,8 +50,10 @@ seven_inch:
feedback_burst:
Inherits: ^GroundWeapon
Report: audio/sfx_zap.wav
Warhead@2Eff: CreateEffect
Explosions: pop
ImpactSounds: audio/sfx_pop.wav
ValidTargets: Ground, GroundActor
ReloadDelay: 50
Range: 5c0
@ -63,8 +69,10 @@ feedback_burst:
bass_ring:
Inherits: ^GroundWeapon
Report: audio/sfx_bass.wav
Warhead@2Eff: CreateEffect
Explosions: bigboom
ImpactSounds: audio/sfx_boom.wav
ValidTargets: Ground, GroundActor
ReloadDelay: 120
Range: 9c0
@ -85,8 +93,10 @@ bass_ring:
ping:
Inherits: ^GroundWeapon
Report: audio/sfx_zap.wav
Warhead@2Eff: CreateEffect
Explosions: pop
ImpactSounds: audio/sfx_pop.wav
ValidTargets: Ground, GroundActor
ReloadDelay: 15
Range: 3c512
@ -103,11 +113,13 @@ ping:
UnitExplode:
Warhead@Eff: CreateEffect
Explosions: pop
ImpactSounds: audio/sfx_pop.wav
ValidTargets: Ground, GroundActor
BuildingExplode:
Warhead@Eff: CreateEffect
Explosions: bigboom
ImpactSounds: audio/sfx_boom.wav
ValidTargets: Ground, GroundActor
thedrop_impact:
@ -123,6 +135,7 @@ thedrop_impact:
Heavy: 90
Warhead@2Eff: CreateEffect
Explosions: bigboom
ImpactSounds: audio/sfx_boom.wav
ValidTargets: Ground, GroundActor
theshuffle_impact:
@ -138,4 +151,5 @@ theshuffle_impact:
Heavy: 80
Warhead@2Eff: CreateEffect
Explosions: bigboom
ImpactSounds: audio/sfx_boom.wav
ValidTargets: Ground, GroundActor