Complete guide for managing visual assets in the RPG system for "La Taverne Dorée du Gnome"
- Quick Start
- Directory Organization
- Naming Conventions
- Technical Specifications
- Free Resources
- Asset Manager Utility
- TODO & Priorities
- Go to https://kenney.nl/assets/rpg-pack
- Click "Download" button (CC0 - Public Domain, free to use!)
- Extract the ZIP file
- You'll find hundreds of 16x16 pixel RPG items
From the downloaded Kenney RPG Pack, copy files to:
Downloaded: Kenney RPG Pack/Items/
Copy to: bot/assets/items/
Examples:
- sword*.png → bot/assets/items/weapons/
- potion*.png → bot/assets/items/consumables/
- armor*.png → bot/assets/items/armor/
- gem*.png → bot/assets/items/materials/
Rename files to include rarity tier:
Original: sword1.png
Rename to: sword_common.png
Original: sword2.png
Rename to: sword_uncommon.png
Rarities: common, uncommon, rare, epic, legendary
Here's a minimal set to get started:
Weapons (5 items)
sword_common.png- Basic swordsword_rare.png- Better swordstaff_uncommon.png- Magic staffdagger_common.png- Rogue weaponbow_rare.png- Ranged weapon
Armor (5 items)
helmet_common.png- Basic helmetarmor_uncommon.png- Leather armorshield_rare.png- Shieldboots_common.png- Bootsgloves_uncommon.png- Gloves
Consumables (3 items)
health_potion_common.png- Red potionmana_potion_common.png- Blue potionelixir_rare.png- Buff potion
Materials (3 items)
iron_ore_common.png- Crafting materialwood_common.png- Crafting materialgem_rare.png- Rare material
bot/assets/
├── 🏛️ characters/ # Portraits de classes et sprites personnages
│ ├── portraits/ # Portraits HD pour sélection classe (256x256)
│ ├── avatars/ # Avatars Discord embeds (64x64)
│ └── sprites/ # Sprites pixel art pour jeux (32x32)
├── 🗡️ items/ # Objets et équipements RPG
│ ├── weapons/ # Armes (épées, bâtons, dagues, arcs)
│ ├── armor/ # Armures (casques, plastrons, boucliers)
│ ├── accessories/ # Accessoires (anneaux, amulettes, capes)
│ ├── consumables/ # Consommables (potions, parchemins)
│ └── casino/ # Objets casino spéciaux (pièces chance, etc.)
├── 👹 monsters/ # Créatures et ennemis (futurs combats PvE)
├── 🎰 casino/ # Assets spécifiques casino
│ ├── machines/ # Machines à sous thématiques
│ ├── tables/ # Tables de jeu (blackjack, roulette)
│ ├── cards/ # Cartes de jeu et jetons
│ └── effects/ # Effets visuels (jackpot, gains)
├── 🎭 ui/ # Éléments d'interface utilisateur
│ ├── buttons/ # Boutons et contrôles
│ ├── frames/ # Cadres et bordures
│ ├── icons/ # Icônes système (stats, navigation)
│ └── backgrounds/ # Arrière-plans et textures
└── ✨ effects/ # Effets visuels et animations
├── particles/ # Particules magiques et casino
├── spells/ # Effets de sorts et capacités
└── celebrations/ # Animations de victoire et level-up
Format: <classe>_<type>_<variant>.png
Classes disponibles:
warrior- Guerrier 🗡️mage- Mage 🔮rogue- Voleur 🥷merchant- Marchand 💰bard- Barde 🎵paladin- Paladin ⚔️
Types:
portrait- Portrait haute qualité (sélection classe)avatar- Avatar Discord embed (64x64)sprite- Sprite pixel art (jeux)
Examples:
warrior_portrait_male.png
mage_avatar_female.png
rogue_sprite_idle.png
Format: <objet>_<rareté>_<variant>.png
Rarity Levels:
common- Commun (Gris/Blanc)uncommon- Peu commun (Vert)rare- Rare (Bleu)epic- Épique (Violet)legendary- Légendaire (Orange/Doré)
Examples:
sword_legendary_fire.png
health_potion_common.png
dragon_helmet_epic.png
luck_charm_rare.png
Format: <type>_<thème>_<état>.png
Casino Themes:
crystal- Cristaux magiquesdragon- Thème dragontavern- Ambiance tavernegolden- Doré/luxueux
Examples:
slot_machine_crystal_idle.png
roulette_table_golden.png
blackjack_card_back.png
- Size: 64x64 pixels (standard Discord embed)
- Format: PNG with transparency
- File size: Max 256KB (Discord limit)
- Background: Transparent
- Style: Consistent pixel art or semi-realistic
- Size: 256x256 pixels (high quality)
- Format: PNG with transparency
- Usage: Class selection, profiles
- Style: Detailed, fantasy art
- Size: 32x32 pixels (classic pixel art)
- Format: PNG with transparency
- Animations: Horizontal sprite sheets 32x32 per frame
- Usage: Discord Activity, mini-games
- Size: Variable depending on context (maintain proportions)
- Format: PNG with transparency
- Optimization: Compressed for fast web loading
- Consistency: Uniform style with tavern theme
- URL: https://kenney.nl/assets
- License: CC0 (public domain)
- Recommended Packs:
- "RPG Pack" (fantasy equipment)
- "Pixel UI Pack" (interface elements)
- "Roguelike/RPG Characters" (characters)
- URL: https://opengameart.org
- License: CC0/CC-BY depending on assets
- Searches: "RPG items", "casino icons", "character portraits"
- Advantage: Huge variety, active community
- URL: https://game-icons.net
- Collection: 4,000+ vector icons
- License: CC-BY 3.0 (attribution required)
- Export: Customizable PNG (32x32 to 256x256)
- URL: https://itch.io/game-assets/free/tag-pixel-art
- Filter: Free + Pixel Art + RPG
- Advantage: Cohesive themed packs
DALL-E 3:
"32x64 pixel art [object] icon, transparent background, RPG fantasy style, tavern theme"
Stable Diffusion:
- Specialized pixel art models
- LoRA RPG/Fantasy assets
Scenario.gg:
- Specialized game assets
- Guaranteed stylistic consistency
Gamelab Studio:
- AI-generated game assets
- Customizable styles
- VScode extension for asset generation
- URL: https://gamelabstudio.co/
For quick testing without downloads:
- Visit https://game-icons.net
- Search for an icon (e.g., "sword")
- Click the icon
- Set color, background
- Download as PNG (64x64)
- Save to
bot/assets/items/weapons/sword_legendary.png
Pros: Instant, huge library, consistent style
Cons: Not pixel art (but works great for icons)
import { AssetManager } from './utils/assetManager';
// Item icon for Discord embed
const iconUrl = AssetManager.getItemIcon('sword', 'legendary');
// Class portrait for character selection
const classPortrait = AssetManager.getClassPortrait('warrior', 'male');
// Sprite for Discord Activity
const monsterSprite = AssetManager.getMonsterSprite('dragon_boss');
// Discord embed integration
const embed = new EmbedBuilder()
.setThumbnail(iconUrl)
.setTitle('Épée Légendaire du Dragon')
.setColor(AssetManager.getRarityColor('legendary')); // Orange/goldconst rarityColors = {
common: '#9D9D9D', // Gray
uncommon: '#1EFF00', // Green
rare: '#0099CC', // Blue
epic: '#CC00FF', // Purple
legendary: '#FF8000' // Orange/Gold
};import { AssetManager } from '../utils/assetManager';
import { EmbedBuilder } from 'discord.js';
// Get a legendary sword icon
const swordIcon = AssetManager.getItemIcon('weapons', 'sword', 'legendary');
// Create embed with the icon
const embed = new EmbedBuilder()
.setTitle('⚔️ Legendary Dragon Sword')
.setDescription('A mighty blade forged in dragon fire!')
.setColor(AssetManager.getRarityColor('legendary'))
.setThumbnail(swordIcon);
await interaction.reply({ embeds: [embed] });Want to host assets on Discord's CDN for free?
- Create a private channel in your server
- Upload all your assets there
- Right-click → Copy Link
- Use those CDN URLs in your bot
Benefits: Free hosting, fast loading, no local files needed
If you use CC-BY assets, maintain attribution here:
<!-- Format example:
Asset Name - Artist - License - Source URL
health_potion_common.png - Kenney - CC0 - https://kenney.nl/assets/rpg-pack
warrior_portrait.png - Artist Name - CC-BY 3.0 - https://opengameart.org/...
-->
🚧 Assets to add - See TODO section below-
Character Classes (6 portraits + 6 avatars)
- Warrior male/female portraits (256x256)
- Mage male/female portraits (256x256)
- Rogue, Merchant, Bard, Paladin portraits
- 6 corresponding Discord avatars (64x64)
-
Basic Equipment (15-20 items)
- 5 main weapons (sword, staff, dagger, bow, hammer)
- 5 armor pieces (helmet, chestplate, gloves, boots, shield)
- 5 accessories (ring, amulet, cape, belt, pouch)
-
Consumables & Casino (10-15 items)
- 5 potions (health, mana, luck, strength, speed)
- 5 casino items (luck coin, golden dice, lucky card)
-
Casino Activity UI (20-30 elements)
- Buttons (join, bet, quit)
- Tables (blackjack, roulette, slot machines)
- Cards and chips
- Visual effects (wins, jackpot, level-up)
- PvE Monsters (future combat system)
- Advanced Animations (sprite sheets)
- Themed Backgrounds (tavern, casino)
- Particles and Effects (magic, celebrations)
Don't try to download everything at once:
- ✅ Get 5-10 weapon icons
- ✅ Get 5 potion icons
- ✅ Get 3-5 armor pieces
- ✅ Test in Discord bot
- ✅ Expand as needed
- Discord Testing: Test all assets in Discord embeds before committing
- Stylistic Consistency: Maintain uniform style throughout the project
- Web Performance: Compress assets for Discord Activity (fast loading)
- Backup: Keep high-quality sources separately
- Versioning: Commit assets in logical batches (by theme/rarity)
Check these resources:
- Asset manager utility code (when implemented)
- Asset helper scripts (when implemented)
- This documentation for all specifications
🎨 Ready to bring La Taverne Dorée to life!
From pixels to experience, every detail counts