Custom Theme Creator Guide
Overview
The Theme Creator is a powerful web-based tool that allows you to create and manage custom themes for SoulWars. With the Theme Creator, you can upload your own artwork, music, and configure how players experience your custom battle environment.
Getting Started
Accessing the Theme Creator
Navigate to the Theme Creator page in the SoulWars application
You'll see a list of your existing themes (if any)
Click "Create New Theme" to start a new theme
Creating Your First Theme
Enter a Theme Name (required, max 128 characters)
Add a Description (optional, max 1024 characters) to help others understand your theme
Click "Create Theme"
Your new theme will be created with default settings and a single "Warrior" player class.
Asset Requirements
Cover Image
The cover image is displayed when browsing themes in the shop or theme selector.
Format: JPG only
Aspect Ratio: 2:1 (e.g., 1200x600px or 1600x800px)
Dimensions:
Minimum: 600x300px
Maximum: 4096x2048px
Purpose: Main promotional image for your theme
Battlefield Maps
Battlefield maps are the background environments where battles take place.
Format: JPG only
Aspect Ratio: 1:1 (square)
Dimensions:
Minimum: 1024x1024px
Maximum: 4096x4096px
Recommendation: Use 2048x2048px for optimal quality/performance balance
Multiple Maps: You can upload multiple battlefield maps for variety
Player Images
Player images represent the characters that fight in battles.
Format: PNG only (for transparency support)
Aspect Ratio: 1:1 (square)
Dimensions:
Maximum input: 2048x2048px
Automatically resized to: 512x512px
Transparency: PNG alpha channel is preserved
Metadata: Each player requires:
Player Name: Display name (optional)
Class: Must match one of your theme's classes
Music Tracks
Background music plays during battles.
Format: MP3 only
File Size: Maximum 10MB
Duration: Recommended 2:30 (150 seconds) for looping
Quality: 128-192 kbps recommended
Multiple Tracks: Upload multiple tracks for variety
Screen Images
Screen images are displayed during intermissions between battle phases.
Format: JPG or PNG
Aspect Ratio: 1:1 (square)
Dimensions: Maximum 2048x2048px
Purpose: Visual backgrounds for intermission messages
Managing Player Classes
Player classes categorize your player characters. The default "Warrior" class is always present.
Adding a Class
Navigate to the Player Images section
Find the Classes subsection
Enter a new class name (max 64 characters)
Click "Add"
Removing a Class
Find the class in the Classes list
Click the × button next to the class name
Note: You cannot remove the "Warrior" class
Using Classes
When uploading player images, you can assign them to specific classes. This helps organize your characters and allows the game to select appropriate characters for different scenarios.
Managing Player Taunts
Player taunts are text messages that appear in comic-style chat bubbles above characters during gameplay. Taunts add personality and atmosphere to battles.
What Are Taunts?
Taunts are short text phrases that players "say" during specific in-game events:
Combat actions: Attacking, hitting, taking damage
Eliminations: Killing an opponent or dying
Behaviors: Fleeing, seeking food, picking up items
Adding Taunts to a Player
Navigate to the Players section
Click on a player to expand their details
Scroll to the Taunts section
Enter taunt text in the input field
(Optional) Select an Event from the dropdown
Press Enter or click "Add"
Event Types
Taunts can be assigned to specific events or left generic:
Attack
Player starts attacking
"Face me!", "Here I come!"
Hit
Player damages opponent
"Take that!", "Got you!"
Hurt
Player takes damage
"Ugh!", "Not bad..."
Killed
Player eliminates someone
"Victory!", "Another one down!"
Death
Player is eliminated
"I'll be back...", "Worth it!"
Threaten
Player enters attack mode
"You're mine!", "Come here!"
Food
Player approaches food
"Nom nom!", "Snack time!"
Pickup
Player collects an item
"Nice!", "Score!"
Run
Player flees from danger
"Tactical retreat!", "Not today!"
No Event
Used as fallback
"Who's next?", "Let's go!"
Best Practices for Taunts
Text Length
Keep taunts short and punchy (3-10 words ideal)
Bubbles wrap at 300px width, so you have some room
Example: "Got you!" is better than "I have successfully struck you with my weapon!"
Event Selection
Use event-specific taunts for immersive context
"Take that!" works great for
hit"Ouch!" works well for
hurt
Use generic taunts (no event) for:
General personality phrases
Fallbacks when no event-specific taunt exists
Idle chatter between actions
Balanced Taunt Sets
For each player, aim for:
2-3 taunts per important event (attack, hit, killed, death)
3-5 generic taunts for variety
Total: 15-25 taunts per player for good coverage
Character Personality
Match taunts to your character's personality:
Aggressive Warrior:
Attack: "Die!", "Face me!"
Hit: "Pathetic!", "Too slow!"
Death: "Impossible!", "This isn't over!"
Comedic Character:
Attack: "Tickle time!", "Oops!"
Hit: "Boop!", "Did I do that?"
Death: "Worth it!", "I regret nothing!"
Heroic Knight:
Attack: "For honor!", "Stand and fight!"
Hit: "Justice prevails!", "Victory is near!"
Death: "Tell my story...", "Avenge me!"
Frequency Considerations
Common events need repeatable taunts:
Attack/Hit/Hurt: Simple, can repeat often
✓ "Oof!", "Gotcha!", "Ugh!"
✗ "This is my seventh victory in the battle of eternal glory!" (too long, too specific)
Rare events can be more dramatic:
Killed/Death: More memorable, less repetition
✓ "I am victorious!", "My legacy ends here..."
✗ "Ha!" (too plain for important moment)
Visual Display
Taunts appear as:
White speech bubbles with black borders
Black Comic Sans text for classic comic feel
Positioned just above player's name (5px gap, following movement)
Duration: 2-3 seconds per bubble
Automatic cooldown: 30-60 seconds per player
Maximum 5 bubbles on screen at once
Only active when 20 or fewer players alive (prevents early-game clutter)
Event badges in the theme editor show each taunt's trigger with color coding:
🔴 Attack, Threaten (red/orange)
🟡 Hit, Hurt (yellow/orange)
🟣 Killed, Death (purple/gray)
🟢 Food (green)
🔵 Pickup, Run (blue/indigo)
Managing Generic Theme Taunts
In addition to player-specific taunts, you can add theme-wide generic taunts that any player can use:
Navigate to Theme Settings (if available)
Find Generic Taunts section
Add taunts that work for all players
Generic taunts are:
Used when players have no specific taunts
Randomly triggered during idle moments
Great for general battle atmosphere
Tips and Examples
Create Variety
Don't repeat the same phrase:
❌ "Take that!" (attack), "Take that!" (hit), "Take that!" (killed)
✓ "Here I come!" (attack), "Got you!" (hit), "Victory!" (killed)
Match the Moment
Consider what a player would say:
Attack: Aggressive, threatening → "You're mine!"
Hurt: Pained, surprised → "Ugh!", "That hurt!"
Killed: Triumphant → "Another one down!"
Death: Defeated, defiant → "I'll be back..."
Test Your Taunts
Read them aloud - do they sound natural?
Imagine them appearing rapidly during battle
Make sure they're readable at a glance
Removing Taunts
Find the taunt in the player's taunt list
Click the × button next to it
The taunt is immediately removed
Example: Creating a Complete Taunt Set
Let's create taunts for "Sir Valiant," a heroic knight:
Combat Taunts:
Attack: "En garde!", "For the kingdom!"
Hit: "Taste my blade!", "Strike true!"
Hurt: "A scratch!", "You dare?"
Outcome Taunts:
Killed: "Justice prevails!", "Victory is mine!"
Death: "Tell my tale...", "Avenge me!"
Behavior Taunts:
Threaten: "Prepare yourself!", "Draw your weapon!"
Food: "A moment's respite", "Fortifying!"
Run: "Tactical retreat!", "Regroup!"
Generic Taunts:
"For honor!", "Who's next?", "Stand ready!", "The battle rages on!"
This gives Sir Valiant 14 total taunts with good coverage across all events.
Configuring Intermission Screens
Intermission screens appear between battle phases to display information, create suspense, or allow player interaction.
Creating an Intermission Screen
Navigate to the Intermission Screens section
Click "Add Screen"
Configure the screen properties:
Screen ID: Unique identifier (e.g.,
top10_players)Title: Main heading displayed
Subtitle: Secondary text (optional)
Duration: How long the screen displays (in seconds)
Music: Optional background music track
Content Types
Choose the type of content to display:
Message
Simple text message display.
Required: Message text
Message with Image
Text message with a background image.
Required: Message text, Screen image (from uploaded screens)
Player List
Shows remaining players and their inventories.
Options:
Show Inventory (yes/no)
Max Items Per Player Row (1-20)
Player List with Action
Player list with an interactive button.
Options:
Show Inventory (yes/no)
Show Win Chance (yes/no)
Show Countdown (yes/no)
Max Items Per Player Row (1-20)
Action Button:
Button Label (e.g., "Lock Bets")
Event Name (e.g.,
lock_bets)
Trigger Conditions
Triggers determine when an intermission screen appears.
Trigger Type:
Players Remaining: Trigger based on alive player count
Battle Time: Trigger after elapsed seconds
Operator:
≤ (Less than or equal)
≥ (Greater than or equal)
= (Equal)
Value: The threshold number
Example: Display screen when players remaining ≤ 10
Reordering Screens
Use the ↑ and ↓ buttons to change the priority order of your intermission screens.
Publishing Your Theme
Making Your Theme Available
Complete all required assets
Test your theme thoroughly
Contact an administrator to set is_active = true for your theme
Once active, players can select your theme for their battles
Best Practices
Asset Creation
Consistency: Use a cohesive art style across all assets
Optimization: Compress images before uploading to reduce file sizes
Testing: View assets on different screen sizes
Naming: Use descriptive filenames for easy identification
Quality: Use the recommended dimensions for best results
Thematic Design
Color Palette: Choose 3-5 primary colors and stick to them
Player Variety: Create diverse player characters
Battle Maps: Design maps with visual interest but avoid clutter
Music Selection: Choose tracks that match your theme's mood
Intermissions: Plan narrative flow with intermission screens
Performance
File Sizes: Keep music under 5MB when possible
Image Dimensions: Use recommended sizes, not maximum
Asset Count: Start with 3-5 of each asset type, expand as needed
Testing: Test on lower-end devices to ensure smooth performance
Troubleshooting
Support
For additional help or to report issues:
Check the SoulWars documentation
Contact the development team
Happy theme creating! Your custom themes bring unique experiences to the SoulWars community.
Last updated
