# Robot Crossing assets

Generated on 8 September 2026 with the built-in imagegen tool. No image-generation API key or external modelling service was used.

## Images and geometry

| File | Purpose |
| --- | --- |
| `material-source.png` | Original generated four-material source image; not loaded by the game |
| `material-atlas.webp` | 512 × 512 inspection derivative; not loaded by the game |
| `grass.webp`, `stone.webp`, `wood.webp`, `roof.webp` | Four 256 × 256 runtime surface textures |
| `bloop-model-reference.png` | Generated 2D front/side modelling reference; not loaded by the game |

`world.js` constructs actual articulated 3D robot meshes from simple rounded solids using the model sheet's head proportions, face panel, eyes, ears, joints, green apron, sprout, and detachable coupling. This is manual geometry modelling from a generated reference, not an automatic image-to-mesh service. The model is an initial interpretation for the playable core; the more detailed production cast remains a later milestone.

Runtime textures were extracted from the four source quadrants, reduced with Sharp to 256 pixels, and encoded at WebP quality 83. The roof derivative was desaturated and brightened by 45 pixel levels so each cottage can use its own roof colour. The full atlas derivative uses quality 85. Conversion script: `tmp/robot-crossing-assets.cjs` at the repository root. Surface dimensions, not only compressed size, remain small. High-resolution source images are retained without automatic runtime requests.

### Final material prompt

Use case: stylized-concept. Asset type: production albedo texture atlas for Robot Crossing, a cheerful low-poly isometric robot village mobile game. Generate one square image EXACTLY 2 columns by 2 rows of equal square tiles, no borders, no gaps, no lettering. Top left: soft meadow grass, broad overlapping tiny rounded painted grass flecks, sage and warm light green. Top right: warm pale sandy sandstone paving, chunky irregular round-edged stones, subtle seams. Bottom left: honey oak wood boards with subtle hand-painted grain and parallel board seams running vertically. Bottom right: muted terracotta red roof shingles, broad rounded rectangular overlapping scales. All tiles flat orthographic material swatches viewed straight on, neutral evenly lit albedo with absolutely no cast shadow, no perspective, no 3D objects, no glossy reflections. Simple cozy toy-town palette, low contrast surface detail readable when reduced to 256 pixels per tile. Tiles fill their quadrants edge to edge, same scale and softness, naturally repeating surface patterns. Do not include robots, landscape, UI, text, logos or watermarks. The final image will be reduced to a 512x512 game atlas.

### Final robot prompt

Reference: `inspiration/ChatGPT Image Sep 8, 2026, 11_56_17 AM (1).png.jpg`.

Use case: stylized-concept. Asset type: 2D modelling reference sheet for an actual low-poly articulated 3D mobile game character. The provided image is a visual design reference for Bloop, a cute robot gardener. Create a clear front view and side view of the SAME Bloop character on warm plain ivory background. Simplify the reference to clean toy-like forms suitable for a 2000 triangle mesh: large rounded-square cream head, wide dark charcoal face panel, two expressive cyan curved eyes, round cream torso, dark ball joints, short rounded cream limbs, mitten hands, green apron, two-leaf sprout antenna. Neutral standing A-pose with arms a little away from body, no held watering can. Large head approximately 40 percent of total height, generous smooth bevels, matte pastel materials. Preserve green apron and sprout silhouette. Two orthographic views, same size aligned at feet. No cast shadows, no ground scenery, no lettering, no labels, no logos, no watermark. Charming simple style, low surface detail, no realistic wear or fine texture. This is a model reference, not a game screenshot.

## Audio credits

Original synthesised music, short reward melody, and prototype footsteps are generated by `audio.js` with native Web Audio. `music.js` contains eight original 16-bar regional scores: Morning Circuits, Chimes in the Leaves, Clockwork Shuffle, Seabreeze Postcards, Little Seedlings, Dragonfly Reflections, Sunpatch Waltz, and Lamplight & Tea. Melodies, chord voicings, bass, soft pulses and second-half arpeggios are authored note data; no recordings or additional music assets load at runtime. Area changes crossfade over 2.4 seconds, with a quieter score inside cottages. Longer 32-bar arrangements remain a possible later expansion.

The following effects come from [Kenney Interface Sounds 1.0](https://kenney.nl/assets/interface-sounds), created/distributed by Kenney, under CC0. The original licence is preserved in `audio/KENNEY-LICENSE.txt`.

| Local source | Original pack filename | Use |
| --- | --- | --- |
| `audio/click.ogg` | `Audio/click_005.ogg` | General interface confirmation |
| `audio/confirm.ogg` | `Audio/confirmation_002.ogg` | Repair/purchase confirmation under the generated jingle |
| `audio/turn.ogg` | `Audio/pluck_001.ogg` | Pipe tile turn |

Matching `.wav` derivatives are the runtime files, converted with FFmpeg to mono 22,050 Hz PCM for simple cross-browser decoding. Original Ogg files remain as source assets. Runtime effect gain is reduced, simultaneous sampled effects are limited to twelve, and a failed load is reported before a generated-tone fallback is used. Extended listening on phone speakers remains part of the audio milestone.

## Bridges & Neighbours sand texture

Beacon Coast and Tinker’s Scrap Yard reuse these existing generated textures. Their tower, hut, gantry, salvage props, robot accessories and gift furniture are authored Three.js geometry in `frontier-world.js`, `adventure-world.js` and `world.js`; no additional remote assets or libraries are loaded. The two additional original Web Audio scores are “The Homeward Light” and “Almost-Things Rag”, authored in `music.js`.

Generated with the built-in imagegen tool, then copied into this app as [sand-source.png](sand-source.png). The shipped derivative [sand.webp](sand.webp) is 256 × 256, WebP quality 80, 1,900 bytes. Only the derivative loads at runtime. The new neighbours use the existing generated-reference robot mesh with authored hats, headphones, visor and tool-belt geometry.

Final generation prompt:

> Create one seamless tileable square texture for the ground of a cute cozy low-poly 3D robot village game, pale warm honey cream beach sand. Orthographic straight down flat material, softly hand painted broad subtle wavy wind ripples, a few tiny simple rounded peach and ivory grain dots, very low contrast and no cast shadows, no objects, no shells, no borders, no text, even illumination. Intended to be reduced to a tiny 256x256 repeating GPU texture on smartphones. Match a cheerful storybook miniature coastal village, avoid photorealism. Entire image is the sand material.
