Home
Relevant source files
The following files were used as context for generating this wiki page:
- README.md
- core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_2_X_Changes.java
- core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_3_X_Changes.java
- core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_6_X_Changes.java
- core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_7_X_Changes.java
- core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_9_X_Changes.java
- core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v1_X_Changes.java
- core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v2_X_Changes.java
- core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v3_X_Changes.java
Shattered Pixel Dungeon is an open-source traditional roguelike dungeon crawler with randomized levels, enemies, and hundreds of items. It is based on the source code of Pixel Dungeon by Watabou. The project has evolved significantly since its inception, introducing numerous new systems, class reworks, items, and quality-of-life improvements that distinguish it from the original game.
The game is actively developed and compiles for Android, iOS, and Desktop platforms. While the source code is publicly available, the repository does not accept pull requests, but issue reports are welcome. The project's history is marked by major content updates that have progressively expanded its scope, from simple balance changes to entirely new gameplay systems and hero classes.
Sources: README.md
Project Evolution Timeline
The following diagram illustrates the major milestones in the development of Shattered Pixel Dungeon, highlighting the introduction of key features and systems over time.
Sources: core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_2_X_Changes.java, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_3_X_Changes.java, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_6_X_Changes.java, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_7_X_Changes.java, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_9_X_Changes.java, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v1_X_Changes.java, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v2_X_Changes.java, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v3_X_Changes.java
Core Gameplay Systems
The game has introduced several unique systems that build upon the original Pixel Dungeon foundation.
Hero Classes and Reworks
The game features six hero classes, including the four original classes which have been significantly reworked, and two entirely new heroes.
| Hero Class | Introduction / Rework Version | Key Features | Source File |
|---|---|---|---|
| Rogue | Reworked in v0.6.2 | Cloak of Shadows artifact, wider search radius. Subclasses (Assassin, Freerunner) focus on charged strikes and momentum-based evasion. | v0_6_X_Changes.java |
| Mage | Reworked in v0.3.0 | Starts with a unique upgradable staff. Subclasses (Battlemage, Warlock) focus on melee staff effects and soul marking enemies. | v0_3_X_Changes.java |
| Warrior | Reworked in v0.3.5, Mini-rework in v3.1.0 | Uses a unique armor seal for shielding. Subclasses (Gladiator, Berserker) focus on combo finishers and rage mechanics. | v0_3_X_Changes.java, v3_X_Changes.java |
| Huntress | Reworked in v0.7.1 | Uses a spirit bow that scales with level. Can move through grass without trampling. Subclasses (Sniper, Warden) focus on special bow attacks and plant interactions. | v0_7_X_Changes.java |
| Duelist | Introduced in v2.0.0 | A new hero with a unique ability for every weapon. Subclasses (Champion, Monk) focus on dual-wielding and energy-based techniques. | v2_X_changes.java |
| Cleric | Introduced in v3.0.0 | A new hero with unique spells learned via talents. Subclasses (Priest, Paladin) focus on ranged spell combat and defensive melee abilities. | v3_X_changes.java |
Sources: core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_3_X_Changes.java:311-325, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_6_X_Changes.java:470-490, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_7_X_Changes.java:604-617, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v2_X_Changes.java:1010-1020, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v3_X_Changes.java:1520-1530
Talents System
Introduced in v0.9.0, the talent system allows players to spend points earned from leveling up to unlock a range of effects, from stat adjustments to full abilities. Talents are split into tiers that unlock as the player progresses.
- Tier 1 (Levels 1-6): Introduced in v0.9.0. Focuses on early-game benefits.
- Tier 2 (Levels 7-12): Introduced in v0.9.1. Provides effects useful throughout the entire game.
- Tier 3 (Levels 13-20): Introduced in v0.9.2. Varies by class and subclass, encouraging specialization.
- Tier 4 (Levels 21-30): Introduced in v0.9.3. Interacts with and improves hero armor abilities.
Alchemy System
The alchemy system was completely overhauled in v0.7.0 to be a full consumable crafting system. It was further refined in v1.1.0 with the Alchemical Energy overhaul, making it a primary resource for crafting.
The flow of the modern alchemy system is as follows:
This diagram shows how consumable items can be scrapped for Alchemical Energy, which is then used to craft a wide variety of new items.
Key milestones in the Alchemy system's development:
- v0.7.0: Complete overhaul, introducing Alchemical Energy and dozens of new recipes, including exotic potions/scrolls, runestones, and unique spells.
- v0.7.2: Introduction of Alchemical and Arcane Catalysts to streamline high-cost recipes.
- v1.1.0: Alchemical Energy becomes a carried resource (like gold). Many recipes now require energy instead of specific seeds/stones, greatly increasing flexibility.
- v2.4.0: Catalysts removed; recipes now use a higher energy cost instead. Introduction of Trinkets, a new item category produced and upgraded with energy.
Sources: core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_7_X_Changes.java:710-754, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v1_X_Changes.java:1000-1013, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v2_X_Changes.java:1493-1506
Item Systems
Artifacts
Introduced in v0.2.0, Artifacts are unique items with special abilities that grow stronger through use, rather than with Scrolls of Upgrade. They replaced several rings from the original game.
Sources: core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_2_X_Changes.java:369-383
Trinkets
Introduced in v2.4.0, Trinkets are a class of items produced and upgraded with alchemical energy. They are designed to tweak gameplay variables rather than providing direct power, offering unique trade-offs. Players choose one of three options from a trinket catalyst found early in the game.
Sources: core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v2_X_Changes.java:1450-1458
Degradation
A notable design decision was the explicit choice not to implement the item degradation system from Pixel Dungeon v1.7.5. This was decided in v0.2.4 to avoid restricting gameplay and discouraging players from hoarding upgrades.
Sources: core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_2_X_Changes.java:80-82
Dungeon and Quest Evolution
The dungeon itself, including level generation and quests, has seen major overhauls.
Level Generation
- v0.6.0: A major level generation overhaul allowed for less box-shaped levels and more varied room sizes and layouts.
- v0.9.1: Further improvements added more region-specific rooms, new "level feelings" (e.g., large, secrets), and more varied layouts.
- v3.1.0: Expansion of standard rooms with new decorative terrain and more entrance/exit variants, making empty rectangular rooms less common.
Sources: core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_6_X_Changes.java:1449-1457, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_9_X_Changes.java:528-535, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v3_X_Changes.java:1300-1311
Quest Overhauls
The main quests in each region have been progressively reworked to be more engaging and unique.
| Quest | Rework Version | Description | Source File |
|---|---|---|---|
| Sewers Quests | v0.2.1 | Added Gnoll Trickster and Great Crab miniboss quests. | v0_2_X_Changes.java |
| Prison Quest | v0.3.2 | Tengu boss fight redone, quests overhauled, and new Insane Prison Guards mob added. | v0_3_X_Changes.java |
| Caves Quest (Blacksmith) | v2.2.0 | Completely redone to take place in a new mining sublevel with unique enemies, hazards, and expanded rewards. | v2_X_Changes.java |
| Caves Quest (Gnoll Variant) | v2.3.0 | A second variant for the caves quest was added, featuring gnolls and earth-moving magic. | v2_X_Changes.java |
Sources: core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_2_X_Changes.java:327-334, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_3_X_Changes.java:400-407, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v2_X_Changes.java:2348-2359, 1850-1860
Platform Expansion and UI
The project has expanded from its Android-only origins to support multiple platforms, requiring significant UI and technical changes.
- v0.7.4: Began conversion to the libGDX game library, a major step toward multi-platform support.
- v1.0.0: Released on the iOS App Store, marking a major milestone and a switch to the
major.minor.patchversioning scheme. - v1.2.0: Released on Steam with significant desktop enhancements, including a new main UI for larger displays, controller support, and additional quickslots.
- v3.2.4: The in-game screen was updated to render in true fullscreen on most modern mobile devices by working around display cutouts.
Sources: core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_7_X_Changes.java:448-454, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v1_X_Changes.java:1440-1445, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v2_X_Changes.java:310-319, core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v3_X_Changes.java:240-250