4.3 KiB
Loading screen branding
The stock Godot boot splash (logo plus "GODOT Game engine") is replaced by the "Mat Games" mascot on a black background. This applies to both surfaces:
- the browser loading screen: the exported
index.pngreferenced by<img id="status-splash">in the HTML shell, drawn over#status; - native startup:
application/boot_splash/imageinproject.godot.
Asset
assets/branding/boot_splash.png, 1024x1185, palette PNG with alpha
(256 colors, 95 alpha levels), about 159 KB. Subject: cartoon zombie head and bust,
bald scalp with a sparse hair fringe on the sides, unsettling grin, thumbs up, with
"MatGames" below (one word, no space) in a phosphor-terminal typeface.
Provenance is recorded in tools/branding/manifest.json:
- mascot: generated with
agy_generate(Antigravity direct API, modelgemini-3.1-flash-image) on 2026-10-11 from no third-party source material; the provider terms do not claim ownership of the output. A second AI pass (agy_edit) kept the face, grin, thumbs-up hand, shirt, pose and flat background and changed only the hair to a bald scalp with a side fringe; both files and their SHA256 are kept intools/branding/raw/and the edit is recorded undermascot_derived_from. Note that an image generator does not emit real alpha, so the flat magenta background is keyed out locally; - lettering: drawn by script, not by the generator, because generated text is
unreliable. Font
tools/branding/fonts/VT323-Regular.ttf, glyphs of the DEC VT320 terminal, licensed SIL Open Font License 1.1 (license text kept next to it inOFL.txt, downloaded from thegoogle/fontsrepository). OFL permits embedding and redistribution, including commercially, as long as the font is not sold on its own. SHA256cf4de751ada78ceac033dbe16a687742939995b77bc2a052ae17a4957958594d.
Only the final PNG lives under assets/, so the raw source and the font are not
packed into the export (tools/* is already excluded by the export preset).
Composition and keying
tools/make_boot_splash.py:
- measures the background color from the four corners (here 250,4,247);
- builds an anti-aliased mask by distance from that color (transparent below 55, opaque above 130) and runs a small median filter;
- removes magenta spill by subtracting
min(r, b) - g, which does not harm the pink tongue or the blue shirt because their red and blue are not both above green; - crops to the subject, applies a 50 px fade at the bottom to soften the frame cut of the generated bust, and scales to 1024 px wide with 40 px side padding;
- draws the title with VT323 in amber over a blurred glow layer. The title defaults
to the one-word form
MatGames; pass--titleto change it; - quantizes to 256 colors (no dither) and writes the PNG plus the manifest.
python3 tools/make_boot_splash.py tools/branding/raw/agy_generate_20261010234423_0.jpg
--colors 0 keeps 32-bit RGBA if a future artwork needs smoother gradients.
Godot settings
boot_splash/bg_color=Color(0, 0, 0, 1)
boot_splash/image="res://assets/branding/boot_splash.png"
boot_splash/show_image=true
boot_splash/use_filter=true
The default stretch behavior is kept, so the image is scaled preserving its aspect
ratio; the exported shell confirms the result with the classes
show-image--true fullsize--true use-filter--true and #status background
#000000.
Verification
- Exported
index.pnghas the same 1024x1185 dimensions as the master. It is re-encoded by the exporter to 32-bit RGBA (about 496 KB), so the bytes are not identical; composited on black the two images differ by at most 6.4/255 on 0.13% of pixels, all with alpha below 20, i.e. invisible. The release keeps the 159 KB master in the repository and ships a gzip sidecar. - The exported shell contains no "Game engine" text and the splash image has an
empty
alt. html/export_icon=false, so no favicon is exported: the browser tab still shows a default icon. Using the mascot as favicon is a possible follow-up.- On a phone in landscape the splash is scaled to fit the height, so the mascot appears fairly small; a landscape variant (mascot beside the title) would fill more of the screen if that is wanted.
- All eleven test suites still pass; this change touches no gameplay code.