mirror of
https://github.com/mblanke/dopewars-2025.git
synced 2026-03-01 12:50:21 -05:00
Added comprehensive project instructions for DopeWars-2025, detailing project intent, constraints, design pillars, rules for debt, travel, market, inventory, law enforcement, multiplayer philosophy, code organization, AI agent expectations, and design principles.
230 lines
5.0 KiB
Markdown
230 lines
5.0 KiB
Markdown
# CLAUDE.md — Project Instructions
|
||
|
||
## Project Name
|
||
DopeWars-2025
|
||
|
||
## Project Intent
|
||
Build a modern, real-world, asynchronous market & logistics simulation inspired by classic Dope Wars.
|
||
|
||
This is a **strategy game about time, geography, pressure, and consequence**.
|
||
|
||
This is NOT:
|
||
- A turn-based game
|
||
- A real-time PvP game
|
||
- A live flight booking app
|
||
- A trading simulator with charts everywhere
|
||
|
||
---
|
||
|
||
## Non-Negotiable Constraints
|
||
|
||
- $0 budget
|
||
- No paid APIs
|
||
- No scraping airline or travel websites
|
||
- No live flight booking
|
||
- All realism must be **simulated** using open/static data
|
||
- iPad-friendly development (browser / VS Code Web)
|
||
- Systems must work offline where possible
|
||
|
||
---
|
||
|
||
## Core Design Pillars (Never Break These)
|
||
|
||
1. **Time Is Real**
|
||
- The world runs continuously
|
||
- Markets move whether the player is active or not
|
||
- Travel takes real time
|
||
|
||
2. **Commitment Has Consequences**
|
||
- When travel is booked, trading is locked until arrival
|
||
- Missed opportunities are intentional, not accidental
|
||
|
||
3. **The World Reacts, It Never Explains**
|
||
- Multiplayer effects are discovered slowly
|
||
- No UI labels for “other players”
|
||
- No explicit explanations of cause
|
||
|
||
---
|
||
|
||
## Starting Conditions (LOCKED DEFAULTS)
|
||
|
||
- Starting Cash: **$20,000**
|
||
- Starting Debt: **$30,000**
|
||
- Inventory Capacity: **100 units**
|
||
- Debt Interest: **~0.8% per real-world hour (compounding)**
|
||
- Debt exists immediately at game start
|
||
|
||
The player begins **already under pressure**.
|
||
|
||
---
|
||
|
||
## Debt & Loan Shark Rules
|
||
|
||
- The player starts with mandatory debt
|
||
- Debt accrues interest in real time, even while offline
|
||
- Debt can ONLY be paid, reduced, or renegotiated in the **city of origin**
|
||
- The loan shark is permanently tied to the starting city
|
||
- Ignoring debt causes gradual escalation:
|
||
- Higher interest
|
||
- Increased enforcement pressure
|
||
- Reduced effectiveness of bribes, fixers, and safehouses
|
||
- Failure is gradual escalation, not instant loss
|
||
|
||
Debt creates a **gravitational pull** back to the origin city.
|
||
|
||
---
|
||
|
||
## Travel System Rules
|
||
|
||
- Travel uses static/open data only (airports, distance, heuristics)
|
||
- Flight duration is calculated, not looked up live
|
||
- No fast travel
|
||
- No skipping time
|
||
|
||
Travel Classes:
|
||
- Economy: cheapest, slowest, highest scrutiny
|
||
- Business: balanced, reduced risk
|
||
- First: expensive, fastest, lowest scrutiny, limited special actions
|
||
|
||
Once travel begins:
|
||
- Trading is disabled
|
||
- Prices continue to update
|
||
- Market visuals continue to animate
|
||
|
||
---
|
||
|
||
## Market & Pricing Rules
|
||
|
||
- Prices are **explicit and numeric**
|
||
- Prices are lowest near manufacturing regions
|
||
- Prices rise with:
|
||
- Distance from source
|
||
- Enforcement pressure
|
||
- Scarcity
|
||
- Aggregate player activity
|
||
|
||
Prices may spike or crash dramatically.
|
||
|
||
---
|
||
|
||
## Market Visualization Rules
|
||
|
||
UI must show:
|
||
- Current price (always visible)
|
||
- Percent change (simple ▲ / ▼)
|
||
- A **visual market signal** (e.g. volatility ribbon / pulse)
|
||
|
||
UI must NOT show:
|
||
- Candlestick charts
|
||
- OHLC data
|
||
- Exact historical tables
|
||
- Technical indicators (RSI, MACD, etc.)
|
||
|
||
Visuals should convey:
|
||
- Momentum
|
||
- Volatility
|
||
- Liquidity
|
||
- Instability
|
||
|
||
The goal is intuition, not analysis paralysis.
|
||
|
||
---
|
||
|
||
## Inventory Rules
|
||
|
||
Inventory is physical:
|
||
- Volume limits apply
|
||
- Bulk increases risk and friction
|
||
- Optional decay/spoilage over time
|
||
- Storage limits vary by city
|
||
- Safehouses reduce loss and exposure
|
||
|
||
No infinite hoarding.
|
||
|
||
---
|
||
|
||
## Law Enforcement Model
|
||
|
||
- ~180 countries
|
||
- One national enforcement org per country (fictionalized names)
|
||
- Attributes include:
|
||
- Aggression
|
||
- Reach
|
||
- Efficiency
|
||
- Corruption
|
||
- International cooperation
|
||
|
||
Heat is:
|
||
- Country-specific
|
||
- Transferable across borders
|
||
- Influenced by volume, time exposed, and transport method
|
||
|
||
Players never fight law enforcement directly.
|
||
Pressure is environmental.
|
||
|
||
---
|
||
|
||
## Multiplayer Philosophy (CRITICAL)
|
||
|
||
- Multiplayer is **asynchronous and indirect**
|
||
- Players never see:
|
||
- Other players
|
||
- Player names
|
||
- Player locations
|
||
- Player inventories
|
||
|
||
Players influence the world only through:
|
||
- Aggregate demand
|
||
- Market volatility
|
||
- Enforcement pressure
|
||
|
||
Discovery of multiplayer effects must be **gradual and implicit**.
|
||
|
||
The world never says “another player did this”.
|
||
|
||
---
|
||
|
||
## Code Organization Rules
|
||
|
||
- Backend logic must be deterministic
|
||
- UI must not contain business logic
|
||
- Each system lives in its own file
|
||
- Avoid monolithic “god files”
|
||
|
||
Preferred structure:
|
||
- backend/ → world logic
|
||
- frontend/ → UI only
|
||
- data/ → static datasets
|
||
- docs/ → rules and explanations
|
||
|
||
---
|
||
|
||
## AI Agent Expectations
|
||
|
||
When coding:
|
||
- Prefer clarity over cleverness
|
||
- Explain *why* in comments, not *what*
|
||
- Never introduce paid services
|
||
- Never assume real-time multiplayer visibility
|
||
- Ask before adding complexity
|
||
|
||
When uncertain:
|
||
- Default to simpler mechanics that preserve tension
|
||
- Preserve consequences over convenience
|
||
|
||
---
|
||
|
||
## Design North Star
|
||
|
||
If a feature:
|
||
- Reduces planning
|
||
- Removes commitment
|
||
- Eliminates risk
|
||
- Explains the system too clearly
|
||
|
||
…it probably does not belong.
|
||
|
||
The game should feel like:
|
||
|
||
**“The world keeps moving, and I’m already behind.”**
|