# deepsick **Repository Path**: Clare_Aurora/deepsick ## Basic Information - **Project Name**: deepsick - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-21 - **Last Updated**: 2025-11-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Heroes of Chang'an - A Chang'an History-Themed Battle Game ## Game Introduction *Heroes of Chang'an* is a **2-player local battle game** set against the historical backdrop of Chang'an during the prosperous Tang Dynasty. Drawing inspiration from Chang'an's bustling streets and jianghu (martial arts world) culture, the game lets players choose heroes with distinct ancient-style traits. Through unique skills and strategic gameplay, players duel to recreate the intense "martial artist showdowns" of Chang'an’s past. Whether you prefer the precise strikes of a ranged archer, the fierce combat of a melee warrior, or the protective support of a tank or healer, every battle captures the essence of Tang Dynasty-style combat. ## Game Features ### 1. Immersive Chang'an-Themed Design - **Historical Context Integration**: Hero designs reflect elements of Tang Dynasty culture—for example, the "Ranger" echoes the agile style of Chang'an’s ancient bodyguards, the "Iron Guardian" mirrors the sturdiness of Chang’an city wall defenders, and the "Holy Mage" incorporates healing motifs from Tang Dynasty Taoist traditions. - **Cohesive Visual Style**: The UI uses classical color palettes (e.g., light blue for the Holy Mage, dark gray for the Shadow Assassin) that align with the architectural and clothing aesthetics of Tang Dynasty Chang’an. Skill effects avoid over-the-top exaggeration, preserving the solemnity of the historical setting. ### 2. Diverse Hero Roles The game currently features **8 unique heroes**, covering all core roles: ranged damage, melee burst, tank defense, and support healing. Each hero has exclusive skills and distinct gameplay mechanics to suit different player preferences: - **Stone Thrower**: A ranged damage dealer with the "Spread Shot" skill. It can attack multiple targets at once, ideal for suppressing opponents with area damage. - **Archer**: A ranged sustain hero with the "Heal on Basic Attack" skill. Landing basic attacks restores health, enabling long-term combat with high fault tolerance. - **Swordsman (Galun)**: A melee assassin with the "Dash Strike" skill. It can quickly charge at targets to deal burst damage, excelling at chasing enemies or breaking through defenses. - **Ranger**: A ranged fast-attack hero with the "Attack Speed Boost" skill. Activating the skill drastically reduces attack cooldown, relying on high-frequency attacks to overwhelm foes (high skill ceiling). - **Berserker**: A melee burst hero with the "Speed & Attack Boost" skill. It temporarily doubles movement and attack speed, perfect for closing in on enemies to dominate fights. - **Shadow Assassin**: A melee stealth hero with the "Invisibility + Critical Hit" skill. It can sneak up on targets while invisible and deal massive damage with critical strikes—deadly against squishy heroes. - **Holy Mage**: A ranged support hero with the "Group Shield + Self-Heal" skill. It provides damage-reduction shields to allies and heals itself, making it ideal for team-based combat. - **Iron Guardian**: A melee tank hero with the "Damage Reduction + Taunt" skill. It significantly reduces damage taken and forces enemies to target itself, creating space for allies to deal damage. ### 3. Faction-Specific Control Schemes To avoid input conflicts in 2-player mode, the game uses separate, intuitive control layouts for the Red and Blue teams: #### Red Team - **Movement**: W (up), A (left), S (down), D (right). Follows mainstream PC game controls for easy adaptation, especially for new players. - **Basic Attack**: Press the **J** key. Triggers role-specific attack effects (e.g., the Ranger fires bullets, the Berserker swings in a fan-shaped area). - **Skill Activation**: Press the **K** key. After using the skill, a cooldown timer appears on the UI to help players time their next use (e.g., the Assassin’s invisibility, the Mage’s shield). #### Blue Team - **Movement**: Up Arrow (↑), Left Arrow (←), Down Arrow (↓), Right Arrow (→). Independent arrow key controls prevent conflicts with the Red Team, ensuring smooth 2-player co-op. - **Basic Attack**: Press the **L** key. Functions identically to the Red Team’s "J" key, ensuring balanced attack frequency and gameplay rhythm for both sides. - **Skill Activation**: Press the **Semicolon (;)** key. Positioned near the arrow keys, it allows players to activate skills without shifting hand position, improving execution fluidity (e.g., the Guardian’s damage reduction, the Berserker’s frenzy). ### 4. Dynamically Adaptive UI - **Window Resizing**: From the start menu to the character selection screen, the window supports resizing. Background images, buttons, and text automatically adjust to the window size to avoid stretching or distortion. - **Intuitive Hero Info**: When selecting a hero, players can instantly view the hero’s skill description and exclusive color indicator (Red Team heroes show a red border, Blue Team heroes show a blue border). No extra steps are needed to understand core abilities, speeding up team composition decisions. ## Installation & Launch Guide ### 1. Prerequisites - **Programming Language**: Python 3.7 or higher - **Required Libraries**: - `tkinter` (UI interface, pre-installed with Python) - `Pillow` (image processing, requires manual installation) - `pygame` (game engine core, requires manual installation) ### 2. Installation Steps 1. Verify your Python version: Open the command prompt and run `python --version` to confirm it is 3.7 or higher. 2. Install dependencies: Run the following command in the command prompt to install `Pillow` and `pygame`: ```bash pip install Pillow pygame ``` 3. Prepare the background image: Place an image named `background.jpg` in the same folder as the game code. For optimal immersion, use images of Tang Dynasty Chang’an (e.g., city walls, bustling markets, Qujiang Pool). ### 3. Launch the Game 1. Locate the main game file `game_ui.py`. Run it by double-clicking or via the command prompt: ```bash python game_ui.py ``` 2. On the start screen, click **"Start 2-Player Battle"** to enter the character selection screen. 3. The Red Team selects a hero on the left; the Blue Team selects on the right. A warning will pop up if either team fails to select a hero. 4. After confirming selections, click **"Start Battle"** at the bottom to enter the duel scene and begin the 2-player match. ## Battle Rules 1. **Victory Condition**: Reduce the opponent’s hero health to 0 first to win the match. 2. **Respawn Mechanic**: When a hero is defeated, they respawn at their team’s initial spawn point with full health. Note: There is no invincibility period after respawning, so be cautious of ongoing opponent pressure. 3. **Skill Cooldowns**: Each hero’s exclusive skill has a cooldown (e.g., 12 seconds for the Berserker, 8 seconds for the Mage). A real-time cooldown timer is displayed on the UI—plan skill usage carefully to avoid wasting opportunities in key fights. 4. **Map Boundaries**: The battle map has boundaries; heroes cannot move beyond them. Plan your positioning strategically to avoid being cornered by the opponent. ## Future Update Plans 1. **New Chang’an-Themed Maps**: Add maps like "Zhuque Avenue," "Qujiang Pool Riverside," and "Daming Palace Corner Tower." Include interactive terrain (e.g., wall obstacles that block attacks, health-replenishing supply points) to enrich battle strategies. 2. **Hero Roster Expansion**: Add new heroes with Tang Dynasty traits, such as the "Yulin Guard" (melee control, skill: "Charge Stun") and the "Alchemist" (ranged poison, skill: "Sustained Poison Mist"), to further refine role diversity. 3. **Control Feedback Optimization**: Add vibration feedback for controller support (for compatible controllers) and enhance skill effects (e.g., red light effects for Red Team skills, blue effects for Blue Team) to improve faction distinction and gameplay satisfaction. 4. **New Game Modes**: Beyond the current 1v1 Arena mode, add "2v2 Team Battle" and "Survival Challenge" (single-player vs. waves of AI enemies) to boost replayability. ## Troubleshooting 1. **Background Image Load Failure**: If "Background Image Load Failed" appears, check if `background.jpg` exists in the code folder or replace it with a valid JPG image (recommended resolution: 1920×1080 for better adaptation). 2. **Battle Scene Launch Error**: If nothing happens when clicking "Start Battle," confirm that `Arena.py` (the core battle logic file) is in the same folder as `game_ui.py`—missing this file will prevent entry to the battle scene. 3. **Game Lag**: If the game lags, reduce the window resolution by dragging the window edges or close background programs (e.g., video players, browsers) to free up CPU and memory. 4. **Unresponsive Keys**: If keys fail to work, test the keyboard in a text editor (e.g., Notepad) to confirm functionality, or restart the game to reinitialize input settings. For feedback or suggestions, refer to the contact information in the code comments. We welcome contributions to refine this Chang’an-themed battle game!