# Ashen Realms – Playable Slice 0.12: Aschenfelder Complete **Status:** Final integration slice for the first region **Prerequisite:** Playable Slices 0.1–0.11 **Scope:** Integration, balancing, content completion and polish for the Aschenfelder **Primary Goal:** Complete the first genuinely playable regional progression loop. ## 1. Goal Playable Slice 0.12 does not introduce a large new system. It integrates, verifies, balances, and polishes everything built so far into one coherent first region. The full intended flow is: ```text Graufurt ↓ Südtor ↓ Verbrannte Straße ↓ first hunts ↓ first combat ↓ first loot ↓ first upgrades ↓ Verlassener Wachtposten ↓ NPC / Quest ↓ stronger enemies ↓ first Elite ↓ Grenzmarken ↓ targeted upgrades ↓ Aschengrube ↓ regional Boss ↓ guaranteed boss loot ↓ path toward Dämmerwald discovered ``` ## 2. Complete locations The Aschenfelder progression contains: ```text Südtor von Graufurt Verbrannte Straße Verlassener Wachtposten Aschengrube ``` Each location must have a clear purpose and correct travel connections. ## 3. Complete Tier-1 enemy set The relevant first-region pool should now include the established enemies: ```text Aschenratte Verwilderter Straßenhund Straßenräuber Plünderer-Späher Plünderer-Veteran Verkohlter Plünderer Aschenwühler Verbrannter Jagdhund Plündererhauptmann / Elite Hauptmann der Aschenbande / Boss ``` If final naming differs in existing project content, preserve the existing finalized names rather than creating duplicates. ## 4. Complete Tier-1 item set The relevant Tier-1 pool should now include: ```text Abgenutztes Kurzschwert Räuberklinge Aschenklinge Räuberhaube Verstärkte Lederjacke Plündererhandschuhe Wachmannsbeinkleid Aschenstiefel Zeichen der Grenzwacht Anhänger des verbrannten Hauptmanns ``` Not every item must be required for progression. Prestige/special drops remain optional. ## 5. Combat duration targets During the balancing pass, verify: ### Normal enemies ```text 4–8 rounds ``` ### Elite ```text 6–10 rounds ``` ### Boss ```text 8–14 rounds ``` These are balancing targets rather than hard rules. ## 6. Power progression targets Use the established Combat Power progression as a reference: ### Start ```text approximately 47 CP ``` ### After first upgrades ```text approximately 60–70 CP ``` ### Wachtposten progression ```text approximately 80–90 CP ``` ### Aschengrube / boss-ready range ```text approximately 100–110 CP ``` Combat Power is an internal balancing tool, not a hard access gate. ## 7. Progression pacing A typical player should need roughly: ```text 12–18 normal combats + quests + boss ``` to progress meaningfully through the first region. The intended experience must not require 50+ normal combats for basic progression. ## 8. First upgrade pacing Verify that within approximately the first: ```text 3–5 combats ``` the player is very likely to see a meaningful equipment upgrade. If this does not happen reliably enough, tune only the smallest necessary variables: ```text drop rate quest reward starter equipment ``` Do not add unnecessary new reward systems. ## 9. Boss readiness The regional boss should become reasonably beatable at approximately: ```text 70–80% of maximum realistically obtainable regional power ``` Best-in-slot equipment should provide comfort and completionist value, not be mandatory. ## 10. Soft-gate validation The player should not be blocked primarily by arbitrary level errors. Where possible: ```text actual world danger ``` should communicate that the player is too weak. A player may attempt difficult content early, but the game should make the risk clear. ## 11. Full UI consistency pass Review all implemented screens together: ```text World Hunt Combat Loot Inventory Quests Merchant ``` Verify consistency of: ```text Topbar SideNavigation Footer Context Panel Panel frames Buttons DangerBadges Item icons Combat actions Typography Spacing Design tokens ``` No screen should feel like a separate web application. ## 12. Loading and error-state pass All core player actions need intentional UI states: ```text loading success domain error network error retry ``` Review at minimum: ```text Travel Hunt Combat Action Reward Equip Quest Purchase ``` Do not use browser alerts. ## 13. Refresh and recovery pass The following states must survive browser refresh through authoritative backend state: ```text active travel current hunt active combat finished combat/reward inventory equipment active quest Grenzmarken boss completion ``` No critical gameplay state may exist only in Angular memory. ## 14. Full integration test Where practical, automate the first complete progression flow: ```text character starts at Südtor ↓ travel to Verbrannte Straße ↓ hunt ↓ combat ↓ win ↓ receive loot ↓ equip upgrade ↓ travel to Wachtposten ↓ accept quest ↓ defeat relevant enemies ↓ progress quest ↓ earn Grenzmarken ↓ buy targeted item ↓ equip item ↓ travel to Aschengrube ↓ defeat boss ↓ receive guaranteed boss reward ↓ region completion persists ``` ## 15. Manual playtest – average RNG Perform at least one normal playthrough and measure: ```text combat duration loot frequency upgrade frequency number of hunts travel flow quest pacing Grenzmarken income boss readiness total region time ``` ## 16. Manual playtest – bad RNG Test a deliberately unlucky run. Verify: ```text Grenzmarken still provide progress progression does not hard-block boss readiness remains achievable player does not require extreme grind ``` ## 17. Manual playtest – good RNG Test a deliberately lucky run. Verify: ```text region does not become instantly trivial progression cannot be skipped too aggressively boss remains meaningful ``` ## 18. Data/content validation Verify: - all locations use persisted content - all encounter pools use persisted relationships - all loot is data-driven - all shop offers are data-driven - quest definitions are persisted/data-driven - no core gameplay path depends on hardcoded Angular content - no server domain service contains unnecessary location-specific special cases ## 19. Server-authority validation Confirm that the backend remains authoritative for: ```text travel hunt availability encounter generation danger rating combat loot XP Silver Grenzmarken inventory ownership equipment effective stats quest progress shop purchases boss completion ``` ## 20. Performance / technical cleanup Review the accumulated implementation for: - duplicate API calls - duplicated frontend state - duplicated domain validation - unused temporary placeholder logic - obsolete Slice 0.1–0.5 shortcuts - hardcoded demo combat stats that should now use CharacterStatsService - temporary combat placeholder routes - duplicated item definitions - migration quality - seed idempotency Do not perform unrelated architectural rewrites. ## 21. Definition of Done Playable Slice 0.12 / Aschenfelder Complete is complete when a fresh character can, without developer intervention: ```text start ↓ travel ↓ hunt ↓ fight ↓ receive loot ↓ improve equipment ↓ meet NPC ↓ complete quest ↓ fight Elite ↓ earn Grenzmarken ↓ buy targeted item ↓ reach Aschengrube ↓ defeat regional Boss ↓ receive guaranteed progression reward ↓ discover path toward Dämmerwald ``` ## 22. Final product test The most important qualitative result is: > After completing the Aschenfelder, the player should want to see what waits in the Dämmerwald. If the loop is technically correct but does not create that motivation, the region still needs iteration. ## 23. After Slice 0.12 Do not immediately expand into the full Dämmerwald. First: ```text playtest measure balance fix friction validate reward pacing validate combat decisions validate boss readiness ``` Only after the first region loop works well should the same systems be expanded into the Dämmerwald and later the Vergessene Ruinen.