Assets

All game assets: sprites, sounds, backgrounds, and level data.

Directory Structure

Content/
├── backgrounds/    ← sky textures, menu backgrounds (PNG)
├── icons/          ← sprite sheets for characters, tiles, objects (PNG)
└── sounds/         ← WAV audio files

worlds/             ← level data (.txt and .vwr)

All assets are committed in the repository and copied next to the executable at build time via CMake post-build commands.

Sprite Sheets (Content/icons/)

FileDimensionsTile SizeGridUsed for
blupi.png600×204060×6010 cols × 34 rowsBlupi player character all animation frames
blupi1.pngNeeds verificationAlternate Blupi sprite (HUD life icon)
element.png600×174060×6010 cols × 29 rows (290 icons)Game objects, enemies, collectibles (ObjectNode sprites)
explo.pngNeeds verification128×128Explosion effects
object-m.png1301×143164×6420 colsTerrain tile textures (all block face UVs)
button.pngNeeds verification40×40UI buttons
text.pngNeeds verification32×32Font glyphs
jauge.pngNeeds verification124×22HUD gauge sprite (bottom-left)
pad.pngNeeds verificationTouch pad (future Android)

Key Icon Indices

SheetIndexUsed for
blupi.png48 (col 8, row 4)HUD life icon (Blupi head)
element.png215 (col 5, row 21)HUD key icon

Background Images (Content/backgrounds/)

FilePurpose
decor000.pngdecor031.pngSky dome textures (region index from level header)
init.pngGamer-select / main menu background overlay
pause.pngPause screen background
win.pngLevel complete background
lost.pngGame over background
setup.pngSettings screen background
wait.pngLoading/wait screen background
trial.pngTrial/demo mode background (not yet in use)
gear.pngSettings/gear icon
speedyblupi.pngSpeedy Blupi title image
blupiyoupie.pngNeeds verification
Note Not all background indices (0–031) have corresponding files. Missing indices (e.g., 005, 014, 017) are simply absent from the repository. Loading a missing background will fail silently in Urho3D's ResourceCache.

Audio Files (Content/sounds/)

93 WAV files named sound000.wavsound092.wav. File index N maps directly to SoundChannel::SoundChannelN. These are the original Speedy Blupi WAV files.

Level Data (worlds/)

FileFormatDescription
world001.txtMobile-eggbert textWorld 1: Grassland
world002.txtMobile-eggbert textWorld 2: Forest
world003.txtMobile-eggbert textWorld 3: Ice Caves
world004.txtMobile-eggbert textWorld 4: Lava Fields
world005.txtMobile-eggbert textWorld 5: Space Station
world001.vwr … (generated)Native binaryGenerated on first run from .txt

Asset Loading

All assets are loaded through Urho3D::ResourceCache using resource-relative paths. The search order is: Data/CoreData/Content/. Within Content/, paths are relative: "icons/blupi.png", "sounds/sound001.wav", etc.

Level files are loaded directly from the filesystem using Urho3D::FileSystem::GetProgramDir() as the base path, not through ResourceCache.

Engine Assets (Data/ and CoreData/)

Urho3D requires its own assets (shaders, default models, default materials) to be present at runtime. These are copied from the U3D or Nova3D engine build output by CMake post-build commands: