# Racer artwork

Generated with the built-in imagegen tool for this project. Final game assets are in `assets/`.

Three background panoramas and three six-object sprite atlases give each style its own scenery, player car, two traffic cars, and three roadside objects. The sprites retain the generated alpha channel. The renderer slices the atlases; PNG originals are retained alongside delivery JPEG backgrounds.

## Generation prompts

### retroBackground

Use case: stylized-concept. Asset type: seamless wide parallax backdrop for an OutRun-inspired arcade racing videogame. Create a beautiful 1536x1024 landscape background in authentic crisp 1986 arcade pixel art, deliberately visible square pixels and limited clean color palette. A brilliant cyan sky with cream cumulus clouds, far purple coastal mountains, turquoise sea, small islands, golden coastline. Sky occupies upper 65 percent, a continuous distant coastal horizon across lower 35 percent. Panorama seen at driving eye level. All scenery is distant; NO foreground objects, NO road, NO cars, NO palm trees, NO text, NO logos, NO UI. Rich blue tropical summer, peach sunlight, sharp pixel clusters, no smooth 3D rendering. Far left and far right edges must approximately match so the panorama can scroll horizontally. This is a game background asset, not a screenshot.

### retroSprites

Use case: stylized-concept. Asset type: transparent game sprite atlas, 1536x1024 landscape. Make authentic crisp 1986 OutRun-like pixel art, bright saturation, large readable square pixels, no logos. TRANSPARENT background, not white, no checkerboard. EXACTLY six isolated objects in an evenly spaced 3 column by 2 row grid, one object completely within each cell with generous transparent margins and no overlap. Top row: left a red open-top 1980s wide exotic sports car viewed DIRECTLY FROM BEHIND with two tiny occupants, black rear grille and four round tail lights; middle a yellow 1980s sports coupe viewed DIRECTLY FROM BEHIND; right a cyan 1980s sports coupe viewed DIRECTLY FROM BEHIND. Rear bumper nearest camera, front points straight away, symmetric rear view with a little roof visible, no side or front views. Bottom row: left one tall full tropical palm tree; middle an isolated small roadside pink stucco coastal villa with tiled roof; right a broad flowering tropical shrub with red flowers. Each object centered in its own equal cell. No text, no ground plane, no labels, no shadows outside object. Professional arcade sprite artwork.

### paintBackground

Use case: stylized-concept. Asset type: wide parallax landscape game backdrop, 1536x1024. A spectacular Vincent van Gogh oil painting of a Mediterranean coastline, swirling cobalt and ultramarine sky, a great warm gold setting sun, sweeping luminous curls of clouds, distant rolling violet hills, blue coastal water and golden countryside. Thick impasto, forceful directional strokes, authentic post-impressionist complementary colors, very painterly, no pixel art. Sky upper 65 percent, distant hills and water lower 35 percent. All objects distant, viewed from driving eye level. Wide horizontal panorama with matching left and right edges for scrolling. No road, no cars, no foreground trees, no text, no borders. Rich beautiful colors readable as racing game backdrop.

### paintSprites

Use case: stylized-concept. Asset type: transparent game sprite atlas, 1536x1024 landscape. Vincent van Gogh oil painting brushwork, thick expressive impasto, swirling short strokes, rich cobalt and golden yellow. TRANSPARENT background, not white, no checkerboard. EXACTLY six separated objects in an evenly spaced 3 column by 2 row grid, each contained inside own equal cell with generous transparent margins, no overlap. Top left: a vermilion red open-top wide 1980s exotic sports car painted by van Gogh, DIRECT REAR VIEW with two tiny occupants; top middle: a golden yellow sports coupe DIRECT REAR VIEW; top right: a cornflower blue sports coupe DIRECT REAR VIEW. All cars point straight away from camera, symmetric rear bumpers nearest camera with a little roof visible. Bottom left: one tall flame shaped dark green cypress tree. Bottom middle: one small ochre Provencal cottage with terracotta roof. Bottom right: a clump of large golden sunflowers. Distinct recognizable silhouettes. No text, no labels, no ground planes, no logos, no cast shadows outside objects. Beautiful painterly production videogame sprites.

### neonBackground

Use case: stylized-concept. Asset type: wide parallax racing game backdrop, 1536x1024. Stunning Blade Runner-inspired neon future megacity on a coastal bay at midnight. Immense distant brutalist skyscrapers, tiny glowing cyan and hot magenta windows, futuristic towers, huge hazy amber moon, deep indigo clouds. Dark teal and violet sky upper 65 percent, continuous distant futuristic skyline and coastal water lower 35 percent. Cinematic retrofuture pixel-painted illustration, crisp detailed silhouettes, restrained luminous highlights, gorgeous atmosphere. All buildings distant, no foreground buildings. Seamless horizontal panorama, left and right edges approximately matching. No road, no cars, no foreground objects, no text, no readable signs, no logos, no film characters.

### neonSprites

Use case: stylized-concept. Asset type: transparent racing game sprite atlas, 1536x1024 landscape. Blade Runner-inspired neon future, beautiful detailed pixel-painted game illustration, dark indigo and chrome with cyan magenta amber emissive trims. TRANSPARENT background, no white, no checkerboard. EXACTLY six isolated objects in evenly spaced 3 column by 2 row grid, one per equal cell with generous transparent margins. Top left: a low wide red-magenta futuristic sports car with glowing cyan trim and horizontal red taillight, DIRECT REAR VIEW; top middle: an angular golden yellow future sports coupe, DIRECT REAR VIEW; top right: a cyan teal future sports coupe, DIRECT REAR VIEW. Road cars with wheels, rear bumper nearest viewer, points straight away, symmetrical with some roof visible, no side/front views. Bottom left: one tall futuristic roadside tower with glowing cyan vertical bars. Bottom middle: one small neon pink and cyan roadside diner with canopy and no text. Bottom right: a pair of glowing magenta sci-fi roadside light pylons. No letters, no labels, no ground planes, no cast shadows outside objects. Clean readable production sprite silhouettes.

## Final sprite extraction prompt

Use case: background-extraction. Edit this game sprite atlas. Preserve all SIX individual object silhouettes, their colors and detail and their EXACT positions. Remove the entire dark gradient background and all the colored haze around the objects. Replace it with a perfectly uniform pure magenta #FF00FF chroma-key background with absolutely NO texture, NO gradients, NO shadows and NO glow spilling outside silhouettes. Cut cleanly around every car, tree, building and shrub. Keep internal object colors unchanged. This atlas is being keyed by a game engine so every empty pixel MUST be exactly uniform vivid magenta. Keep the same canvas dimensions and arrangement. Do not add anything.

The returned final atlases include alpha transparency, which is preserved. No chroma-key processing is applied.

## Traffic and steering expansion

Generated with the built-in imagegen tool using each original sprite atlas as an art-style and player-car reference. Final 1536×1024 PNG assets retain their generated alpha channel:

- `assets/retro-traffic.png`
- `assets/paint-traffic.png`
- `assets/neon-traffic.png`

Each new atlas contains a van, bus, truck, motorbike, and left/right steering poses. The renderer extracts the individual sprites and adds rolling tyre animation. All game audio is an original procedural Web Audio composition, with no downloaded sound files.

### Shared traffic prompt

Use case: stylized-concept. Asset type: NEW production videogame traffic and steering sprite atlas. The reference image supplies the art style and the red player car identity ONLY; replace the old collection with a NEW atlas, do not retain any trees or houses. 1536x1024 landscape, exact 3 columns by 2 rows of equal 512x512 cells. Genuinely TRANSPARENT background, preserve alpha, no checkerboard, no coloured backdrop, no shadows or haze around objects. SIX isolated sprites, one centered per cell with at least 50px transparent margin around all sides and no overlap. TOP LEFT: a white delivery panel VAN, rear view. TOP MIDDLE: a large orange passenger BUS, rear view with rear windows, tail lamps, tall rectangular silhouette. TOP RIGHT: a blue heavy cargo TRUCK with grey cargo box and dual rear tyres, rear view. BOTTOM LEFT: a red MOTORBIKE with one helmeted rider, rear view, a narrow rear tyre visible, road-going motorcycle. All four traffic vehicles face directly AWAY from the camera, see their backs not fronts, slightly elevated driving-camera angle. BOTTOM MIDDLE: the reference image's red player sports car in a mild REAR THREE-QUARTER TURNING LEFT pose, front pointing 15 degrees toward the image left, rear bumper closest to camera, some car side visible. BOTTOM RIGHT: the exact same player car, REAR THREE-QUARTER TURNING RIGHT pose, front pointing 15 degrees right. Turning player poses should remain mostly rear views, match the reference player proportions, roof and passengers. All vehicles upright, complete wheels visible, no text, no brands, no numbers, no UI.

### Retro addition

Authentic crisp 1986 arcade pixel art: bright saturated blocks, visible pixel clusters, 1980s vehicles. Player is the red convertible with two occupants and four round tail lights.

### Van Gogh addition

Vincent van Gogh oil painting: thick impasto, expressive directional brush strokes, golden yellows and cobalt blues. Every vehicle looks PAINTED. Player is the vermilion convertible with two occupants and round tail lights.

### Neon addition

Blade Runner inspired neon future: detailed dark chrome retrofuture vehicles, cyan and magenta lights. Make the van, bus, truck and rider futurist but recognizable as road vehicles. Player is the reference magenta coupe with continuous red rear light and cyan accents.

## Exhaust, lamps and contact effects

Generated with the built-in imagegen tool. Saved RGBA atlases: `assets/retro-effects.png`, `assets/paint-effects.png`, and `assets/neon-effects.png`. Each contains four exhaust-flame frames, two contact-spark frames, and round/strip brake-lamp glows. Their alpha is preserved. The renderer uses measured exhaust and lamp positions for each car pose; contact sparks follow the impacted side. Row cuts follow the actual generated artwork rather than assuming an even grid.

### Shared effects prompt

Use case: stylized-concept. Production racing videogame VFX sprite atlas, 1536x1024 RGBA with GENUINELY TRANSPARENT background. Exactly 4 columns by 2 rows, equal 384x512 cells, one isolated effect per cell, at least 55px clear margin all sides. No cars, no exhaust hardware, no road, no scenery, no text, no labels, no checkerboard, no solid backdrop. TOP ROW: four successive animated frames of one short powerful nitro EXHAUST FLAME JET pointing vertically DOWNWARD. Narrow source at top center, expands into an irregular flickering wispy tongue downward, bright white-blue core and orange-gold tips; organic turbulent torn flame edges, NOT a triangle, NOT a rocket with hardware. Consistent scale and alignment across four frames, clearly different flame shapes. BOTTOM LEFT and BOTTOM SECOND: two frames of a small directional burst of hot metal collision SPARKS, origin near center, fine irregular golden streaks scattering outward, NO smoke, NO circles, NO explosion fireball. BOTTOM THIRD: one small ROUND red brake-lamp luminous glow with bright warm red lens centre and a restrained soft red halo fading to full transparency, no lamp housing. BOTTOM RIGHT: one slim HORIZONTAL red brake-lamp glow with bright red centre and restrained halo fading to transparent, no housing. All effects must have clean alpha, no background haze between sprites. These effects will be rendered very small, maintain readable shapes.

### Style additions

- Retro: Art style: crisp 1986 arcade PIXEL ART, visible pixel clusters, saturated orange blue fire, tiny pixel spark streaks, brake glow made of restrained pixel clusters.
- Van Gogh: Art style: Vincent van Gogh oil painting, expressive short impasto strokes, golden ochre and cobalt flames, painterly sparking dashes, vermilion lamp glow; everything looks hand painted.
- Neon: Art style: Blade Runner neon future videogame VFX. Detailed cyan-blue plasma flames with magenta and amber fringes, sharp electric white-amber sparks, restrained intense red neon brake glow. Elegant cinematic luminous effects.

## Graphics compression

The 18 runtime artwork files total **9,355,020 bytes**, down from **30,501,689 bytes** (69.3% smaller). All PNG/JPEG artwork, reference backgrounds, screenshots and large icons across Racer and Racer Control total **16,131,132 bytes**, down from **55,702,223 bytes** (71.0% smaller). Dimensions and filenames are unchanged; PNG and JPEG retain compatibility with older displays.

Colour artwork uses 256-colour quantization with light dithering and PNG compression level 9. Runtime sprite PNGs retain reduced RGB colours in true-colour encoding so the encoder cannot requantize protected alpha values. Sprite alpha is reduced separately while preserving the renderer's transparent, 16 and 150 threshold masks. Effects retain their original alpha channel for smooth glows. Background JPEGs use quality 76, MozJPEG and 4:4:4 chroma. The large catalogue icons are colour-reduced; already compact PWA icons and 2.5 KB favicons are retained.

Verification compares original and compressed renders for all fifteen track/style combinations, including exhaust and brake effects. Maximum rendered RGB RMS error was 4.28 out of 255. Sprite bounds, effect placement, alpha handling, viewer/controller loading and progression were checked. Original pre-compression files and the per-file size report are retained locally under `tmp/racer/compression/` for review; they are not requested by either app.

## Gameplay references

- [SEGA AGES Out Run](https://segaages.sega.com/project/out-run/index.htm): scenic arcade driving and the classic rear-view presentation.
- [Horizon Chase 2](https://www.horizonchase2.com/): accessible, high-speed arcade racing.

Racer uses original generated artwork and synthesized audio, five roads with three checkpoint sections each, manual acceleration, gentle curve assistance, time extensions, and held nitro. All three styles cover every track. Each successive track has its own scenery, bends and hills, with higher speeds and tighter timing.


## Four additional levels

Generated using the built-in imagegen tool in generation mode. Six atlases: `assets/{retro,paint,neon}-levels-background.png` (four panoramic strips each), and `assets/{retro,paint,neon}-levels-scenery.png` (twelve transparent roadside objects each). Background JPEG copies are used at runtime. Sprite crops follow the inspected artwork boundaries, including the wider desert stations and forest plants.

### Background prompt

Use case: stylized-concept. Production racing-game background atlas. 1536x1024 landscape image divided into EXACTLY FOUR horizontal panoramic strips, each 1536 pixels wide and 256 pixels high. Hard clean horizontal boundaries at y=256,512,768. NO gutters, frames, borders, lettering or captions. Each strip is a separate distant landscape viewed from driving eye level, sky in its upper 65%, continuous distant horizon in lower35%. These are parallax backdrops; NO roads, NO cars, NO close foreground objects. Left and right edges approximately match. TOP to BOTTOM strips: 1: a sun-baked red sandstone desert canyon, layered mesas, orange cliffs and distant rock arches. 2: a spectacular alpine mountain pass, jagged snowy peaks, cold turquoise lake and glacier valleys. 3: a lush deep emerald forest valley, tall distant wooded ridges, mist and a broad waterfall. 4: an active volcanic landscape at night, a glowing red lava caldera, black mountains, streams of distant lava and a dramatic smoky crimson sky. Each landscape completely confined to its own strip. Beautiful detailed coherent world, NOT a UI mockup.

### Scenery prompt

Use case: stylized-concept. Production videogame roadside sprite atlas. 1536x1024 landscape, GENUINELY TRANSPARENT alpha background. EXACTLY FOUR columns and THREE rows of equal cells, each384x341. One isolated upright object per cell, centred with at least35px clear margin, no overlap between cells. NO cast ground shadows, no terrain underneath, no letters, no logos, no sky, no solid background, no checkerboard. View from a low driving camera, whole objects visible. Each COLUMN belongs to a landscape. Read each column TOP TO BOTTOM: COLUMN 1 (Canyon Heat): a tall branching saguaro cactus; a towering red sandstone hoodoo rock; a small weathered desert service station. COLUMN 2 (Alpine Ascent): a tall snow-dusted fir tree; a steep-roofed wooden alpine chalet; a jagged icy roadside boulder. COLUMN 3 (Emerald Run): a tall broad-canopied forest tree; a moss-covered fallen tree stump; a dense clump of ferns with bright flowers. COLUMN 4 (Volcanic Night): a tall jagged black basalt spire; a cracked glowing lava boulder; a pair of dark volcanic rock pillars. Preserve alpha in all empty areas.

### Style additions

- retro: Authentic crisp 1986 arcade PIXEL ART, visible square pixel clusters, saturated clear colours and strong readable silhouettes.
- paint: Vincent van Gogh oil painting, thick impasto, expressive directional brush strokes, swirling skies, rich cobalt/gold complementary colours. Everything is painted.
- neon: Blade Runner inspired neon future illustration: dark chrome, cyan and magenta lights, cinematic dark atmosphere. Translate natural environments into a believable futuristic world while preserving the recognisable terrain: desert outposts, alpine research stations, bioluminescent forest, volcanic energy works. No text or film characters.

## Engine fire pixel-art animation

The front-engine fire is rendered beyond the cabin, before the car sprite. The car and occupants occlude the flames; fire remains visible above the front and through transparent glass without painting over the people. Nitro uses the existing generated exhaust frames projected as short, wide flares toward the following camera, above the tyre contact line.

Generated with the built-in imagegen tool. The original transparent RGBA output is saved as [engine-fire-pixel.png](assets/engine-fire-pixel.png): 1536×1024, four columns by two rows, eight frames played at 10 fps. The same pixel-art fire, smoke and sparks overlay is used in all three racing worlds. Its alpha channel is preserved; no colour-key background removal or procedural flame replacement is used.

Final generation prompt:

Use case: stylized-concept. Asset type: transparent pixel-art animation sprite sheet for a rear-view arcade racing game. Generate ONE production PNG sprite atlas, landscape 1536x1024, exactly 4 columns by 2 rows of equal 384x512 cells, 8 successive looping animation frames read left to right then top to bottom. Subject in EVERY cell: an engine fire effect only, bright yellow-white cores, orange and red flame tongues licking upwards, a few rising orange sparks, and chunky dark charcoal-grey smoke billowing above. Broad low fire source appropriate for a car engine bay, not a torch. Genuine crisp 16-bit pixel art: clearly visible square pixel clusters, hard stepped silhouettes, restricted palette, no smooth vector shapes, no soft blur. Each frame is the SAME size, scale, central position and baseline; base of fire at 88 percent cell height, smoke fits inside the upper part, at least 24px fully transparent padding at every cell edge. Flames and smoke change naturally between frames for a seamless ongoing burning loop. All eight frames must be separate and fully contained within their respective cells, with no crossing boundaries. Genuine transparent alpha background throughout and between sprites. No car, no engine hardware, no ground, no scenery, no UI, no text, no numbering, no grid lines, no borders, no shadows on a background, no checkerboard pixels. This will be composited above an existing stopped car, so include ONLY flames, sparks and smoke.

Multiplayer body-colour variants also recolour the windscreen roof rail and pillars in all three steering poses, preserving the occupants and rear lamps. Nitro uses larger, wider generated exhaust flares, with their depth capped above the tyres' road-contact line.
