Skip to content

Asset Reuse Plan

Purpose

This document maps the local Kenney collection to Heliograph and identifies what still needs to be authored. It is the source of truth for third-party asset selection.

The audited source is:

text
/Users/argus/Downloads/kenny

That location is an import source only. Godot scenes must never reference /Users/argus/Downloads; selected files are copied into res://assets/vendor/kenney/ with stable semantic names or documented atlas coordinates.

Audit summary

The folder contains 3,510 filesystem entries and is approximately 16 MB. Eleven Kenney packs are present.

PackFilesDecisionReason
kenney_pixel-platformer252Use selected atlas IDsCore world props and player seed; biome backgrounds remain excluded
kenney_pixel-platformer-industrial-expansion122UseBest fit for relay machinery, platforms, Watcher, terminal
kenney_pixel-platformer-blocks338Use stone subsetLarge architectural blocks and engraved stone detail
kenney_ui-pack-pixel-adventure519Use small thin subsetHUD frames, buttons, warning banners, mapping cards
kenney_input-prompts-pixel823Use keyboard subsetTutorial and interaction prompts
kenney_kenney-fonts13Use three fontsDisplay, HUD, and terminal typography
kenney_pixel-platformer-farm-expansion122Do not useRural crops and tools do not support the relay-station theme
kenney_pixel-platformer-food-expansion122Do not useThematic mismatch and no required gameplay role
kenney_platformer-art-buildings104Do not useNon-pixel/vector style conflicts with the selected pixel family
kenney_platformer-art-extended-enemies186Do not useDifferent proportions and no enemy matches the fixed mechanical Watcher
kenney_platformer-art-pixel908Do not useOlder palette, density, and character language would create a mixed style

All audited packs declare Creative Commons Zero (CC0). Attribution is not required, but the shipped credits should still include Kenney - kenney.nl, and copies of the source license files should remain under assets/vendor/kenney/licenses/.

Scale and import policy

The selected world packs use 18x18px tiles. Preserve their pixels at integer 2x scale:

SourceNative sizeGame presentation
World and industrial tiles18x18px36x36px world grid
Character and background cells24x24px48x48px visual cells
Small UI and input prompts16x16px32x32px UI cells
Pixel fontsVector font fileInteger font sizes; no fractional Control scale

Godot import rules:

  • texture filter: Nearest;
  • mipmaps: disabled for sprites, tiles, UI, and prompts;
  • repeat: disabled unless a specific background texture is intentionally tiled;
  • atlas region separation: 0 for every _packed.png source;
  • visual scaling: integer 2x; do not resample source PNG files to 32px;
  • collision remains independent from sprite transparency;
  • camera visuals should settle on integer pixels even though physics positions may remain fractional.

Repository layout

Copy a curated set, not the entire Downloads directory:

text
res://assets/
  vendor/kenney/
    atlases/
      pixel_platformer_world.png
      pixel_platformer_characters.png
      industrial.png
      stone_blocks.png
      ui_small_thin.png
      input_prompts.png
    fonts/
      kenney_pixel_square.ttf
      kenney_mini_square.ttf
      kenney_mini_square_mono.ttf
    licenses/
      pixel_platformer.txt
      industrial.txt
      blocks.txt
      ui_pixel_adventure.txt
      input_prompts.txt
      fonts.txt
  game/
    characters/courier/
    glyphs/
    ui/
    fx/
    audio/

The copied atlas names are stable project APIs. Source pack names and numbered tile IDs stay documented here so an atlas can be regenerated or replaced safely.

Locked atlas sources

Project targetExact local sourceRegionColumns
pixel_platformer_world.pngkenney_pixel-platformer/Tilemap/tilemap_packed.png18x1820
pixel_platformer_characters.pngkenney_pixel-platformer/Tilemap/tilemap-characters_packed.png24x249
industrial.pngkenney_pixel-platformer-industrial-expansion/Tilemap/tilemap_packed.png18x1816
stone_blocks.pngkenney_pixel-platformer-blocks/Tilemap/stone_packed.png18x189
ui_small_thin.pngkenney_ui-pack-pixel-adventure/Tilesheets/Small tiles/Thin outline/tilemap_packed.png16x1623
input_prompts.pngkenney_input-prompts-pixel/Tilemap/tilemap_packed.png16x1634

Numbered source IDs are row-major. Convert an ID to atlas coordinates with:

text
x = id % columns
y = floor(id / columns)

World asset manifest

Courier seed

Source IDAtlas coordinateProject roleTreatment
Character tile_0006(6, 0)Courier idle seedUse as the approved silhouette and palette frame
Character tile_0007(7, 0)Courier movement seedUse as the second prototype frame and animation reference

These two frames are not a complete animation set. They establish the yellow suit, helmet, scale, bottom-center anchor, and facing direction for custom frames.

Relay architecture and props

IDs in this table refer to pixel_platformer_world.png.

Source ID or rangeAtlas coordinateHeliograph use
tile_0064-0066(4-6, 3)Three mirror/lever poses for cipher plates and checkpoint movement
tile_0067(7, 3)Signal-cell icon and checkpoint core
tile_0069-0070(9-10, 3)Small pedestal and mirror mounting pieces
tile_0084-0088(4-8, 4)Direction signs and route-language props
tile_0130(10, 6)Exit shutter/door base sprite
tile_0151(11, 7)Gold charge disc for HUD or checkpoint feedback
tile_0152(12, 7)Vertical signal marker for clue and exit feedback

Do not use the pack's grass, water, cactus, mushroom, snow, or fantasy creature tiles. They conflict with the relay complex.

Industrial terrain and machinery

IDs in this table refer to industrial.png.

Source ID or rangeAtlas coordinateHeliograph use
tile_0000-0003(0-3, 0)Primary metal-capped floor edge
tile_0016-0019(0-3, 1)Floor and wall transition tiles
tile_0032-0035(0-3, 2)Solid wall fill variants
tile_0048-0051(0-3, 3)Deeper wall and pillar fill variants
tile_0057(9, 3)Cipher clue plate housing
tile_0059(11, 3)Pedestal/mast used by checkpoint, terminal, and Watcher
tile_0064-0065(0-1, 4)Red alert and blue checkpoint beacon
tile_0073(9, 4)Terminal display and status screen
tile_0075-0077(11-13, 4)Vertical pipe and machine body pieces
tile_0083(3, 5)Watcher rotating mirror-head base
tile_0087-0090(7-10, 5)Active light-platform strip and inactive anchor silhouette
tile_0091-0093(11-13, 5)Pipe bends and relay conduits
tile_0107-0111(11-15, 6)Horizontal pipe run and end caps
tile_0042(10, 2)Sentry and lethal-route warning sign

Exclude the acid-green terrain and tubes from gameplay surfaces. Green is reserved neither for sunlight nor danger and would weaken the solar-noir palette.

Stone background kit

Use stone_blocks.png behind collision terrain, tinted toward Twilight and Shadow:

Source rangeHeliograph use
tile_0000-0026Engraved caps, corners, vents, and small wall reliefs
tile_0027-0080Multi-tile monoliths, pillars, and distant relay foundations

Stone blocks are background architecture by default. The industrial atlas remains the authoritative collision edge so players see one consistent floor language.

Background decision

Do not import tilemap-backgrounds_packed.png. Its forest, desert, snow, and cactus silhouettes are technically compatible but thematically wrong for the relay station. Build parallax architecture from tinted stone blocks and industrial pipe silhouettes, then add the small custom mirror-array set listed below.

Composite gameplay objects

These objects require scenes and transforms, not new raster art:

ObjectReused partsAdditional Godot presentation
WatcherGenerated three-state optical sentry sheetRotating sensor pivot, additive cone shader, boundary rays, warning lock ray
Sunlight apertureGenerated narrow, medium, and wide optical modulesWidth-selected source sprite, additive beam shader, hard gameplay edges, drifting motes
CheckpointIndustrial 0059 mast + 0065 beacon + world 0067 cellCyan glow, one activation animation, particles
Cipher clueIndustrial 0057 frame + world 0064-0066 leverCustom glyph overlay, lit/unlit shader state
Cipher terminalIndustrial 0073 screen + 0059 mastCustom glyph sequence, interaction prompt, paused UI
Light platformIndustrial 0087-0090 stripFull opacity when active; low-alpha anchors when inactive
Exit shutterWorld 0130 + industrial pipe/girder piecesAnimationPlayer opening and final signal glow

The sight cone, sunlight beams, shadow masks, dash trail, dust, glow, and alert pulse should be made with Polygon2D, duplicated sprites, particles, and shaders. They do not need standalone texture files for the jam build.

UI asset manifest

Use the thin-outline small UI atlas at integer 2x. Do not mix the large 32px UI tiles into the same screen; their pixel density differs at the chosen scale.

UI source IDAtlas coordinateHeliograph use
tile_0018(18, 0)Dark icon well and inactive slot
tile_0039(16, 1)Dark framed mapping card / NinePatch source
tile_0070(1, 3)Danger-state button or indicator
tile_0072(3, 3)Signal-state button or indicator
tile_0074(5, 3)Confirmed/solved indicator
tile_0076(7, 3)Charge pip
tile_0077(8, 3)Low-charge warning mark
tile_0083-0085(14-16, 3)Three-part red Watcher warning banner

Use Godot StyleBoxFlat for the charge bar, terminal, and large plain panel bodies. The selected Kenney tiles provide mapping cards, buttons, warnings, and icon wells without forcing every surface into a tiled texture.

Input prompt manifest

Use individual regions from input_prompts.png for the first keyboard tutorial:

Source IDAtlas coordinateAction
tile_0017(17, 0)Escape / close / pause
tile_0086(18, 2)W alternate jump
tile_0087(19, 2)E interact
tile_0120(18, 3)A move left
tile_0122(20, 3)D move right
tile_0134(32, 3)Enter / submit
tile_0156(20, 4)X alternate dash prompt

The pack stores wide keys as multiple small tiles. Build Space and Shift prompts as UI capsules using the selected font rather than assembling unclear multi-part key art. Physical bindings remain as documented in the InputMap.

Font manifest

Exact sourceProject role
kenney_kenney-fonts/Fonts/Kenney Pixel Square.ttfTitle, room names, large success text
kenney_kenney-fonts/Fonts/Kenney Mini Square.ttfHUD labels and short instructions
kenney_kenney-fonts/Fonts/Kenney Mini Square Mono.ttfCipher mappings, terminal input, debug overlay

Use short copy. Pixel fonts should not be used for dense paragraphs or scaled fractionally.

Per-level reuse

LevelKenney assets used
First SignalIndustrial terrain, stone background blocks, lever clue frames, blue checkpoint beacon, light-platform strip, terminal screen, exit door, courier
Watcher HallFirst Signal kit plus Watcher composite, red beacon, warning sign/banner, pipe runs, additional light-platform sections
Last TransmissionFull kit plus large stone monoliths, dense relay conduits, custom mirror-array silhouette, final shutter assembly

Levels gain complexity through composition and lighting, not by introducing a new asset style per level.

Asset production status

P0: required to ship the game identity

AssetStatusProduction approach
Courier animation completionComplete for vertical sliceGenerated 4x3 source sheet; locally removed chroma key; normalized to twelve anchored 64x64 runtime frames
Cipher glyph setCompleteEleven geometric SVG masks mapped through GlyphLibrary
Exposure shutter iconCompleteOpen and closed SVG indicators integrated into the HUD
Final mirror-array silhouetteCompleteTintable SVG emblem integrated into title and win screens
Relay-station backdropCompleteGenerated solar-noir panorama integrated behind gameplay and screens
Watcher visual statesCompleteGenerated neutral, warning, and firing frames normalized to shared 96x96 canvases
Sunlight aperture modulesCompleteThree generated source modules normalized to shared 192x96 canvases
Game audioNot startedTwo ambient loops and core interaction SFX still require a separate audio pass

The eleven required glyphs are:

text
solar_disc, open_cup, north_needle,
split_ring, relay_fork, low_horizon, glass_lens,
prism, eastern_arch, double_wave, north_star

P1: polish after a complete playthrough

  • Courier turn frame and additional idle variation.
  • Unique title lockup using Kenney Pixel Square as the base.
  • One landmark silhouette for each level.
  • Custom checkpoint flare and final signal beam texture if procedural effects are insufficient.
  • Promotional key art and store/jam-page screenshots.

Audio backlog

No supplied Kenney pack contains audio. The minimum audio list is:

  • sunlight and shadow ambient loops;
  • jump/land pair;
  • dash shutter snap;
  • enter-light and low-charge feedback;
  • Watcher acquire, warning, and fire;
  • checkpoint activation;
  • glyph discovery;
  • terminal accept, reject, and cipher solved;
  • death collapse and final signal.

Music remains optional. State-readable sound effects take priority.

Sprite production rule

The Courier uses one generated source sheet and a deterministic normalization workflow:

  1. Preserve the checked-in chroma and alpha source sheets for provenance.
  2. Run tools/process_courier_sheet.gd after any approved source-sheet replacement.
  3. Preserve the same yellow suit, round helmet, cyan cell, facing direction, and frame order.
  4. Normalize every frame to the shared 64x64 bottom-center canvas.
  5. Inspect representative idle, run, jump, dash, and death frames before integration.
  6. Validate the animated scene against the unchanged 20x38px gameplay collider.

Do not recolor the Courier per state; light and shadow are communicated through rim tint, the cyan cell, and environment response.

Integration sequence

  1. Complete: copy the six locked atlases, three fonts, and six license files into res://assets/vendor/kenney/.
  2. Complete for the vertical slice: use normalized generated frames for the Courier and Watcher, generated aperture modules for sunlight sources, and AtlasTextures for checkpoint, clue, and terminal components.
  3. Complete: build and visually verify one style-proof route with terrain, checkpoint, platform, Watcher, terminal, and both light states.
  4. Deferred until more terrain content exists: create reusable Godot TileSet atlas sources for world, industrial, and stone at 18x18px region size.
  5. Produce the Courier strips and custom glyph set after movement and encounter playtesting.
  6. Add the prompt atlas where first-time tutorial prompts replace the current text labels.
  7. Add audio, final signal assets, and shipping screenshots last.

Acceptance criteria

  • No scene references /Users/argus/Downloads/kenny.
  • All selected textures render with nearest filtering and integer scale.
  • Collision aligns with the 36px world grid despite 18px source textures.
  • Kenney terrain, UI, and character art share one visible pixel density.
  • Every imported atlas and tile ID has a documented gameplay role.
  • Excluded packs are not mixed into the shipped levels.
  • Custom Courier frames match the seed silhouette and anchor.
  • License copies and voluntary Kenney credit ship with the game.