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/)
| File | Dimensions | Tile Size | Grid | Used for |
|---|---|---|---|---|
blupi.png | 600×2040 | 60×60 | 10 cols × 34 rows | Blupi player character all animation frames |
blupi1.png | Needs verification | — | — | Alternate Blupi sprite (HUD life icon) |
element.png | 600×1740 | 60×60 | 10 cols × 29 rows (290 icons) | Game objects, enemies, collectibles (ObjectNode sprites) |
explo.png | Needs verification | 128×128 | — | Explosion effects |
object-m.png | 1301×1431 | 64×64 | 20 cols | Terrain tile textures (all block face UVs) |
button.png | Needs verification | 40×40 | — | UI buttons |
text.png | Needs verification | 32×32 | — | Font glyphs |
jauge.png | Needs verification | 124×22 | — | HUD gauge sprite (bottom-left) |
pad.png | Needs verification | — | — | Touch pad (future Android) |
Key Icon Indices
| Sheet | Index | Used for |
|---|---|---|
blupi.png | 48 (col 8, row 4) | HUD life icon (Blupi head) |
element.png | 215 (col 5, row 21) | HUD key icon |
Background Images (Content/backgrounds/)
| File | Purpose |
|---|---|
decor000.png … decor031.png | Sky dome textures (region index from level header) |
init.png | Gamer-select / main menu background overlay |
pause.png | Pause screen background |
win.png | Level complete background |
lost.png | Game over background |
setup.png | Settings screen background |
wait.png | Loading/wait screen background |
trial.png | Trial/demo mode background (not yet in use) |
gear.png | Settings/gear icon |
speedyblupi.png | Speedy Blupi title image |
blupiyoupie.png | Needs verification |
Audio Files (Content/sounds/)
93 WAV files named sound000.wav … sound092.wav.
File index N maps directly to SoundChannel::SoundChannelN.
These are the original Speedy Blupi WAV files.
Level Data (worlds/)
| File | Format | Description |
|---|---|---|
world001.txt | Mobile-eggbert text | World 1: Grassland |
world002.txt | Mobile-eggbert text | World 2: Forest |
world003.txt | Mobile-eggbert text | World 3: Ice Caves |
world004.txt | Mobile-eggbert text | World 4: Lava Fields |
world005.txt | Mobile-eggbert text | World 5: Space Station |
world001.vwr … (generated) | Native binary | Generated 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:
Data/Techniques/Diff.xml,DiffAlpha.xml,DiffSkydome.xml,NoTexture.xmlCoreData/Shaders/— GLSL/HLSL shadersCoreData/Models/Box.mdl,Sphere.mdl— basic geometry used by terrain and sky dome