200 lines
9.2 KiB
Markdown
200 lines
9.2 KiB
Markdown
# Assets: Quellen und Lizenzen
|
||
|
||
Alle Dateien unter `app/static/assets/` sind hier mit Quelle, Autor und Lizenz
|
||
aufgeführt. Es werden ausschließlich Assets mit eindeutig freier Lizenz verwendet;
|
||
keine Datei zeigt reale Personen, Marken oder Figuren aus anderen Spielen.
|
||
|
||
Ein automatischer Test (`tests/test_assets.py`) prüft, dass jede Datei im
|
||
Asset-Ordner in diesem Dokument vorkommt und jede im Spiel referenzierte Datei
|
||
existiert.
|
||
|
||
> **Ohne Assets spielbar:** Fehlt eine Datei oder schlägt das Laden fehl, erzeugt
|
||
> `app/static/js/systems/Placeholders.js` unter demselben Schlüssel eine
|
||
> Ersatzgrafik aus einfachen Formen. Klänge werden bei Bedarf synthetisch erzeugt.
|
||
|
||
## Übersicht
|
||
|
||
| Kategorie | Quelle | Autor | Lizenz |
|
||
|---|---|---|---|
|
||
| Figuren, Emblem, Geschütz, Kapsel (SVG) | eigens für dieses Projekt erstellt | Glory-Defense-Projekt | CC0 1.0 |
|
||
| Bodenkacheln | [Kenney – Top-down Shooter](https://kenney.nl/assets/top-down-shooter) | Kenney Vleugels (kenney.nl) | CC0 1.0 |
|
||
| Partikel-Texturen | [Kenney – Particle Pack](https://kenney.nl/assets/particle-pack) | Kenney Vleugels (kenney.nl) | CC0 1.0 |
|
||
| Schriften | Systemschriften (Impact, Segoe UI bzw. Ersatzschriften des Systems), **nicht mitgeliefert** | – | – |
|
||
| Soundeffekte und Jingles | Kenney – [Sci-Fi Sounds](https://kenney.nl/assets/sci-fi-sounds), [Impact Sounds](https://kenney.nl/assets/impact-sounds), [Interface Sounds](https://kenney.nl/assets/interface-sounds), [Music Jingles](https://kenney.nl/assets/music-jingles) | Kenney Vleugels (kenney.nl) | CC0 1.0 |
|
||
| Hintergrundmusik (Marsch) | eigene Komposition, zur Laufzeit synthetisiert | Glory-Defense-Projekt | CC0 1.0 |
|
||
| Spiel-Engine (Code) | [Phaser 3.90.0](https://phaser.io) | Phaser Studio Inc. | MIT |
|
||
|
||
CC0 verlangt keine Namensnennung. Kenney wird trotzdem im Spiel unter „Credits“
|
||
genannt. CC-BY-Assets werden derzeit nicht verwendet; kämen welche hinzu, müssten
|
||
sie zwingend in den Credits erscheinen.
|
||
|
||
## Eigene Vektorgrafiken (`app/static/assets/sprites/`)
|
||
|
||
Eigens für Glory Defense gezeichnet, Lizenz **CC0 1.0** (gemeinfrei). Alle
|
||
Figuren sind frei erfunden. Der Präsident trägt bewusst einen geschlossenen Helm
|
||
(kein Gesicht, keine Frisur). Sein Umhang in Rot und Gold und das Emblem der
|
||
fiktiven „Vereinigten Erde“ (auch auf dem Umhang) sind eigene Entwürfe ohne
|
||
Lorbeerzweige oder Sternenkreis, damit sie keinem realen Emblem ähneln. Die Nachschubkapsel trägt ein Geschenkband statt eines
|
||
Kreuzes, weil das Rotkreuz-Zeichen rechtlich geschützt ist.
|
||
|
||
| Datei | Inhalt |
|
||
|---|---|
|
||
| `sprites/president.svg` | Präsident Maximilian Valor (Draufsicht) |
|
||
| `sprites/krabbler.svg` | Schwärmer: Krabbler (klein) |
|
||
| `sprites/sprungkralle.svg` | Schwärmer: Sprungkralle (mittel) |
|
||
| `sprites/brutmutter.svg` | Schwärmer: Brutmutter (Elite) |
|
||
| `sprites/nieter.svg` | Blechlegion: Nieter-Drohne (klein) |
|
||
| `sprites/blechsoldat.svg` | Blechlegion: Blechsoldat (mittel) |
|
||
| `sprites/walzmeister.svg` | Blechlegion: Walzmeister (Elite) |
|
||
| `sprites/turret.svg` | Geschütz „Wachsamer Nachbar“ |
|
||
| `sprites/supply-pod.svg` | Nachschubkapsel „Fürsorgepaket“ |
|
||
| `sprites/emblem.svg` | Emblem der Vereinigten Erde (Menü, Bodenmarkierung) |
|
||
|
||
Auch `app/static/favicon.svg` ist ein eigener Entwurf (CC0).
|
||
|
||
## Kenney – Top-down Shooter (`app/static/assets/kenney/tiles/`)
|
||
|
||
- Quelle: <https://kenney.nl/assets/top-down-shooter> (Version im ZIP `kenney_top-down-shooter.zip`)
|
||
- Autor: Kenney Vleugels, [kenney.nl](https://kenney.nl)
|
||
- Lizenz: Creative Commons Zero (CC0 1.0), Lizenztext: `kenney/tiles/License.txt`
|
||
|
||
| Datei | Inhalt |
|
||
|---|---|
|
||
| `kenney/tiles/ground_strip.png` | Ausschnitt aus `Tilesheet/tilesheet_complete.png`, 8 Kacheln à 64 px: Erde A (Zeile 0, Spalte 4), Erde B (0/5), Felsen (8/20, 8/21, 8/22), Büsche (8/18, 8/19), Fleck (11/22). Im Spiel eingefärbt. |
|
||
| `kenney/tiles/License.txt` | Originale Lizenzdatei |
|
||
|
||
## Kenney – Particle Pack (`app/static/assets/kenney/particles/`)
|
||
|
||
- Quelle: <https://kenney.nl/assets/particle-pack> (Version 1.1)
|
||
- Autor: Kenney Vleugels, [kenney.nl](https://kenney.nl), mit Filtervorlagen von Indigo Ray,
|
||
Craig Nisbet, Zoltan Erdokovy, Heliagon, ThreeDee, Killst4r und Tim2501 (laut Lizenzdatei)
|
||
- Lizenz: Creative Commons Zero (CC0 1.0), Lizenztext: `kenney/particles/License.txt`
|
||
- Bearbeitung: von 512 × 512 px auf 128 × 128 px verkleinert
|
||
|
||
| Datei | Original |
|
||
|---|---|
|
||
| `kenney/particles/smoke.png` | `PNG (Transparent)/smoke_04.png` |
|
||
| `kenney/particles/fire.png` | `PNG (Transparent)/fire_01.png` |
|
||
| `kenney/particles/spark.png` | `PNG (Transparent)/spark_05.png` |
|
||
| `kenney/particles/scorch.png` | `PNG (Transparent)/scorch_02.png` |
|
||
| `kenney/particles/muzzle.png` | `PNG (Transparent)/muzzle_01.png` |
|
||
| `kenney/particles/glow.png` | `PNG (Transparent)/light_01.png` |
|
||
| `kenney/particles/License.txt` | Originale Lizenzdatei |
|
||
|
||
## Schriften
|
||
|
||
Das Spiel liefert **keine Schriftdateien** mit, sondern nutzt Systemschriften:
|
||
Impact (bzw. Arial Black oder die Standardschrift) für Titel, Segoe UI bzw.
|
||
system-ui für HUD und Texte. Damit gibt es keine Lizenzfragen.
|
||
|
||
Frühere Versionen verwendeten „Kenney Future“ aus dem Paket „Kenney Fonts“. Das
|
||
Paket nennt CC0, die in die Schriftdateien eingebetteten Metadaten aber
|
||
„Creative Commons Attribution Share Alike 3.0“ (FontStruct, 2013). Wegen dieses
|
||
Widerspruchs und weil die Schrift „Q“ kaum von „O“ und „X/K“ kaum von „H“
|
||
unterscheidet (schlecht für Tastenhinweise), wurde sie entfernt.
|
||
|
||
## Kenney – Klänge (`app/static/assets/kenney/audio/`)
|
||
|
||
Alle Klänge unverändert übernommen (OGG Vorbis). Lizenz jeweils **Creative Commons Zero (CC0 1.0)**,
|
||
Autor Kenney Vleugels ([kenney.nl](https://kenney.nl)). Welcher Klang wofür verwendet wird, steht in
|
||
`app/static/js/systems/AudioAssets.js`. Jeder Effekt hat zusätzlich einen synthetischen Ersatz
|
||
(`systems/Synth.js`), falls Dateien fehlen oder der Browser OGG nicht abspielen kann.
|
||
|
||
### Sci-Fi Sounds
|
||
|
||
- Quelle: <https://kenney.nl/assets/sci-fi-sounds>
|
||
- Lizenztext: `kenney/audio/License-SciFiSounds.txt`
|
||
|
||
| Datei |
|
||
|---|
|
||
| `kenney/audio/explosionCrunch_000.ogg` |
|
||
| `kenney/audio/explosionCrunch_001.ogg` |
|
||
| `kenney/audio/explosionCrunch_002.ogg` |
|
||
| `kenney/audio/explosionCrunch_003.ogg` |
|
||
| `kenney/audio/laserLarge_000.ogg` |
|
||
| `kenney/audio/laserLarge_001.ogg` |
|
||
| `kenney/audio/laserRetro_000.ogg` |
|
||
| `kenney/audio/laserRetro_001.ogg` |
|
||
| `kenney/audio/laserRetro_002.ogg` |
|
||
| `kenney/audio/laserSmall_000.ogg` |
|
||
| `kenney/audio/laserSmall_001.ogg` |
|
||
| `kenney/audio/laserSmall_002.ogg` |
|
||
| `kenney/audio/laserSmall_003.ogg` |
|
||
| `kenney/audio/laserSmall_004.ogg` |
|
||
| `kenney/audio/lowFrequency_explosion_000.ogg` |
|
||
| `kenney/audio/lowFrequency_explosion_001.ogg` |
|
||
| `kenney/audio/slime_000.ogg` |
|
||
| `kenney/audio/slime_001.ogg` |
|
||
| `kenney/audio/License-SciFiSounds.txt` (Lizenzdatei) |
|
||
|
||
### Impact Sounds
|
||
|
||
- Quelle: <https://kenney.nl/assets/impact-sounds>
|
||
- Lizenztext: `kenney/audio/License-ImpactSounds.txt`
|
||
|
||
| Datei |
|
||
|---|
|
||
| `kenney/audio/impactMetal_light_000.ogg` |
|
||
| `kenney/audio/impactMetal_light_001.ogg` |
|
||
| `kenney/audio/impactMetal_light_002.ogg` |
|
||
| `kenney/audio/impactPlate_light_000.ogg` |
|
||
| `kenney/audio/impactPunch_heavy_000.ogg` |
|
||
| `kenney/audio/impactPunch_heavy_001.ogg` |
|
||
| `kenney/audio/impactSoft_medium_000.ogg` |
|
||
| `kenney/audio/impactSoft_medium_001.ogg` |
|
||
| `kenney/audio/impactSoft_medium_002.ogg` |
|
||
| `kenney/audio/License-ImpactSounds.txt` (Lizenzdatei) |
|
||
|
||
### Interface Sounds
|
||
|
||
- Quelle: <https://kenney.nl/assets/interface-sounds>
|
||
- Lizenztext: `kenney/audio/License-InterfaceSounds.txt`
|
||
|
||
| Datei |
|
||
|---|
|
||
| `kenney/audio/click_001.ogg` |
|
||
| `kenney/audio/confirmation_001.ogg` |
|
||
| `kenney/audio/confirmation_002.ogg` |
|
||
| `kenney/audio/error_001.ogg` |
|
||
| `kenney/audio/maximize_001.ogg` |
|
||
| `kenney/audio/select_001.ogg` |
|
||
| `kenney/audio/tick_001.ogg` |
|
||
| `kenney/audio/License-InterfaceSounds.txt` (Lizenzdatei) |
|
||
|
||
### Music Jingles
|
||
|
||
- Quelle: <https://kenney.nl/assets/music-jingles>
|
||
- Lizenztext: `kenney/audio/License-MusicJingles.txt`
|
||
|
||
| Datei |
|
||
|---|
|
||
| `kenney/audio/jingles_HIT11.ogg` |
|
||
| `kenney/audio/jingles_HIT15.ogg` |
|
||
| `kenney/audio/jingles_PIZZI07.ogg` |
|
||
| `kenney/audio/jingles_STEEL07.ogg` |
|
||
| `kenney/audio/License-MusicJingles.txt` (Lizenzdatei) |
|
||
|
||
### Hintergrundmusik
|
||
|
||
Der Marsch ist eine eigene Komposition (`app/static/js/logic/marchPattern.js`, CC0) und wird
|
||
zur Laufzeit synthetisch erzeugt (`app/static/js/systems/Music.js`) – es gibt keine Musikdatei.
|
||
|
||
## Bibliotheken
|
||
|
||
| Datei | Quelle | Lizenz |
|
||
|---|---|---|
|
||
| `app/static/js/lib/phaser.min.js` | Phaser 3.90.0 aus dem npm-Paket `phaser` | MIT, © Phaser Studio Inc., Lizenztext `app/static/js/lib/PHASER_LICENSE.md` |
|
||
|
||
## Neue Assets hinzufügen
|
||
|
||
1. Nur Assets mit eindeutig freier Lizenz verwenden (bevorzugt CC0: Kenney.nl,
|
||
OpenGameArt.org nur CC0/CC-BY). Die Pixabay-Lizenz ist laut Projektvorgaben
|
||
erlaubt, aber keine CC-Lizenz: Nutzungsbedingungen je Datei prüfen und festhalten.
|
||
Auch die in Dateien eingebetteten Lizenzangaben prüfen (z. B. Schrift-Metadaten).
|
||
2. Datei unter `app/static/assets/` ablegen und in `app/static/js/systems/Assets.js`
|
||
eintragen (Klänge: `app/static/js/systems/AudioAssets.js`).
|
||
3. Diese Datei ergänzen (Quelle, Autor, Lizenz, Bearbeitung).
|
||
4. Bei CC-BY: Namensnennung zusätzlich in `app/static/js/content/texts.js` unter
|
||
`CREDITS` eintragen.
|
||
5. `pytest tests/test_assets.py` ausführen.
|