Learn how to replace game graphics, sounds, and other assets with your custom creations.
[heading: "Understanding Asset Replacement"]Asset replacement allows you to modify the game's visual and audio elements without changing the game code. You can replace:
[list] * Images and spritesheets * Sound effects * UI elements * Fonts and text graphics [/list] [heading: "Basic Asset Replacement"] [subheading: "Step 1: Prepare Your Assets"]Create your custom assets with the same dimensions and format as the originals:
[table header] [ Asset Type | Format | Dimensions | Notes ] [ Spritesheets | PNG | Varies | Maintain frame sizes ] [ UI Elements | PNG | 8x8 multiples | Pixel art style ] [ Audio | OGG | - | OGG format recommended ] [/table] [subheading: "Step 2: Configure Manifest"]Add asset mappings to your manifest.json:
Arrows spritesheet has specific frame order for note colors:
[codeblock plaintext] Frame 0: Red (4th notes) Frame 1: Blue (8th notes) Frame 2: Purple (12th notes) Frame 3: Yellow (16th notes) Frame 4: Pink (24th notes) Frame 5: Orange (32nd notes) Frame 6: Cyan (48th notes) Frame 7: Green (64th notes) Frame 8: White (96th notes) Frame 9: Sky Blue (128th notes) Frame 10: Olive (192nd notes) Frame 11: Gray (Ultra-fast notes) [/codeblock] [subheading: "Receptor Animation Frames"]Receptor spritesheet has 3 frames:
[codeblock plaintext] Frame 0: Pressed state Frame 1: Transition frame Frame 2: Default state [/codeblock] [subheading: "Window Frame System"]Window spritesheets use a 3x3 grid system:
[codeblock] [0] [1] [2] - Top row (corners and top edge) [3] [4] [5] - Middle row (sides and fill) [6] [7] [8] - Bottom row (corners and bottom edge) [/codeblock] [heading: "Creating Custom Assets"] [subheading: "Tools for Asset Creation"] [list] * Aseprite - Professional pixel art tool * Piskel - Free online pixel art editor * GIMP - Free image editor with pixel tools * Acode - Mobile file management for testing [/list] [subheading: "Color Palette"]PadManiaX uses a retro color palette. Recommended colors:
[codeblock plaintext] Primary colors: - Brown: #8B4513 (UI windows) - Cyan: #76FCFF (Text highlights) - White: #FFFFFF (Text) Note colors (see frame order above) Game uses various colors for different note speeds [/codeblock] [heading: "Testing Your Assets"] [subheading: "Enable Debug Mode"]Use the developer console to verify asset loading:
[codeblock js] eruda.init(); // Enable console console.log("Testing custom assets..."); [/codeblock] [subheading: "Common Issues"] [table header] [ Issue | Cause | Solution ] [ Asset not loading | Wrong file path | Check manifest paths ] [ Wrong colors | Incorrect frame order | Verify spritesheet order ] [ Performance issues | Large file size | Optimize image size ] [ Missing frames | Wrong dimensions | Match original dimensions ] [/table] [heading: "Example: Custom Arrow Pack"] [subheading: "Manifest"] [codeblock json] { "id": "neon-arrows", "name": "Neon Arrow Pack", "version": "1.0.0", "author": "Your Name", "description": "Glowing neon-style arrows", "assets": { "arrows": "assets/neon_arrows.png", "receptor": "assets/neon_receptor.png", "explosion": "assets/neon_explosion.png", "mine": "assets/neon_mine.png" } } [/codeblock] [subheading: "File Structure"] [codeblock plaintext] NeonArrows/ ├── manifest.json └── assets/ ├── neon_arrows.png (16x192 - 12 frames of 16x16) ├── neon_receptor.png (16x48 - 3 frames of 16x16) ├── neon_explosion.png (Single image) └── neon_mine.png (16x128 - 8 frames of 16x16) [/codeblock] [heading: "Best Practices"] [list] * Maintain original dimensions and frame counts * Use PNG format for transparency * Optimize file sizes for mobile performance * Test on different devices and screen sizes * Provide preview images for your addon [/list] [heading: "Next Steps"]Now that you've understood how to replace game assets, check out these tutorials:
[list] * Creating Behavior Scripts * Modifying UI [/list] [footer: "© Retora 2025"]