# Engine and assets Чёрный порт uses Godot Engine 4.7.2, distributed under the MIT license. The engine is open source: https://godotengine.org/ and https://github.com/godotengine/godot. The engine license is included in `GODOT_LICENSE.txt`; bundled third-party components and fonts are described in `GODOT_COPYRIGHT.txt`. In the source project these notices are in `assets/`. The game's city illustrations, interface, vehicles, story and original procedural audio were created for this prototype. Recorded production world audio is credited below. No Grand Theft Auto game assets, brands, music or maps are included. `assets/generate_audio.py` reproduces the original procedural sound effects and ambience using Python's standard library. The five original raster atlases/illustrations in `assets/art/` were generated with the built-in OpenAI image generation tool for this project. Prompts and integration notes are in `assets/ART_DIRECTION.md`. DejaVu Sans Bold and DejaVu Sans are bundled in `assets/fonts/` for Cyrillic display typography and for symbols (₽, ★, →, ☎) that browsers cannot borrow from system fonts. Its Bitstream Vera license and DejaVu notices are included in `assets/fonts/DejaVu-LICENSE.txt` (also copied alongside the Linux executable). ## Opening film `assets/video/intro.ogv` and its web copies `web/intro.webm` and `web/intro.mp4` were made for this project on 2026-10-16 (details and every prompt in `docs/INTRO.md`). Stills: Nano Banana (Google), from the game's own key art. Moving shots: Wan 3.0 (Alibaba) and one shot Kling 3 Pro (Kuaishou). Music: the game's own song «Чёрный порт» (Suno, see Car radio below), replacing the first cut's ElevenLabs Music v2.5 track. All through fal.ai on the author's paid account. Sound effects are the game's own production audio below. The title lettering is set in [Rubik Dirt](https://fonts.google.com/specimen/Rubik+Dirt) (© 2020 The Rubik Filtered Project Authors: Hubert and Fischer, NaN, Luke Prowse), SIL Open Font License 1.1; only the rendered title is in the film, the font is not shipped. ## Car radio The game's own song «Чёрный порт» (`assets/music/theme.mp3`, the menu, the endings and the opening film's soundtrack) was made the same way: Suno, the author's Pro subscription, Suno's own download, lyrics written for this project. The radio's songs and idents in `assets/radio/` were generated with Suno on the author's paid Pro subscription and downloaded through Suno's own download, the condition of its terms for commercial use. Lyrics and style prompts were written for this project (`docs/radio/SONGS.md`); the bands and songs are invented parodies of a genre and an era, with no real artist named or imitated by name. The host's lines, the news and the ads (texts in `tools/radio/talk.json`, written for this project) are spoken by ElevenLabs Multilingual v2 through fal.ai on the author's paid account (`tools/radio/voice.py`). Processing: `tools/radio/prepare.py`. ## Recorded production audio The files in `assets/audio/production/` are edited from the following freely published recordings. The BigSoundBank recordings are **CC0** ([CC0 1.0 dedication](https://creativecommons.org/publicdomain/zero/1.0/), [BigSoundBank licensing statement](https://bigsoundbank.com/licenses.html)); source pages checked on 2026-10-08. Attribution is retained for provenance even though CC0 does not require it. The precise original-file hashes, public downloads and license checks are in `assets/audio/production/sources.json`; every cut, layered source, filter, gain and loop crossfade is in `provenance.json`. | Source recording | Author / publisher | Use | | --- | --- | --- | | [Screeching Tires #4](https://bigsoundbank.com/screeching-tires-4-s2371.html) | Dorian CLAIR | Sliding-tyre loop | | [Car door](https://bigsoundbank.com/car-door-s0655.html) | Joseph Sardin | Four door closures; filtered physical impacts | | [Socotel Average Ringtones #1](https://bigsoundbank.com/socotel-average-ringtones-1-s3301.html) | Joseph Sardin | One mechanical ring burst | | [Pontoon, marina](https://bigsoundbank.com/pontoon-marina-s1444.html) | Joseph Sardin | Quiet stereo harbor water loop | | [Footsteps, Shoe on Concrete](https://bigsoundbank.com/footsteps-shoe-on-concrete-s0514.html) | Joseph Sardin | Eight concrete footsteps and short friction/release foley | | [Shotgun: Shots](https://bigsoundbank.com/shotgun-shots-s0532.html) | Joseph Sardin | Five single shotgun shots | | [Damaged muffler (accelerations, parked car)](https://bigsoundbank.com/damaged-muffler-accelerations-parked-car-s0675.html) | Joseph Sardin | Recorded startup and idle | | [Shot Beretta M12 9mm](https://bigsoundbank.com/shot-beretta-m12-9-mm-s0437.html) | Joseph Sardin | Single SMG shot (Beretta M12 analogue) | | [Shot in .357 Magnum 9mm](https://bigsoundbank.com/shot-in-357-magnum-9-mm-s0438.html) | Joseph Sardin | Single pistol shot (.357 analogue) | | [Fall 2 sheet steel bars #1](https://bigsoundbank.com/fall-2-sheet-steel-bars-1-s1776.html) | Joseph Sardin | Explosion-debris layer only | | [Car hood (Closing)](https://bigsoundbank.com/car-hood-closing-s0119.html) | Joseph Sardin | Dull body-impact layer for collisions | | [Car Door #4](https://bigsoundbank.com/car-door-4-s1526.html) | Joseph Sardin | Exterior car-body thud | | [Broken twigs #2](https://bigsoundbank.com/broken-twigs-2-s1300.html) | Joseph Sardin | Quiet short crunch layer for collision foley | | [A Mirror Explodes](https://bigsoundbank.com/mirror-explodes-s0387.html) | Joseph Sardin | Glass layer for heavy collision only | | [Gasoline Fire #2](https://bigsoundbank.com/gasoline-fire-2-s1341.html) | Joseph Sardin | Fire loop and ignition/launch analogue | | [Explosion #2](https://bigsoundbank.com/explosion-2-s1808.html) | Joseph Sardin | Recorded cannon blast used for an explosion | | [Gendarmerie, Outdoor Siren](https://bigsoundbank.com/siren-french-gendarmerie-s0886.html) | BigSoundBank; individual author not shown in technical credits | Restrained two-tone siren analogue | Preparation: `assets/prepare_audio.py` trims, filters, downmixes point sources to mono 48 kHz, adjusts levels by family, applies short event fades, and overlaps loop ends. Heavy crashes and explosions combine the explicitly credited layers. The harbor is encoded as stereo Vorbis; other runtime files are PCM16 WAV. Pistol/SMG originals are the site's published MP3s (no lossless version offered); decoding them as WAV is not a quality upgrade. All other used masters are WAV. These are acoustic analogues, not authenticated Soviet vehicle, weapon, telephone or siren recordings. Driving engine layers use a full four-second steady loop by qubodup (credited below); low/high are synchronized EQ variants, not separate recorded RPMs. Startup and idle use another motor recording. This is not a calibrated steady-RPM/load recording set. The initial Peugeot reverse-maneuver audition is not used as an engine loop. See the production README for remaining listening checks and limits. The siren page does not show an individual author in its technical credits; BigSoundBank is therefore credited as publisher rather than asserting its generic structured-data author. The Freesound candidates in `docs/audio-selection/` were not downloaded or used. No source masters are bundled into the game. The preparation script retrieves them by hash into an external cache. Procedural pickup/success cues and emergency fallback files remain project-created audio, separately from the recorded bank. ### Continuous driving engine — CC BY 3.0 `assets/audio/production/engine_low.wav` and `engine_high.wav` are derived from **[Car Engine Loop 96kHz, 4s](https://opengameart.org/content/car-engine-loop-96khz-4s)** by **qubodup**, used under **[Creative Commons Attribution 3.0 Unported](https://creativecommons.org/licenses/by/3.0/)** (selected from the licenses offered by the author). Download: [engine-loop.7z](https://opengameart.org/sites/default/files/engine-loop.7z). Changes: stereo-to-mono conversion, resampling from 96 to 48 kHz, circular high/low-pass filtering into two synchronized tone variants, and level adjustment. The entire four-second loop is preserved; no starter/rev maneuver or repeating fade-out is included. Original and archive hashes are pinned in `sources.json`.