A comprehensive desktop application for managing and building team compositions in Darkest Dungeon, featuring AI-powered analysis, hero management, and team generation capabilities.
- Find My Teams: Search and filter teams based on your selected heroes
- Select My Heroes: Manage your hero roster from game save files
- Hero Wiki: Browse detailed hero information from wiki database
- Team Generation: Automatically generate team compositions using mapping logic
- Team Review: Review, approve, or reject generated teams before adding to database
- Hero Manager: Convert
.darkestfiles to wiki format with AI assistance
- ๐ฏ Smart team matching based on hero roles and abilities
- ๐ค AI-powered hero analysis (optional, using Gemini API)
- ๐ Comprehensive team database with composition templates
- ๐ผ๏ธ Hero image gallery integration
- ๐ Detailed wiki system for hero information
- ๐ Dark theme UI for comfortable viewing
- Python 3.8 or higher
- Required Python packages:
tkinter(usually included with Python)PIL(Pillow)google-generativeai(for AI features, optional)python-dotenv(for environment variables, optional but recommended)
git clone https://github.com/yourusername/Project_TeamUp.git
cd Project_TeamUp# Windows
python -m venv venv
venv\Scripts\activate
# Linux/Mac
python3 -m venv venv
source venv/bin/activatepip install Pillow google-generativeai python-dotenvCreate a .env file in the root directory:
# Gemini API Configuration
GEMINI_API_KEY=your_api_key_hereTo get a Gemini API key:
- Visit Google AI Studio
- Create a new API key
- Copy it to your
.envfile
Note: AI features are optional. The application can run without the API key, but hero analysis features will be disabled.
Project_TeamUp/
โโโ scripts/
โ โโโ all_in_one_tool.py # Main application
โ โโโ team_mapper.py # Team generation logic
โ โโโ migrate_teams.py # Migration utilities
โ โโโ split_teams.py # Team splitting utilities
โโโ assets/ # Resource files (optional)
โ โโโ heroes_images/ # Hero images
โ โโโ wiki/ # Hero information files
โ โโโ teams/ # Generated teams database
โ โโโ my_heroes.txt # Your hero roster
โ โโโ team_compositions.json # Team composition templates
โโโ .env # Environment variables (not in git)
โโโ .env.example # Example environment file
โโโ .gitignore # Git ignore rules
โโโ README.md # This file
The application supports two resource locations:
assets/folder (recommended for GitHub): All resource files organized in one place- Root directory (current default): Files directly in project root
The application automatically detects and uses the assets/ folder if it exists, otherwise falls back to the root directory.
cd scripts
python all_in_one_tool.pyOr if using assets folder:
python scripts/all_in_one_tool.py- Load your heroes from
my_heroes.txt - Search teams by keywords or hero names
- Filter by composition type
- View team details, hero images, and skill selections
- Import heroes from game save files
- Manage your hero roster
- Export to
my_heroes.txt
- Browse all heroes in the wiki database
- View detailed hero information and abilities
- Search and filter heroes
- Load
.darkestfiles from game saves - Convert to wiki format with AI assistance
- Manage hero images and information
- Generate new team compositions using mapping logic
- Select specific compositions or analyze all
- Teams are generated based on:
- Composition requirements from
team_compositions.json - Hero data from wiki files
- Duplicate detection
- Composition requirements from
- Review newly generated teams before saving
- Accept or reject teams individually
- Teams are only saved to the database after approval
- Configure Gemini API key (loaded from
.env) - Test API connection
- Application settings
Contains team composition templates (khuรดn mแบซu ฤแปi hรฌnh):
- Composition names and descriptions
- Key mechanics and requirements
- Role and ability requirements
Located in teams/ folder:
- Each composition has its own folder (normalized name)
- Individual teams stored as separate JSON files
- Composition metadata in
_composition_info.json
Your personal hero roster, one hero name per line.
Located in wiki/ folder (or assets/wiki/):
- One
.txtfile per hero - Contains detailed hero analysis and information
Create a .env file with:
GEMINI_API_KEY=your_api_key_hereApplication settings are saved in settings.json (automatically created).
Organize resources in an assets/ folder:
assets/
โโโ heroes_images/
โโโ wiki/
โโโ teams/
โโโ my_heroes.txt
โโโ team_compositions.json
The application will automatically detect and use this structure.
-
Main Application:
scripts/all_in_one_tool.py- GUI frames for each feature
- File I/O and data management
- Integration with team mapper
-
Team Generation:
scripts/team_mapper.py- Hero-requirement matching logic
- Team combination generation
- Skill selection algorithms
- Create a new frame class in
all_in_one_tool.py - Register it in
MainApp.__init__ - Add navigation button in
MainMenuFrame
To create a standalone executable with PyInstaller, see BUILD.md for detailed instructions.
# Windows PowerShell
.\build.ps1
# Windows CMD
build.bat
# Or manually
pyinstaller --clean all_in_one_tool.specThe executable will be created in dist/TeamUpTool.exe.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Darkest Dungeon by Red Hook Studios
- Google Gemini API for AI features
- The application requires hero images and wiki files to function fully
- Team generation works best with complete hero data
.envfile should never be committed to version control- Make sure to add
.envto.gitignore
- Ensure
.envfile exists in root directory - Check that
GEMINI_API_KEYis set correctly - Verify API key is valid in Google AI Studio
- Ensure hero images are in
heroes_images/orassets/heroes_images/ - Check that wiki files exist in
wiki/orassets/wiki/ - Verify
team_compositions.jsonexists
- Make sure all dependencies are installed:
pip install -r requirements.txt - Check Python version:
python --version(should be 3.8+)
Enjoy building your perfect Darkest Dungeon teams! ๐ก๏ธ๐ก๏ธ