Add custom background artwork to Super Kart menu screens

- Add superkart-background.png image asset
- Replace solid-color rectangle background with artwork in menu views
- Add semi-transparent shade overlay for better contrast
- Remove hardcoded title and tagline text (now baked into the image)
This commit is contained in:
Brian Fertig 2026-07-17 15:09:01 -06:00
parent ebed6292cf
commit 81145d7891
3 changed files with 14 additions and 4 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

View File

@ -172,6 +172,7 @@ export const MANIFEST = {
// entries stay procedural (tinted kart silhouettes, painted horizon).
superkart: [
{ type: 'json', key: 'superkart-cups', path: 'assets/gamedata/superkart/cups.json' },
image('superkart-background', 'assets/images/superkart-background.png'),
(scene) => sheetsFrom(scene, 'superkart-artwork', ['racerSheets', 'themeSheets', 'itemSheet']),
(scene) => {
const art = scene.cache.json.get('superkart-artwork');

View File

@ -77,8 +77,18 @@ export default class SuperKartGame extends Phaser.Scene {
this.teardownRace();
});
this.bg = this.add.rectangle(GAME_WIDTH / 2, GAME_HEIGHT / 2, GAME_WIDTH, GAME_HEIGHT, 0x101018)
.setDepth(-10);
// Menu-screen art: covers the whole canvas but is itself covered by the
// Mode 7 ground/backdrop (depths -1/-2) during a race, so it only shows
// through on the menu / select / results / podium views.
if (this.textures.exists('superkart-background')) {
this.bg = this.add.image(GAME_WIDTH / 2, GAME_HEIGHT / 2, 'superkart-background')
.setDisplaySize(GAME_WIDTH, GAME_HEIGHT).setDepth(-10);
} else {
this.bg = this.add.rectangle(GAME_WIDTH / 2, GAME_HEIGHT / 2, GAME_WIDTH, GAME_HEIGHT, 0x101018)
.setDepth(-10);
}
this.bgShade = this.add.rectangle(GAME_WIDTH / 2, GAME_HEIGHT / 2, GAME_WIDTH, GAME_HEIGHT, 0x0a0a12, 0.45)
.setDepth(-9);
if (this.renderer.type !== Phaser.WEBGL) {
this.showWebGLNotice();
@ -248,8 +258,7 @@ export default class SuperKartGame extends Phaser.Scene {
this.teardownRace();
this.clearView();
const cx = GAME_WIDTH / 2;
this.text(cx, 200, 'SUPER KART', 110, '#ffd028');
this.text(cx, 290, 'MODE 7 KART RACING • STARRING THE FERTIG GAMES CREW', 24, COLORS.mutedHex);
// Title/tagline are baked into superkart-background.png — no text needed here.
this.text(cx, 380,
'ARROWS / WASD DRIVE • SPACE HOP+DRIFT • SHIFT OR X FIRES ITEMS', 22, COLORS.mutedHex);