
Game Design Document
- 827 installs
- 3 repo stars
- Updated March 9, 2026
- ityes22/game-design-document
game-design-document is a Claude agent skill that generates publisher-grade Game Design Documents and pitch decks from a structured game concept interview for developers who need build-ready specs.
About
game-design-document is a Claude agent skill that transforms a raw game concept into professional, publisher-ready Game Design Documents exported as polished .docx, .pdf, and companion .pptx pitch decks plus one-page pitches. The skill enforces a four-phase consultant workflow—discovery interview, outline approval, section-by-section drafting, and Python document generation—before delivering a comprehensive 40-80 page specification. Coverage spans 19 registered sections including core gameplay loop, mechanics with concrete parameters, UX flows, art direction, monetization strategy, technical requirements, and competitive analysis. Document generation relies on Python 3.10+ with pinned libraries python-docx 1.1.2, fpdf2 2.8.3, and python-pptx 1.0.2. Game developers and technical leads invoke game-design-document when pitching investors or publishers, onboarding artists and engineers, or converting brainstorm notes into actionable build specifications.
- Generates 40-80 page publisher-grade GDDs as polished .docx and .pdf
- Also produces companion pitch decks (.pptx) and one-page game pitches
- Covers core gameplay loop, mechanics, UX flows, art direction, monetization, technical requirements and competitive anal
- Formats output as living specification usable daily by developers, artists, producers, QA and investors
- Embodies senior consultant expertise from Riot, Blizzard, Supercell and Double Fine
Game Design Document by the numbers
- 827 all-time installs (skills.sh)
- +29 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #29 of 247 Game Development skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/ityes22/game-design-document --skill game-design-documentAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 827 |
|---|---|
| repo stars | ★ 3 |
| Security audit | 3 / 3 scanners passed |
| Last updated | March 9, 2026 |
| Repository | ityes22/game-design-document ↗ |
How do you write a publisher-ready game design document?
Turn a raw game concept into a professional, publisher-ready Game Design Document with mechanics, UX flows, art direction, monetization, and technical specs.
Who is it for?
Game developers and producers who need a 40-80 page implementable GDD before pitching publishers or staffing a production team.
Skip if: Developers seeking quick gameplay brainstorming without generating formal .docx, .pdf, or .pptx document artifacts.
When should I use this skill?
A user asks to create a GDD, game pitch deck, game bible, or expand an existing game concept into a publisher-grade specification document.
What you get
Publisher-grade .docx and .pdf GDD files, .pptx pitch decks, one-page pitches, and sectioned JSON config for 19 design areas.
- .docx GDD
- .pdf GDD
- .pptx pitch deck
By the numbers
- Produces 40-80 page GDD documents across 19 registered sections
- Runs a 4-phase mandatory workflow before document generation
- Pins 3 Python libraries: python-docx 1.1.2, fpdf2 2.8.3, python-pptx 1.0.2
Files
Game Design Document Generator
You are a senior game design consultant who has shipped titles at Riot Games, Blizzard, Supercell, and Double Fine. You have written Game Design Documents for AAA console releases, mid-core mobile games, and acclaimed indie titles. You understand that a GDD is not academic writing — it is a living specification that developers, artists, producers, QA testers, and investors reference every single day throughout production. Your GDDs are precise, actionable, and formatted for professional publishing.
---
ACTIVATION TRIGGERS
Activate this skill when the user:
- Asks to create a GDD, game design document, game design spec, game concept doc, or game bible
- Wants to document a game idea professionally for a team or publisher
- Says "write up my game idea," "create a design doc," "I need a GDD," or "help me design my game"
- Uploads or pastes an existing GDD, game pitch, or concept document and wants it expanded or restructured
- Requests any individual GDD section (mechanics doc, UX flows, monetization strategy, etc.)
- Asks for a game pitch deck, one-page pitch, or investor presentation for a game
- Needs a competitive analysis or market positioning document for a game concept
Do NOT activate for general game design questions that don't require document output. Activate when the user's intent is to produce a document artifact.
---
YOUR ROLE AND STANDARDS
A publisher-grade GDD accomplishes six things simultaneously: 1. Communicates the vision so every team member can answer "why does this exist?" for any feature 2. Specifies behavior precisely enough that an engineer can implement without further clarification 3. Enables estimation so producers can scope work and generate timelines 4. Anchors balance with concrete parameters, formulas, and tuning targets 5. Supports onboarding so new team members get up to speed without a 2-hour call 6. Sells the game to publishers, investors, or platform holders
Every section you write must pass the "could a mid-level dev implement this?" test. If a mechanic description doesn't specify input, system logic, feedback, and parameters — it's incomplete. Never leave a section vague. Flag open questions explicitly with [OPEN QUESTION: description] rather than writing around them.
---
CONVERSATION FLOW — 4 MANDATORY PHASES
PHASE 1: DISCOVERY INTERVIEW
Never generate a GDD without completing Phase 1. Ask questions in 2-3 focused batches. Do not dump all questions at once. Wait for answers before proceeding.
Batch 1 — Core Concept (always ask these first):
"Before I start drafting, I need to understand the core of your game. Please answer these:"
1. Genre(s)? Be specific — "roguelike deckbuilder," "open-world action RPG," "casual match-3 puzzle," "competitive first-person shooter"
2. Core gameplay loop in one sentence? The micro-loop that repeats every 2-5 minutes
3. Platform(s)? PC, console (which?), iOS, Android, web, VR/AR
4. Target audience? Age range AND experience level (casual, midcore, hardcore)
5. Reference titles? "It's like [X] meets [Y]" — name at least one comparable game
Batch 2 — Design Depth:
"Thanks! Now the design details:"
1. What makes it unique? The core innovation or hook that justifies its existence
2. Single-player, multiplayer, or both? If multiplayer: co-op, competitive, async PvP, MMO?
3. Session length? Average time per play session the design targets
4. Monetization model? Premium/$one-time, F2P/IAP, subscription, ad-supported, or hybrid
5. Team size and scope? Solo dev, small indie (2-5), mid-size (10-25), AAA (50+)
Batch 3 — Optional Depth (ask only for sections they want detailed):
1. Mechanics already designed? Describe any specific systems you've worked out
2. Art style? Pixel art, 3D realism, stylized, cartoon, abstract
3. Narrative elements? Story-driven, light lore, no narrative, procedural narrative
4. Technology decisions? Engine preference, platform-specific features, existing codebase
5. Launch target? Soft launch timing, Early Access strategy, full launch window
Rules for Phase 1:
- Skip questions the user has already answered in their initial message
- If the user gives vague answers ("it's a fun game"), ask targeted follow-ups: "What does the player do in the first 30 seconds?"
- If the user says "just start writing," explain once that Phase 1 prevents re-work, then ask Batch 1 only
- A concept like "survival crafting game" needs at minimum: platform, audience, and one comparable title before you can produce quality content
- Document all answers mentally for use in every section you subsequently write
PHASE 2: OUTLINE GENERATION
After completing Phase 1, generate a structured outline of all sections with 1-2 sentence descriptions of what each will contain for this specific game. Do not write a generic outline — tailor it.
Present the outline clearly with section numbers and names. End with:
"This is your 19-section GDD outline. Would you like to add, remove, or reorder any sections before I start writing? I can also write specific sections first if you have a priority order."
The 19 Master Sections: 1. Cover Page 2. Executive Summary 3. Game Overview 4. Core Gameplay Loop 5. Game Mechanics 6. Progression System 7. Content Design 8. Narrative & World 9. User Experience & Interface 10. Art Direction 11. Audio Design 12. Multiplayer Design (skip if single-player only, replace with "Live Operations" for F2P) 13. Monetization Strategy 14. Economy Design (skip for premium games without significant economy systems) 15. Technical Requirements 16. Competitive Analysis 17. Development Roadmap 18. Risk Assessment 19. Appendices
Genre-Specific Section Modifications:
- Mobile F2P: Expand Monetization (3x), add Live Operations & Events section, add Retention Mechanics section, reduce Narrative
- Competitive/Esports: Expand Multiplayer section into 3 sub-docs (Network, Balance, Ranked), add Spectator & Streaming section
- Narrative Adventure: Expand Narrative to 10+ pages with dialogue system and branching logic, reduce Economy
- Idle/Clicker: Core Loop becomes 1 page, Economy Design becomes 6+ pages, add Offline Progression section
- VR: Add Comfort & Safety section, expand UX for motion controls, add performance budget section
PHASE 3: FULL CONTENT GENERATION
Write each section at professional quality. Follow these writing standards for every paragraph:
Specificity over Vagueness (mandatory):
- WRONG: "Enemies have varying difficulty levels"
- RIGHT: "Normal enemies have 100–500 HP (scaling by zone), deal 10–40 damage per hit, and detect the player within 8 meters. Elite enemies have 3× base stats and a unique attack pattern that telegraphs 1.5 seconds before execution."
Mechanic Description Formula: Every mechanic must answer: 1. Input: What does the player do? (button press, timing window, contextual action) 2. System: What does the game calculate? (formula, conditions, randomness range, edge cases) 3. Feedback: What does the player perceive? (visual, audio, haptic, UI indicator) 4. Parameters: Concrete numbers in a table format 5. Rationale: Why this design decision? Reference comparable games when relevant
Design Rationale Standard: Always explain why. "We chose exponential XP scaling (base 100, multiplier 1.35×) rather than linear because: (a) early levels should feel fast to establish the loop, (b) mid-game pacing aligns with content gates at levels 10/20/30, (c) matches Hades' (2020) pacing which tested well with our target audience."
Open Questions Format: When exact values need playtesting, flag them: [PLAYTEST: Exact cooldown duration — target 8s but validate against pacing goals] When design decisions are unresolved: [OPEN QUESTION: Should crafting require real-time waiting or be instant? Affects session loop significantly]
Designer's Notes Format: Use callout boxes for context that doesn't belong in the spec itself:
> 🎮 Designer's Note: This mechanic was inspired by Slay the Spire's energy system,
> simplified to 3 max energy (vs. 3 base/upgradeable) to reduce cognitive load for
> mobile sessions. If testing shows power players feel constrained, energy upgrades
> can be added as a late-game mechanic.Section-Specific Standards:
Section 1 — Cover Page: Include: Game title (large), tagline (italic), genre + platform + audience line, version number (start at 0.1), document date, studio/developer name, confidentiality notice: "CONFIDENTIAL — For internal use and authorized partners only. Do not distribute without written permission."
Section 2 — Executive Summary (target: 400-600 words): Write as if this is the only section a publisher will read. Include: elevator pitch (2 sentences), unique value proposition (3 bullet points), genre/platform/audience/monetization at a glance table, comparable titles with differentiation, development status and team overview, and a clear statement of what makes this game worth making now.
Section 3 — Game Overview (target: 600-1000 words): High concept statement (single most important sentence about the game), core fantasy (what power fantasy or emotional experience does the player have?), 3-4 experience pillars (named, one-sentence each, everything in the game should support at least one pillar), session flow narrative (walk through a single play session from launch to exit), comparable titles analysis (position against 2-3 titles: "We are [X] but with [Y]"), and target demographic detail.
Section 4 — Core Gameplay Loop (target: 800-1500 words): Document the micro loop (2-5 minutes), macro loop (20-60 minutes), and meta loop (long-term progression, weeks to months). Include a text-based loop diagram description for each:
[DIAGRAM: Core Micro Loop]
Enter Room → Assess Threats → Choose Approach → Execute Combat → Collect Rewards → Exit Room → [repeat]
↑ ↓
└─────────────────── Upgrade at Hub (Macro Loop trigger) ────────────────────────────────────Document engagement hooks: what brings players back after each session? What creates "one more run" psychology?
Section 5 — Game Mechanics (target: 1500-3000 words): Use the mechanic template from templates/mechanics_specification_template.md. Cover every distinct system:
- Primary combat/interaction mechanic
- Resource management (health, stamina, ammo, mana, energy — whatever applies)
- Movement system
- Progression/upgrade mechanic
- Social/multiplayer mechanic (if applicable)
- Economy/transaction mechanic (if applicable)
- Procedural/randomization systems (if applicable)
Each mechanic gets the full Input/System/Feedback/Parameters/Rationale treatment.
Section 6 — Progression System (target: 800-1500 words): Specify the complete progression hierarchy: what the player levels/upgrades, at what rate, what it unlocks. Include an XP table if applicable (levels 1-10 shown fully, then formula for remainder). Document three player archetype timelines: Casual (30 min/day), Average (60 min/day), Hardcore (2+ hours/day). Flag any content gates and whether they should feel like achievements or obstacles.
Section 7 — Content Design (target: 800-1500 words): Enumerate content scope: levels/zones/worlds, enemy types with design notes, item/equipment categories, ability/skill counts. For each major content type: creation guidelines (what makes a good level/enemy/item in THIS game), quantity targets for launch, and post-launch cadence if applicable.
Section 8 — Narrative & World (target: 500-1200 words): Setting overview, tone/mood, lore depth (surface/medium/deep — be honest), story structure (linear/branching/emergent), key characters with motivations, worldbuilding constraints, how narrative serves gameplay (or is it background only?). If the game is narrative-light, keep this section short and explicit about that choice.
Section 9 — User Experience & Interface (target: 800-1500 words): Document every screen in the game with: entry points, exit points, UI elements, primary action, secondary actions. Include the FTUE (First-Time User Experience) onboarding flow step-by-step: what the player sees/does in minutes 0-1, 1-5, 5-15, 15-30. HUD layout description: every persistent element and when it appears/disappears. Accessibility requirements: minimum text size, colorblind modes, subtitle support, controller remapping.
Section 10 — Art Direction (target: 500-800 words): Visual style statement (one paragraph), primary influences (list 3-5 games/films/artists with specific elements borrowed), color palette (name 5-7 specific colors with hex codes or descriptive names: "Warm amber #F5A623 for rewards and positive feedback"), character art guidelines, environment art guidelines, UI art style, animation style and key moments that must feel great.
Section 11 — Audio Design (target: 300-500 words): Music direction (genre, energy levels per game state), SFX philosophy, voice acting scope (none/minimal/full), adaptive audio triggers, and audio budget implications for the team size.
Section 12 — Multiplayer Design (if applicable) (target: 800-2000 words): Network model (peer-to-peer vs dedicated servers, tick rate target), matchmaking algorithm (skill-based, random, quick play), lobby/party system, social features (friends, guilds, chat), anti-cheat approach, platform-specific multiplayer requirements (PS Plus, Xbox Live, etc.), latency targets, disconnect handling.
Section 13 — Monetization Strategy (target: 600-1200 words): Revenue model rationale (why this model for this audience?), complete IAP catalog with prices and value propositions, premium currency conversion rates (if applicable), battle pass structure (if applicable), ethical guidelines followed (no FOMO in under-13, no pay-to-win in competitive modes, mandatory odds disclosure for loot), regional pricing strategy, projected conversion rates and ARPU targets.
Section 14 — Economy Design (if applicable) (target: 600-1200 words): All currency types with earn/spend rates per player segment, faucet/sink balance (target Net Flow ≤ 5% inflation/month), pricing architecture, premium vs earned currency design philosophy, inflation risk assessment, and intervention triggers ("if daily premium currency accumulation exceeds X, add sink Y").
Section 15 — Technical Requirements (target: 500-1000 words): Engine selection with rationale, minimum and recommended hardware specs (PC/console) or device targets (mobile), networking architecture overview, required third-party services and SDKs, key technical risks and mitigations, performance budget targets (frame rate, load times, memory).
Section 16 — Competitive Analysis (target: 600-1000 words): 3-5 direct competitors with brief competitive profile each, feature comparison matrix (markdown table), market positioning statement, differentiation analysis (what you do differently and why it's better for your target player), market gap analysis, and lessons explicitly learned from each competitor's design.
Section 17 — Development Roadmap (target: 400-800 words): Key milestones: Prototype/Vertical Slice → Alpha → Beta → Gold/Launch → Post-Launch. For each milestone: scope definition, team requirements, and success criteria (what must be true to advance). Flag high-risk items on the critical path. Include a post-launch live ops cadence if applicable.
Section 18 — Risk Assessment (target: 400-600 words): Structured risk register as markdown table: Risk | Category (Technical/Market/Team/External) | Probability (Low/Med/High) | Impact (Low/Med/High) | Mitigation Strategy. Cover at minimum: key technical risks, competitive market risks, team/scope risks, and platform-specific risks.
Section 19 — Appendices: Glossary of game-specific terms, any referenced data tables, external research citations, revision history table.
PHASE 4: DOCUMENT OUTPUT
After generating content, produce the document files using the available Python scripts. Tell the user which script you are running.
Always generate these two automatically (do not skip either one): 1. `.docx` via scripts/generate_gdd_docx.py — Professional Word document with TOC, custom styles, tables, callout boxes, page numbers, cover page 2. `.pdf` via scripts/generate_gdd_pdf.py — Print-ready PDF suitable for email to publishers/investors
Then ask the user if they also want: 3. `.pptx` pitch deck via scripts/generate_pitch_deck_pptx.py — 10-12 slide presentation for meetings and pitches (requires writing pitch slide content) 4. One-page `.pdf` via scripts/generate_one_pager_pdf.py — Single-page concept sheet for cold outreach
Running Scripts:
python scripts/generate_gdd_docx.py --config game_config.json --output "GameTitle_GDD_v01.docx"
python scripts/generate_gdd_pdf.py --config game_config.json --output "GameTitle_GDD_v01.pdf"
python scripts/generate_pitch_deck_pptx.py --config game_config.json --output "GameTitle_Pitch_v01.pptx"
python scripts/generate_one_pager_pdf.py --title "GAME TITLE" --genre "Genre" --platform "Platform" --output "GameTitle_OnePager.pdf"After generating the .docx and .pdf, confirm both files were created successfully. Then ask: "Would you also like me to generate a pitch deck (.pptx) or a one-page concept sheet (.pdf)?" If yes, generate them. Finally offer to: (a) modify any section, (b) add a section that was excluded, or (c) update to a new version.
---
GENRE ADAPTATION GUIDE
Mobile F2P (iOS/Android)
Emphasis: Session length (8-12 min target), Day 1/7/30 retention hooks, monetization ethics, push notification strategy, offline progression Expand: Sections 13 (Monetization) and 14 (Economy) to double length. Add a "Live Operations Calendar" section covering event cadence, seasonal content, and limited-time offers. Reduce: Section 8 (Narrative) to 1-2 pages maximum Add: "Retention Mechanics" section covering daily login rewards, streak systems, social pressure, and notification strategy
Competitive/Esports PC or Console
Emphasis: Balance philosophy, ranked ladder design, spectator support, anti-cheat requirements, content cadence post-launch Expand: Section 12 (Multiplayer) into full network architecture document. Add "Balance Philosophy & Patch Cadence" section. Add: Esports and streaming section if budget allows
Narrative Adventure/RPG
Emphasis: Story structure, branching dialogue systems, character arcs, world consistency Expand: Section 8 (Narrative) to 8-12 pages with full dialogue system specification and branching flowchart descriptions Reduce: Sections 13-14 (Monetization/Economy) if premium game
Idle/Incremental
Emphasis: Long-session engagement across days/weeks, offline calculations, prestige systems, soft/hard caps Expand: Core Loop section to cover the full idle progression arc. Economy Design to 8+ pages. Add: "Offline Progression" section with exact formulas for offline resource accumulation
VR/AR
Emphasis: Comfort and safety (sickness mitigation), physical interaction design, spatial UI Add: "Comfort & Safety Guidelines" section (mandatory for VR submissions), performance budget section (90Hz minimum requirements) Modify: UX section to cover spatial interface design and hand tracking
Hardcore PC (CRPG, Strategy, Sim)
Emphasis: Depth-of-systems documentation, complex UI specifications, modding support consideration Expand: Mechanics section to full specification document. Technical requirements to include modding pipeline if applicable.
---
SINGLE-SECTION REQUEST HANDLING
If the user requests only one section (e.g., "write the mechanics doc for my game"), still complete Phase 1 for the minimum information needed for that section, then generate at full quality. Do not give a lower-quality output because fewer sections were requested.
For single-section requests, ask only the questions directly relevant to that section:
- Mechanics only → Batch 1 + "What specific mechanics do you want documented?"
- UX/Interface only → Batch 1 + platform + "What screens does your game have?"
- Monetization only → genre + platform + audience + current monetization model + "What IAPs or revenue streams are you considering?"
---
EDGE CASE HANDLING
User has a one-line idea: "I have an idea for a survival game." → Run Phase 1, Batch 1 only. Do not refuse. Guide them through the concept via questions. A vague idea becomes a GDD through the interview.
User uploads existing GDD: Read it. Identify: (1) sections missing entirely, (2) sections present but underdeveloped (< professional standard), (3) internal inconsistencies. Report findings. Ask: "Would you like me to fill gaps, expand weak sections, or do a full restructure?" Then proceed with their choice.
Unrealistic scope: If a solo dev describes an MMORPG with 1000+ hours of content, flag diplomatically: "This scope typically requires 50+ developers and $20M+. Would you like me to design a scoped-down MVP version that captures the core experience with realistic scope for your team size?" Then offer two GDD paths: full vision (document as aspirational) and MVP version (document as buildable).
Multiple genre hybrids: "Roguelike RPG open world crafting survival battle royale" → Identify the PRIMARY genre that defines the moment-to-moment loop and build the GDD around that. List hybrids as secondary influences. Complexity ≠ quality.
Technical writing requests: Some users want the GDD to read like a technical spec. Others want it more narrative/visionary. Ask once: "Do you prefer a more technical specification style or a visionary document with narrative descriptions?" Match their preference throughout.
---
DATA SENSIBILITY POLICY
When generating content that includes external claims, market data, or business metrics, follow these rules strictly:
Every numeric claim about the real world must be one of:
1. User-supplied — explicitly attributed: [User-provided: ...] 2. Sourced — with a citation: [Source: title, year, URL or publication] 3. Declared as an assumption — flagged for validation: [Assumption: ...; validate before external use]
This applies to: market size figures, player counts, revenue numbers, retention benchmarks, ARPU/ARPPU targets, competitor statistics, industry averages, demographic data, and any other externally-verifiable claim.
This does NOT apply to: game-internal design parameters (damage values, XP curves, cooldown timers), which are design decisions, not factual claims.
Examples:
- WRONG: "The mobile RPG market is worth $15B annually"
- RIGHT: "The mobile RPG market is worth $15B annually [Source: Newzoo Global Games Market Report, 2024]"
- RIGHT: "The mobile RPG market is worth $15B annually [Assumption: based on industry reports; validate with current data before investor use]"
Never present LLM-generated market statistics, KPI benchmarks, or revenue projections as researched facts. When specific data is unavailable, use the [Assumption: ...] marker and recommend the user validate with current sources.
---
QUALITY STANDARDS CHECKLIST
Before finalizing any section, verify:
- [ ] Contains zero instances of "various," "different," "some," "many," "multiple" without specific counts
- [ ] Every mechanic has minimum: description, at least 2 concrete numbers/parameters, and player-facing feedback
- [ ] Open questions are flagged, not silently omitted
- [ ] Design rationale explains "why" not just "what"
- [ ] Cross-references to related sections are included where relevant
- [ ] Comparable games are cited for design decisions (minimum 1 per major mechanic)
- [ ] Tables are used for parameter data (not inline lists)
- [ ] Section length is within recommended range for the game's scope
- [ ] All external market/business claims have a
[Source: ...]or[Assumption: ...]marker - [ ] No unsourced numeric claims about market size, player counts, or revenue in business sections
---
OUTPUT FORMATTING
Tables: Use markdown tables for all parameter breakdowns, comparison matrices, and structured data. Minimum columns: Parameter | Default Value | Range | Notes.
Formulas: Display in code blocks with variable definitions:
Damage = (BaseDamage × AttackMultiplier) - (EnemyDefense × 0.5)
Where:
BaseDamage: weapon base stat (10-150, scales by tier)
AttackMultiplier: 1.0 base, modified by skills (0.5-3.0)
EnemyDefense: enemy stat (5-200, see enemy stat table)Diagrams: Use ASCII/text diagrams for system flows and loops. Label all boxes and arrows.
Designer Notes: Use blockquote format with game controller emoji prefix for visual distinction.
Section Headers: Use H2 for major sections, H3 for subsections, H4 for mechanics within sections.
Version Tracking: Begin document with version table: Version | Date | Author | Changes
---
WHAT YOU NEVER DO
- Generate a GDD without Phase 1 minimum (Batch 1)
- Leave any mechanic description without concrete parameters
- Use filler phrases: "engaging gameplay," "intuitive controls," "fun for all ages," "exciting experience"
- Design pay-to-win mechanics that create unfair competitive advantages in PvP environments
- Design systems that exploit psychological vulnerabilities in minors or vulnerable players
- Advise circumventing platform regulatory requirements (Apple App Store, Google Play, console certification)
- Skip the design rationale — every significant decision must have a "because"
- Write a section without referencing at least one real comparable game or precedent
- Generate a document over 80 pages without asking if the user wants the full version or a focused subset
- Present vague scope without flagging it: always calculate approximate page count and writing time for large documents before starting
---
SECTION REGISTRY KEYS
When generating JSON config for the document generators, use these exact keys in the sections dict. Mismatched keys will cause content to be replaced with template placeholders:
| # | Section Key | Section Name |
|---|---|---|
| 1 | cover_page | Cover Page |
| 2 | executive_summary | Executive Summary |
| 3 | game_overview | Game Overview |
| 4 | core_gameplay_loop | Core Gameplay Loop |
| 5 | game_mechanics | Game Mechanics |
| 6 | progression_system | Progression System |
| 7 | content_design | Content Design |
| 8 | narrative_world | Narrative & World (optional) |
| 9 | ux_interface | User Experience & Interface |
| 10 | art_direction | Art Direction |
| 11 | audio_design | Audio Design |
| 12 | multiplayer_design | Multiplayer Design (optional) |
| 13 | monetization_strategy | Monetization Strategy |
| 14 | economy_design | Economy Design (optional) |
| 15 | technical_requirements | Technical Requirements |
| 16 | competitive_analysis | Competitive Analysis |
| 17 | development_roadmap | Development Roadmap |
| 18 | risk_assessment | Risk Assessment |
| 19 | appendices | Appendices |
---
REFERENCE FILES
Use these template and example files when generating content:
templates/gdd_master_structure.md— Complete section structure with element checkliststemplates/mechanics_specification_template.md— Per-mechanic documentation standardtemplates/ux_flow_template.md— Screen flow and interface documentation formattemplates/monetization_strategy_template.md— Revenue model and IAP catalog formattemplates/technical_requirements_template.md— Technical specification structuretemplates/art_direction_template.md— Visual direction documentation formattemplates/competitive_analysis_template.md— Market analysis frameworktemplates/one_page_pitch_template.md— Single-page concept sheet formatexamples/example_roguelike_gdd_outline.md— Reference for roguelike genreexamples/example_mobile_rpg_gdd_outline.md— Reference for mobile F2P genreexamples/example_multiplayer_shooter_outline.md— Reference for competitive multiplayerassets/cover_page_spec.md— Cover page layout specification
---
This skill generates professional game design documentation following industry standards used at major studios. All game design frameworks referenced are derived from published game design literature, postmortems, and publicly available studio documentation. Always validate legal and platform compliance requirements with qualified counsel before public release.
Security Policy
Supported Versions
| Version | Supported |
|---|---|
| latest | Yes |
Reporting a Vulnerability
If you discover a security vulnerability in this project, please report it responsibly:
1. Do not open a public GitHub issue for security vulnerabilities 2. Email the maintainer at the address listed in the repository profile, or use GitHub's private vulnerability reporting 3. Include a description of the vulnerability, steps to reproduce, and any potential impact 4. Allow reasonable time for a fix before public disclosure
Scope
This project consists of local CLI scripts that generate documents from JSON input. The primary security considerations are:
- Supply chain: Dependency integrity for
python-docx,fpdf2, andpython-pptx - File handling: The scripts read local JSON configs and write local document files
- DOCX-to-PDF conversion: The
--docxflag ingenerate_gdd_pdf.pydelegates to external software (Microsoft Word or LibreOffice). Only use this with trusted.docxfiles — do not process untrusted or user-uploaded documents through this path
Security Practices
- Dependencies are pinned to exact versions in
requirements.txt - No networking, authentication, or server endpoints are implemented
- No secrets or API keys are required or stored
.gitignoreexcludes IDE settings and local config files
Auditing Dependencies
pip install pip-audit
pip-audit -r requirements.txtname: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
lint-and-scan:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install --upgrade pip-audit bandit
pip install --upgrade "semgrep>=1.70.0" --only-binary=:all:
- name: Verify Python syntax (compileall)
run: python -m compileall scripts/ -q
- name: Dependency vulnerability scan (pip-audit)
run: pip-audit -r requirements.txt
- name: Security lint (Bandit) — gating on Medium+ severity
run: bandit -r scripts/ -x .venv -f json -o bandit-report.json -ll
# -ll = fail on Medium and above; use -lll for High-only
- name: Upload Bandit report
if: always()
uses: actions/upload-artifact@v4
with:
name: bandit-report-${{ matrix.python-version }}
path: bandit-report.json
- name: Static analysis (Semgrep)
run: semgrep scan --config "p/default" scripts/ --error
env:
SEMGREP_SEND_METRICS: "off"
secret-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run Gitleaks
uses: gitleaks/gitleaks-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Python
__pycache__/
*.pyc
*.pyo
*.egg-info/
dist/
build/
# Virtual environment
.venv/
env/
# Test and output artifacts
test_output/
output/
# OS files
.DS_Store
Thumbs.db
# IDE
.claude/settings.json
.vscode/
.idea/
Cover Page Layout Specification
This document defines the precise layout, typography, spacing, and required elements for a professional GDD cover page. Follow this spec when generating cover pages in any output format (docx, pdf, pptx). The cover page is the first thing a publisher, investor, or team member sees — it must communicate professionalism instantly.
---
Page Setup
| Property | Value |
|---|---|
| Page size | A4 (210mm × 297mm) or US Letter (8.5" × 11") |
| Orientation | Portrait only |
| Margins | Top: 0, Left: 0, Right: 0, Bottom: 0 (full bleed for background) |
| Effective content area margins | Top: 25mm, Left: 25mm, Right: 25mm, Bottom: 25mm |
---
Layout Structure
┌─────────────────────────────────────────────────────────────────────┐
│░░░░░░░░░░░░░░░░ TOP ACCENT BAR (full width, 8mm tall) ░░░░░░░░░░░░░│ ← Dark navy background
├─────────────────────────────────────────────────────────────────────┤
│ │
│ │
│ │ ← Empty space: 50-60mm
│ │
│ │
│ │
│ ┌─────────────────────────────────┐ │
│ │ │ │
│ │ GAME TITLE │ ← Centered │
│ │ (36-48pt, Dark Navy Bold) │ or left- │
│ │ │ aligned │
│ └─────────────────────────────────┘ │
│ │
│ ───────────────────────────────── │ ← Accent line (40-60mm wide, gold/blue)
│ │
│ "Tagline — italic, 14-16pt, grey" │ ← Tagline
│ │
│ │ ← Space: 20-30mm
│ │
│ Genre · Platform · Target Audience │ ← Metadata (10-12pt, grey)
│ │
│ │ ← Space: 40-60mm
│ │
│ Studio Name │ ← Studio (12-14pt, Bold, Navy)
│ Game Design Document │ ← Document type (11pt, grey)
│ Version: v0.1 · January 2025 │ ← Version + Date (10pt, grey)
│ Lead Designer: [Name] │ ← Designers (10pt, grey)
│ │
│ │ ← Space: 15-25mm
│ │
│ CONFIDENTIAL — For internal use and authorized partners only. │ ← Confidentiality (8-9pt, italic, light grey)
│ Do not distribute without written permission. │
│ │
├─────────────────────────────────────────────────────────────────────┤
│░░░░░░░░░░░░░░░░ BOTTOM ACCENT BAR (full width, 8mm tall) ░░░░░░░░░░│ ← Same dark navy
└─────────────────────────────────────────────────────────────────────┘---
Element Specifications
Top Accent Bar
- Dimensions: Full page width × 8mm tall
- Position: Top of page, bleeds to edges
- Color: Dark Navy RGB(26, 60, 94)
- Content: None (decoration only) OR studio name in white 7pt right-aligned with 8mm margin
Game Title
- Font family: Cambria (headings font)
- Font size: 36-48pt depending on title length
- Short title (1-2 words): 48pt
- Medium title (3-4 words): 40pt
- Long title (5+ words): 32-36pt
- Font weight: Bold
- Color: Dark Navy RGB(26, 60, 94)
- Alignment: Center (preferred) or Left
- Case: ALL CAPS or Title Case — decide per title (ALL CAPS for single/short titles, Title Case for long titles)
- Position: Vertical center of top third of page (~80-100mm from top)
- Letter spacing: Slightly expanded (+5%) for ALL CAPS titles
Accent Separator Line
- Width: 40-60mm, centered horizontally
- Thickness: 1.5-2pt
- Color: Mid Blue RGB(41, 89, 133) OR Gold RGB(200, 150, 40) — choose one consistently
- Position: 8-12mm below game title
- Style: Solid line (no dashes)
Tagline
- Font family: Calibri (body font)
- Font size: 14-16pt
- Font weight: Regular, Italic
- Color: Dark Grey RGB(80, 80, 80)
- Alignment: Center
- Position: 6-8mm below accent line
- Max length: 1 line preferred; 2 lines acceptable for longer taglines
- Format: Quoted with curly quotes preferred: "Every map is a memory. Every death rewrites the world."
Genre / Platform / Audience Line
- Font family: Calibri
- Font size: 11-12pt
- Font weight: Regular
- Color: Medium Grey RGB(100, 100, 100)
- Alignment: Center
- Position: 15-20mm below tagline
- Format:
[Genre] · [Platform(s)] · [Audience] - Separator: Middle dot (·) with 2 spaces each side
- Example:
Roguelike Deckbuilder · PC (Steam), Switch · Ages 22–40, Midcore PC Gamers
Studio Information Block
- Position: Bottom third of page, above confidentiality notice
- Alignment: Center
- Elements and sizes:
- Studio name: 13-14pt, Bold, Dark Navy RGB(26, 60, 94)
- "Game Design Document": 11pt, Regular, Medium Grey
- "Version: v0.X · [Month YYYY]": 10pt, Regular, Medium Grey
- "Lead Designer(s): [Name(s)]": 10pt, Regular, Medium Grey
- Line spacing: 1.1× between each element
Confidentiality Notice
- Font family: Calibri
- Font size: 8-9pt
- Font weight: Regular, Italic
- Color: Light Grey RGB(130, 130, 130)
- Alignment: Center
- Position: 15-20mm above bottom accent bar
- Text:
"CONFIDENTIAL — For internal use and authorized partners only. Do not distribute without written permission." - Width: Limited to 120-140mm (centered block) — not full page width
Bottom Accent Bar
- Identical to top accent bar: Full width × 8mm, Dark Navy RGB(26, 60, 94)
- Position: Bottom of page, bleeds to edges
- Content: None (decoration) OR copyright/contact line in white 7pt centered
---
Optional Background Treatments
For projects with a strong visual identity, a background treatment can be applied. Always keep text legibility as the priority — never use dark text on dark background.
Option A: Pure White (Default)
Background: White #FFFFFF. Top/bottom bars are the only color. Clean, professional, suitable for all genres.
Option B: Subtle Texture
Background: Very light noise/grain texture at 3-5% opacity over white. Adds tactile quality without affecting legibility.
Option C: Dark Background (For Dark/Horror/Sci-Fi Games)
Background: Dark Navy #0E0E1A. All text shifts to light colors:
- Game Title: Gold or White
- Tagline: Silver/Off-white (italic)
- Metadata: Light grey
- Studio info: Off-white
- Bars: Can be removed (already dark background) or use accent gold/blue
- Confidentiality: Light grey
Option D: Gradient Band
A subtle gradient behind the title area only (center 40% of the page). Background #F5F7FA to #FFFFFF. Does not affect text colors.
---
Version History Table (Page 2 or Verso)
The cover page is typically followed by a version history table. Format:
| Column | Content |
|---|---|
| Version | v0.1, v0.2, v1.0 |
| Date | Month YYYY |
| Author | Lead designer name |
| Summary of Changes | Brief description of what changed in this version |
Table styling:
- Header row: Dark Navy background, White Bold text, 10pt
- Data rows: Alternating white / very light blue
- Borders: Light grey 0.5pt all cells
- Font: Calibri 10pt
---
Common Anti-Patterns
| Anti-Pattern | Why It Fails | Fix |
|---|---|---|
| Title too small (< 28pt) | Doesn't command attention | Increase to minimum 32pt |
| No version number | Document can't be identified in email threads | Always include version |
| No confidentiality notice | Legal and professional expectation for commercial documents | Always include it |
| Tagline missing | Cover tells you the title but not the experience | Write a tagline that captures the feeling |
| Too many decorative elements | Looks amateur, distracts from content | White space is professional — use it |
| Genre/audience line missing | Publisher can't immediately categorize | Always include genre · platform · audience |
| Studio name larger than game title | Studio's brand > game — wrong hierarchy | Game title is always the largest text element |
| Dark text on image/photo background | Legibility destroyed | Never place text over background images without semi-opaque overlay |
| Decorative fonts for title | Impossible to read at a glance | Stick to Cambria/Garamond/Helvetica — design through spacing and weight, not font choice |
---
Cover Page Checklist
Before finalizing the cover page, verify:
- [ ] Game title is the largest text element on the page
- [ ] Version number is present and current
- [ ] Document date matches current version
- [ ] Studio/developer name is accurate
- [ ] Lead designer name(s) are spelled correctly
- [ ] Genre, platform, and audience are up-to-date
- [ ] Confidentiality notice is included
- [ ] Tagline is present and specific (not generic)
- [ ] Top and bottom accent bars are visually consistent
- [ ] No spelling errors (this is the first thing anyone reads)
- [ ] Text is legible at 100% zoom AND when printed
- [ ] Font choices are consistent with the rest of the document
Game Design Document Generator — Project Instructions
This project is a community-created skill for Claude that generates professional Game Design Documents.
How This Skill Works
When a user describes a game concept or asks for a GDD, follow the complete instructions in SKILL.md. The skill has 4 mandatory phases:
1. Discovery Interview — Ask questions in batches to understand the game 2. Outline Generation — Present a tailored 19-section outline for approval 3. Full Content Generation — Write each section at publisher-grade quality 4. Document Output — Generate .docx, .pdf, .pptx files using the Python scripts
First-Time Setup
If the virtual environment doesn't exist yet, create it:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtRunning the Generators
Always use the project's virtual environment:
source .venv/bin/activate
python scripts/generate_gdd_docx.py --config game_config.json --output output/GameTitle_GDD.docx
python scripts/generate_gdd_pdf.py --config game_config.json --output output/GameTitle_GDD.pdf
python scripts/generate_pitch_deck_pptx.py --config game_config.json --output output/GameTitle_Pitch.pptx
python scripts/generate_one_pager_pdf.py --title "TITLE" --genre "Genre" --platform "Platform" --output output/GameTitle_OnePager.pdfJSON Config Format
When generating content, build a JSON config with these keys:
Top-level metadata: game_title, tagline, genre, platform, audience, studio_name, version, date, lead_designer
Section content: Use the sections dict with exact registry keys from SKILL.md. Each section value is either a string or {"content": "...", "subsections": [...]}.
Key Rules
- Read
SKILL.mdfor the complete skill instructions before generating any GDD - Read template files from
templates/when writing specific sections - Read example files from
examples/for genre-specific reference - Use exact section registry keys (e.g.,
monetization_strategynotmonetization) - All Python scripts are in
scripts/with utilities inscripts/utils/ - Dependencies are installed in
.venv/(python-docx, fpdf2, python-pptx)
Security, Trustworthiness, Performance, and Utility Review of ityes22/game-design-document
Executive summary
I reviewed the repository’s prompts/templates and its Python export scripts for generating publisher-style Game Design Documents (GDDs) and companion pitch artifacts (DOCX, PDF, PPTX, and a one-page PDF). The repo positions itself as an “Anthropic Agent Skill” that runs a structured interview, produces a 19-section outline, generates section content, then exports formatted documents using Python scripts. citeturn4view0turn5view0turn39view0
From a security perspective, the code has a relatively small direct attack surface because the generators are local CLI tools that do not implement networking, authentication, or server endpoints. citeturn11view0turn36view0turn38view1 The primary security risks are supply-chain and operational: a missing security policy, no visible automated security checks, an installation manifest that is not compliant with pip’s documented requirements-file format, and an optional DOCX→PDF conversion path that delegates document parsing to external desktop software (Word/LibreOffice), which increases risk if untrusted documents are processed. citeturn24view0turn6view0turn35view0turn36view0turn37search3turn37search4
Trustworthiness is constrained by minimal project history (two commits total, both by the same author account displayed as “Said O”), no issues/PR activity, and provenance cues that can be interpreted as “official” despite the repo living under a personal namespace. citeturn22view0turn24view0turn39view0 The licensing and metadata also create attribution ambiguity (e.g., “Copyright 2024 Anthropic” in the Apache-2.0 boilerplate and “creator” metadata string in the PDF generator). citeturn17view2turn26view3turn36view0
Performance is likely acceptable for typical use (generating dozens of pages of text), but the implementation is “string-driven” (line-by-line parsing) with approximate layout heuristics in PDF rendering and non-ideal Table of Contents behavior in PDF (TOC appended because page insertion isn’t supported in the chosen workflow). This creates more quality/performance risk for very large tables, heavily formatted markdown-like content, or strict pagination requirements. citeturn12view0turn27view1turn30view0turn29view0
Utility is strong for teams who want a structured GDD workflow and polished exports, but difficulty is moderate: users need Python installed, must generate/maintain a JSON config structure, and must understand the split between “LLM generates content” vs “scripts export documents.” citeturn4view0turn17view0turn5view0 The largest practical “data sensibility” risk is that the prompt/examples/default pitch-deck content embed numeric claims and market metrics that can read as factual but are not enforced to be sourced; this can lead to credible-looking but unsupported outputs. citeturn21view0turn30view4turn34search2
Highest-impact recommendations (priority order):
1) Fix requirements.txt to match pip’s requirements-file format (one requirement per line) and adopt repeatable installs (pinning and, if desired, hash-checking). citeturn6view0turn35view0turn33search0 2) Align the stated Python version with actual syntax used (either require Python ≥3.9 or refactor type hints for 3.8 compatibility). citeturn5view0turn14view0turn31search3 3) Add basic security governance (SECURITY.md) and automate dependency/SAST/secret scanning in CI. citeturn24view0turn31search13turn31search2turn32search0turn32search1turn32search2 4) Implement “data sensibility” guardrails in the prompt and add lightweight validation that flags unsourced numeric claims/placeholders prior to export. citeturn5view0turn30view4turn34search2
Scope, sources, and assumptions
I based this assessment on primary repository artifacts: the root documentation (README, SKILL, CLAUDE), dependency manifest (requirements.txt), generator scripts and their utility modules, templates/examples/assets, plus repository metadata visible via commit history and the Security tab. citeturn4view0turn5view0turn17view0turn6view0turn39view0turn22view0turn24view0 External sources are used only where they directly support secure-development recommendations (pip requirements format and secure installs, dependency auditing and SAST/secret scanning tools, and LLM risk guidance). citeturn35view0turn33search0turn31search2turn32search0turn32search2turn34search2turn34search3
Assumptions (explicitly stated where repo details are unspecified):
- Deployment model is unspecified; I assume the scripts are typically run locally by a single user (not as a multi-tenant web service), because the repository only provides CLI scripts and local file output. citeturn17view0turn11view0turn36view0
- Target OS/platform is unspecified; I assume cross-platform intent (Windows/macOS/Linux) because the instructions include generic Python venv usage and because the PDF conversion path references Word/LibreOffice on different OSes. citeturn17view0turn36view0
- Python version constraints are ambiguous: SKILL metadata says Python ≥3.8, but code uses newer typing syntax; I treat this mismatch as a material risk until resolved. citeturn5view0turn14view0turn31search3
- Threat model is unspecified; I assume inputs are “trusted” game concepts and configs authored by the user or their LLM workflow. Where the scripts accept arbitrary file paths (notably DOCX conversion), I explicitly discuss the higher-risk scenario where inputs could be attacker-controlled. citeturn36view0turn37search3turn37search4
Repository map and architecture
The initial release commit shows the repo is intentionally small and self-contained: 27 files added, including the prompt entry point (SKILL.md), documentation, four generator scripts, a scripts/utils/ library, eight templates, three example outlines, and an asset spec. citeturn39view0turn26view1 The overall design is: “LLM-guided content generation” (via SKILL.md) produces a structured content payload (JSON), then the Python scripts render that payload into formatted deliverables. citeturn5view0turn17view0turn11view0turn36view0turn13view0
flowchart TD
A[User game concept] --> B[LLM workflow via SKILL.md<br/>Discovery → Outline → Content]
B --> C[Structured JSON config<br/>game metadata + sections]
C --> D[DOCX generator<br/>python-docx + docx_styles + section_registry]
C --> E[PDF generator<br/>fpdf2 + pdf_builder + section_registry]
C --> F[PPTX pitch deck generator<br/>python-pptx + pptx_builder]
C --> G[One-page PDF generator<br/>fpdf2]
D --> H[.docx output]
E --> I[.pdf output]
F --> J[.pptx output]
G --> K[one-page .pdf output]
E --> L[Optional: DOCX→PDF conversion<br/>docx2pdf + Word/LibreOffice]This flow is grounded in the repo’s own stated four-phase workflow and the CLI scripts’ supported inputs (--title or --config, plus DOCX conversion for the PDF script). citeturn4view0turn5view0turn36view0turn30view3turn13view0turn38view1
Key components table (purpose, risks, recommended actions):
| Component | Primary purpose | Potential risks | Recommended actions |
|---|---|---|---|
SKILL.md | Defines the “skill” behavior and 4-phase interview→outline→content workflow | Data sensibility: encourages specific metrics without enforcing sources; risk of credible but unsupported outputs | Add explicit “source required” conventions for external claims; require marking assumptions; add “sensitive data” handling guidance |
requirements.txt | Declares runtime deps | Format appears non-compliant with pip’s line-oriented requirements format; versions not pinned | Split into one requirement per line; add pinned versions (and optionally hashes) |
scripts/generate_gdd_docx.py | Builds DOCX from JSON content; parses markdown-like structures | Robustness: “standalone mode” may still reference utils-only symbols; no formal schema validation step | Add JSON schema validation; fix fallback behavior when utils absent; add size limits |
scripts/generate_gdd_pdf.py | Builds PDF directly with fpdf2 OR converts an existing DOCX to PDF | DOCX conversion increases attack surface if untrusted inputs are processed; PDF TOC behavior appended/approximate | Gate/disable DOCX conversion by default; document safe usage; prefer DOCX→PDF only for trusted files or sandboxed conversion |
scripts/generate_pitch_deck_pptx.py | Generates pitch deck with defaults | Default content includes placeholder stats/claims that can be misread as factual | Make placeholders unmistakable; add “SOURCE NEEDED” flags; validate numeric claims |
scripts/utils/section_registry.py | Canonical section registry + simple validation & genre-based omission | Python version mismatch via dict[str, …] typing; validation is keyword-based (false positives/negatives) | Add Python compatibility fix; strengthen validation to be schema-based and placeholder-aware |
templates/* and examples/* | Provide canonical structures and examples | Examples include market sizes and KPI targets; can be copied as “facts” | Mark examples as fictional; add citations or “example-only” banners |
| Security governance (missing) | Vulnerability reporting, disclosures | No SECURITY.md; no visible advisories | Add SECURITY.md and basic reporting guidance; add CI checks |
The component list and file inventory are corroborated directly by the initial commit file tree and the README’s documented file structure. citeturn39view0turn4view0
Security audit
Findings: repository security posture and code-level risks
The repo’s Security page explicitly reports “No security policy detected” (no SECURITY.md) and no published advisories. citeturn24view0turn31search13 This means there is no guidance for reporting vulnerabilities, no stated supported versions, and no established disclosure process—raising practical risk if others adopt the code or publish derived skills. citeturn24view0turn31search1
Dependency and supply-chain posture is the most immediate technical concern. The runtime dependency set is small (python-docx, fpdf2, python-pptx), but the requirements.txt file is a single line containing multiple specifiers separated by spaces. Pip documents requirements files as line-oriented, where each line indicates a single requirement or an install option, making the current file format unreliable and likely to fail for pip install -r requirements.txt. citeturn6view0turn35view0 Even if corrected, the repo uses only “minimum version” constraints, which increases exposure to supply chain and breaking changes over time; pip’s own documentation outlines mechanisms for repeatable installs and hash-checking mode to reduce tampering risk. citeturn6view0turn33search0turn35view0
The PDF generator includes an explicit mode to convert an existing DOCX to PDF using docx2pdf, which requires Word (Windows/Mac) or LibreOffice (Linux). citeturn36view0 If this conversion path is ever used in a service-like context (multi-user, untrusted uploads), processing untrusted document files is a known high-risk pattern; OWASP’s file upload guidance emphasizes that consequences depend heavily on what the application does with uploaded files, and LibreOffice itself documents security fixes for cases where specially crafted files can lead to code execution when opened. citeturn37search0turn37search3turn37search4
Secrets exposure risk appears low in the current snapshot (no obvious API keys in the reviewed files), and .gitignore excludes likely local/IDE artifacts (including .claude/settings.json, which is a sensible preventive step). citeturn17view1turn39view2 However, there is no evidence of automated secret scanning, which is typically recommended even for small projects because secrets can enter via copy/paste or example snippets. citeturn32search2turn32search3
Risk/benefit assessment
The main benefit is a constrained runtime and a local-first architecture: the scripts ingest local JSON and emit local documents, without networking, credential management, or server exposure. citeturn30view3turn36view0turn38view1 This meaningfully reduces the attack surface versus a hosted “GDD generator API.”
The main risks, in order of likely impact, are: (1) broken or misleading installation/dependency mechanisms, (2) lack of security governance and automated scanning, and (3) unsafe operational patterns if the DOCX conversion pathway is used with untrusted inputs. citeturn6view0turn24view0turn36view0turn37search3
Concrete remediation and improvements (code-level where applicable)
Fix requirements.txt format and harden dependency management. Pip expects requirements files to be line-based. Refactor to:
python-docx>=1.1.0
fpdf2>=2.7.0
python-pptx>=0.6.23Then, for stronger control, add pinning (e.g., ==) and optionally hash-checking mode (with --hash=...) following pip’s secure installs guidance. citeturn35view0turn33search0
Add a SECURITY policy and minimally adopt secure repo hygiene. GitHub documents using SECURITY.md as a good practice for reporting and collaborating on vulnerability disclosure. citeturn31search13turn31search1 Given the GitHub Security tab already flags the absence, adding it is a low-effort, high-signal improvement. citeturn24view0
Automate SCA/SAST/secret scanning in CI (or at least document “how to audit” and provide a Makefile). Suggested baseline:
- Dependency vulnerability scanning via
pip-audit(uses the Python Packaging Advisory Database). citeturn31search2 - Python SAST via Bandit (AST-based checks for common issues). citeturn32search0
- Rule-based SAST via Semgrep (
semgrep scan). citeturn32search1 - Secret scanning via Gitleaks or TruffleHog (TruffleHog emphasizes verification for classified secret types). citeturn32search2turn32search3
Reduce risk of DOCX conversion misuse. If the repo is meant for local, trusted workflows, I recommend making the conversion mode “explicitly advanced” (documented as trusted-only) and/or gating it behind a flag like --i-understand-docx-risk (even a soft guard reduces accidental unsafe use). The current code path will invoke external converters directly without sandboxing. citeturn36view0turn37search3
Estimated effort and priority
- Requirements-file fix + add SECURITY.md: Effort: low; Priority: high. citeturn6view0turn24view0turn35view0
- Add CI scans (pip-audit, Bandit, Semgrep, secret scanning): Effort: medium; Priority: high. citeturn31search2turn32search0turn32search1turn32search2
- DOCX conversion risk gating: Effort: low/medium; Priority: medium (high if the project is deployed as a service). citeturn36view0turn37search3
Trustworthiness and efficiency
Findings: provenance, maintainability signals, and internal consistency
The commit history is extremely small: two commits are visible, both authored/committed by the same account displayed as “Said O,” with the most recent commit dated Feb 14, 2026. citeturn22view0turn25view0 The repository also shows no open issues and no pull requests in the interface, which is consistent with a new or minimally used project. citeturn22view0turn22view1turn22view2
There are multiple cues that can confuse users about “officialness” and attribution. The LICENSE file is Apache-2.0 but includes “Copyright 2024 Anthropic” in the boilerplate notice section, and the PDF generator sets a “creator” metadata string that includes “Anthropic.” citeturn17view2turn26view3turn36view0 The README and project instructions repeatedly call this an “Anthropic Agent Skill.” citeturn4view0turn17view0turn39view0 None of these are necessarily wrong, but together they create an avoidable trust ambiguity: users may infer official endorsement/support when the repository is in a personal namespace.
A key internal consistency issue is the stated Python version requirement vs the syntax used. SKILL.md metadata says “python>=3.8.” citeturn5view0 But scripts/utils/section_registry.py uses dict[str, SectionDef] typing without from __future__ import annotations, which relies on standard-collection generics introduced by PEP 585 (Python 3.9+). citeturn14view0turn31search3 Practically, that means the advertised “3.8+” claim is not trustworthy until fixed (either by raising the minimum to 3.9+ or refactoring typing). citeturn5view0turn14view0
Efficiency (engineering efficiency, not runtime) is generally good: the codebase is small and feature-oriented, with a centralized section registry and reusable builders for DOCX/PDF/PPTX. citeturn14view0turn15view0turn15view1turn16view0 The architecture is straightforward to maintain, but it is missing the typical reliability scaffolding (tests, linting, CI) that would demonstrate correctness and prevent regressions. citeturn24view0turn39view0
Risk/benefit assessment
Benefit: A small, explicit, mostly template-driven codebase is easier to audit than a large framework, and the section registry makes behavior predictable. citeturn14view0turn39view0
Risk: Trust signals are weakened by (a) attribution ambiguity and (b) contradictory Python requirements. Those are reputational and operational risks (install failures, user confusion) rather than “exploitable vulnerabilities,” but they materially affect whether I would treat the artifacts as trusted inputs in a professional workflow. citeturn5view0turn14view0turn17view2turn36view0
Concrete remediation and improvements (code-level where applicable)
Resolve the Python version mismatch (two viable options):
Option A (simplest): raise minimum supported Python to 3.9+ everywhere documentation claims “3.8+.” This aligns with PEP 585 typing usage. citeturn5view0turn31search3
Option B (retain 3.8+): change dict[str, …] to Dict[str, …] and/or add from __future__ import annotations at the top of files using PEP 585 generics. citeturn14view0turn31search3
Clarify provenance/attribution: add a short NOTICE (or README section) explicitly stating authorship and that this repository is not an official product unless that is intended. Also consider changing PDF metadata “creator” string to a neutral project name (e.g., “game-design-document generator”) to avoid misattribution in distributed PDFs. citeturn36view0turn4view0
Add minimal quality gates: even a thin CI that runs python -m compileall, basic linting, and unit tests for parsers (table/code-block parsing) would significantly increase trust in correctness for DOCX/PDF generation logic. citeturn12view0turn27view1turn15view1
Estimated effort and priority
- Python version alignment + requirements.txt correction: Effort: low; Priority: high. citeturn5view0turn14view0turn35view0
- Provenance clarity + PDF metadata cleanup: Effort: low; Priority: medium. citeturn17view2turn36view0
- CI + basic tests: Effort: medium; Priority: medium/high (high if others will rely on outputs for business decisions). citeturn39view0turn12view0
Performance considerations
Findings: likely runtime behavior and bottlenecks
The DOCX generator parses input content line-by-line, handling code fences, markdown-ish tables, headings, bullets, and custom markers like [DIAGRAM:] and [OPEN QUESTION:]. citeturn11view0turn12view0 This approach is generally O(n) in number of lines, but python-docx operations can become slow when adding many paragraphs/tables and styling runs repeatedly—especially for “40–80 page” documents as marketed. citeturn4view0turn12view0
The PDF generator uses a similar line-based parsing strategy and renders tables with equal-width columns computed from PDFLayout.CONTENT_WIDTH / n_cols. citeturn27view1turn28view3 This is simple, but wide or text-heavy columns can overflow cell widths and create pagination/layout artifacts. The callout box height estimation uses heuristics (estimated chars-per-line) rather than exact layout measurement, which can cause clipping or excessive whitespace depending on input length. citeturn29view0
TOC handling differs by output type: the DOCX generator inserts a Word TOC field that requires the user to update fields in Word, while the PDF generator explicitly notes TOC page numbers are approximate and ultimately appends a rendered TOC because fpdf2 cannot insert pages in-place. citeturn11view0turn30view0turn29view2 This is not a security issue, but it affects perceived “publisher-grade” polish and may create friction for users expecting a front-of-document TOC in PDF. citeturn30view0turn29view2
Risk/benefit assessment
Benefit: The dependency set is light and the algorithms are simple; for typical use (dozens of pages, modest tables), performance should be acceptable on modern hardware. citeturn11view0turn27view1
Risk: The “publisher-grade” goal may be limited by PDF layout heuristics and TOC placement, and performance could degrade for large tables, deeply nested content, or extremely long sections. citeturn27view1turn29view0turn30view0
Concrete remediation and improvements (code-level where applicable)
Introduce content-size safeguards and early warnings: before rendering, compute rough size indicators (word count, table count, max table width) and warn or suggest DOCX-first workflow if thresholds are exceeded. The repo already contains validate_gdd_content in the section registry, but the generators do not appear to invoke it prior to export; wiring it in would improve predictability. citeturn14view0turn12view0turn36view0
Improve PDF table rendering: add per-column width controls (either inferred from header lengths or user-specified in JSON) and implement multi-line cell wrapping where needed. The current equal-width strategy is simple but brittle for real-world spec tables. citeturn27view1turn28view3
Make PDF TOC behavior explicit in UX: since the script already notes the limitation, I would also (a) place the rendered TOC at the end with a clear “Appendix: TOC” heading, and (b) recommend DOCX→PDF conversion (trusted-only) when a front-of-document, accurate TOC is required. citeturn30view0turn36view0
Estimated effort and priority
- Add pre-export validation + size warnings: Effort: low/medium; Priority: medium. citeturn14view0turn12view0
- Improve PDF table layout: Effort: medium/high; Priority: medium. citeturn27view1turn28view3
- Clarify TOC UX and recommended workflow: Effort: low; Priority: medium. citeturn30view0turn29view2
Utility, difficulty, and data sensibility
Findings: user value, adoption friction, and “sensible data” risk
Utility is high for users who want structured GDDs: SKILL.md defines a strict four-phase conversational flow (discovery interview → outline → full content generation → document output) intended to reduce rework and produce actionable specs. citeturn5view0turn4view0turn17view0 The section registry and templates encode a fairly comprehensive “what belongs in a GDD” framework, including UX flow documentation, monetization strategy structure, and technical requirements placeholders. citeturn14view0turn19view1turn19view2turn19view3
Difficulty is moderate. The repo assumes users can: (a) run Python venv, (b) install dependencies, (c) produce a JSON config in the expected schema, and (d) execute the scripts correctly. citeturn17view0turn30view3turn36view0turn38view1 For nontechnical designers, this “two-system” workflow (LLM writes content; scripts build documents) may be a barrier unless wrapped in a simple UI or a one-command tool. citeturn4view0turn17view0
Data sensibility risk is the most serious practical risk for users, even if it is not a classic “security vulnerability.” The pitch deck generator ships with default blocks that include market-size stat placeholders and a retention target line containing an “industry avg” claim; these can be exported into a PPTX if the user doesn’t override them in config. citeturn30view4turn13view0 Example outlines also contain large, specific market and KPI claims (e.g., “$15B+ annually” and detailed retention targets), which—without explicit “fictional example” framing and sources—can be copied forward into real investor-facing documents. citeturn21view0turn20view0
Because the “skill” component relies on LLM generation, there is a known risk of hallucinated or fabricated content, especially when the prompt demands specificity and numeric detail. citeturn5view0turn34search2 If the workflow is used to generate business claims (market sizing, KPIs, revenue projections), those claims need sourcing or explicit labeling as assumptions to avoid producing polished but misleading artifacts. citeturn34search2turn19view2turn13view0
Risk/benefit assessment
Benefit: The repository is genuinely useful as a “structure + export” kit; it can standardize documentation quality and speed up production of consistent artifacts. citeturn4view0turn18view0turn39view0
Risk: Without “data provenance” guardrails, the same polish that adds value can amplify harm—users may treat generated numbers as researched facts, or present them externally without validation. This is a credibility and business-risk issue, and it’s specifically relevant because the repo explicitly targets publisher/investor outputs (DOCX/PDF/PPTX). citeturn4view0turn30view4turn34search2
Concrete remediation and improvements (prompt + light code)
Prompt-level guardrails (high leverage): define a policy in SKILL.md that any external market statistic, KPI benchmark, or revenue claim must be either:
- user-supplied (explicitly attributed: “Provided by user”), or
- sourced (“Source: …”) with an explicit citation form, or
- declared as an assumption (“Assumption: …; validate later”).
This aligns with the repo’s existing practice of flagging open questions and playtest values (it already uses [OPEN QUESTION:] / [PLAYTEST:] conventions). citeturn5view0turn12view0
Code-level validation (lightweight, pragmatic): extend validate_gdd_content (or add a second validator) to flag numeric-looking tokens in “business sections” (Executive Summary, Monetization, Competitive Analysis) that are not accompanied by a “Source:” or “Assumption:” marker. The current validation is only keyword-based (“does the section contain words resembling key element names”), which won’t catch unsourced metrics. citeturn14view0turn30view4
Make placeholders unmistakable in outputs: update default pitch-deck and one-pager placeholders to include a hard prefix like SOURCE NEEDED: so exported slides cannot be mistaken for researched results. citeturn30view4turn38view0
Estimated effort and priority
- Prompt-level citation/assumption protocol: Effort: low; Priority: high (directly addresses “risks from false outputs”). citeturn5view0turn34search2
- Add numeric “data sensibility” validator: Effort: medium; Priority: high. citeturn14view0turn30view4
- Strengthen placeholders in default pitch content: Effort: low; Priority: medium/high. citeturn30view4turn13view0
Remediation roadmap and reproducible audit commands
Prioritized remediation roadmap (effort + priority)
Immediate fixes (high priority)
- Correct
requirements.txtinto pip-compliant, line-based entries; then decide whether to pin versions and/or adopt hash-checking mode for repeatable installs. Effort: low; Priority: high. citeturn6view0turn35view0turn33search0 - Resolve Python 3.8 vs 3.9+ mismatch (update requirement or refactor typing). Effort: low; Priority: high. citeturn5view0turn14view0turn31search3
- Add
SECURITY.mdand basic vulnerability reporting guidance, since GitHub currently flags its absence. Effort: low; Priority: high. citeturn24view0turn31search13
Near-term hardening (medium priority)
- Add CI checks: dependency audit (
pip-audit), Python SAST (Bandit), general SAST rules (Semgrep), secrets scanning (Gitleaks/TruffleHog). Effort: medium; Priority: high for any repo distributed to others. citeturn31search2turn32search0turn32search1turn32search2turn32search3 - Add “data sensibility” guardrails in
SKILL.md+ validation checks to prevent unsourced numeric claims from silently passing into exported documents. Effort: low/medium; Priority: high. citeturn5view0turn30view4turn34search2
Reproducible commands (audits, linters, secret scanners)
# Clone
git clone https://github.com/ityes22/game-design-document.git
cd game-design-document
# Create and activate a virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install runtime deps (after requirements.txt is fixed to be pip-compliant)
pip install -r requirements.txt
# Install audit / analysis tooling (local-only workflow)
pip install pip-audit bandit semgrep
# Dependency vulnerability scan (SCA)
pip-audit -r requirements.txt
# Python security linter (SAST)
bandit -r scripts -x .venv -f json -o bandit.json
# Semgrep scan (default ruleset example)
semgrep scan --config "p/default" .These tools and commands align with their maintained documentation: pip-audit (Python dependency vulnerability scanning), Bandit (Python AST security checks), and Semgrep’s CLI scanning model. citeturn31search2turn32search0turn32search1
# Secret scanning options (choose one)
# Gitleaks (repo + history scanning)
gitleaks detect --source . -v --report-format json --report-path gitleaks.json
# TruffleHog (git scanning; can verify some secrets)
trufflehog git file://$(pwd)Gitleaks and TruffleHog are both explicitly designed to detect secrets in repositories, with TruffleHog emphasizing classification and verification capabilities for supported secret types. citeturn32search2turn32search3
# Generate artifacts (template-only quick runs)
python scripts/generate_gdd_docx.py --title "My Game" --output "output/MyGame_GDD.docx"
python scripts/generate_gdd_pdf.py --title "My Game" --output "output/MyGame_GDD.pdf"
python scripts/generate_pitch_deck_pptx.py --title "My Game" --output "output/MyGame_Pitch.pptx"
python scripts/generate_one_pager_pdf.py --title "My Game" --output "output/MyGame_OnePager.pdf"These CLI entry points and options are documented in the repo and implemented by the scripts. citeturn4view0turn30view3turn36view0turn13view0turn38view1
Example GDD Outline: CRYSTAL COVENANT
Genre: Mobile Gacha RPG | Platform: iOS, Android | Version: v0.3
FICTIONAL EXAMPLE — This outline is entirely fictional and created for reference purposes only. All studio names, game titles, market statistics, KPI targets, revenue figures, player counts, and retention benchmarks are fabricated examples. Do not use any numeric claims from this document in real business contexts without independent verification.
---
This is a complete 19-section GDD outline for a mobile F2P gacha RPG. Use this as a reference for a genre that prioritizes daily retention, IAP monetization, live operations, and gacha systems. Each section description explains what a full document would contain — scope, specificity, and content type.
---
1. Cover Page
Title: CRYSTAL COVENANT Tagline: "Forge legends. Collect destiny." Genre: Mobile Gacha RPG with Guild Warfare Platform: iOS 16.0+, Android 9.0+ Audience: Ages 18–34, midcore mobile gamers; fans of Genshin Impact, Epic Seven, AFK Arena Version: v0.3 | Date: January 2025 | Studio: Prism Gate Studio Confidentiality: For internal use and authorized partners only. Do not distribute without written permission.
---
2. Executive Summary
What this section contains: 500-word case for Crystal Covenant's market positioning. Mobile gacha RPG market: $15B+ annually; top-5 titles earn $2M+/day. Crystal Covenant targets the gap between Genshin Impact's deep combat system (too hardware-demanding for budget Android) and AFK Arena's passive play (too shallow for midcore audience). USPs: (1) "Guild Covenant" system where 20-player guilds own persistent territories with real economy; (2) offline-capable tactical combat (vs. Genshin's requirement for constant connectivity); (3) cross-platform roster transfer between iOS and Android via cloud save. Comparable titles differentiation matrix. Team: 12 developers, 8 full-time, lead producer shipped Epic Seven at Smilegate. Target KPIs: D1 retention 42%, D30 retention 10%, D30 conversion 4%, ARPU $12/mo.
---
3. Game Overview
What this section contains: High concept: "A guild-first gacha RPG where your guild's collective choices shape a persistent world economy." Core fantasy: the player feels like a legendary commander who collects the most powerful heroes in existence and leads their guild to territorial dominance. Experience pillars: 1. Hero Collection — compulsive gacha with fair pity system and transparent rates 2. Tactical Mastery — 3v3 formation battles with genuine skill expression 3. Guild Belonging — social identity through guild territories and history 4. Progress Always — AFK grinding provides offline resource accumulation
Session flow: Daily session (8-12 min) — collect offline resources → use stamina on story or dungeon content → upgrade 1-2 heroes → participate in guild activity → complete daily quests → optionally do Arena PvP. Weekly session: Guild Territory Wars (Sunday, 30-40 min).
---
4. Core Gameplay Loop
What this section contains:
Micro Loop (2-4 min per battle): Formation placement (pre-battle, 30 seconds) → Auto-battle with manual skill triggers → Victory/defeat → Loot collection → Hero EXP distribution
Macro Loop (daily session, 8-12 min): Offline loot collection → Daily quest checklist → Stamina spending (2-3 dungeon runs) → Hero upgrade (materials from dungeons) → Guild check-in → Optional Arena
Meta Loop (weekly → monthly): Hero collection via gacha (daily/weekly pulls) → Guild Territory progression (weekly wars) → Story chapter completion (monthly) → Seasonal events with exclusive heroes and skins (every 6 weeks)
Engagement hooks: Daily login rewards (streak-based), Guild war calendar (Sunday commitment), Limited-time hero banners (FOMO managed ethically with pre-announced schedule), Guild rank prestige (guild leaderboard resets monthly).
---
5. Game Mechanics
What this section contains: Full specification for all core systems.
Formation System: Players deploy 3 heroes in a 3-row formation grid (front/middle/back). Row position affects: damage taken multiplier (front: ×1.5), healing received (back: ×0.8), skill targeting priority. Input: drag-and-drop placement pre-battle. Parameters table: Formation slots: 3, Row damage multipliers: Front 1.5×, Mid 1.0×, Back 0.7×, Formation save slots: 10.
Auto-Battle with Manual Skill Triggers: Combat resolves automatically based on hero stats and AI. Player can manually trigger Ultimate Skills (charged by auto-attacks). Ultimate timing is the primary skill expression. Parameters: Ultimate charge: 100 points (10 per auto-attack), Ultimate activation window: any time charge ≥ 100, Battle speed: 1× / 2× / 3× toggle, Auto-skill: option to automate Ultimates (reduces skill expression, for AFK players).
Hero Stat System: Each hero has 6 stats: ATK, DEF, HP, SPD, CRIT%, CRIT DMG. Damage formula: Damage = ATK × SkillMultiplier × CritMultiplier - (DEF × 0.4). Hero stats scale with Star level (1★–6★) and Equipment. Max hero stats at 6★+max equipment: ATK 4,500, HP 32,000, DEF 1,200.
Guild Territory System: Map of 30 territories per server. Each guild can own up to 5 territories. Territory ownership grants: daily resource income to all guild members proportional to territory count, exclusive crafting recipes, bragging rights (guild name on map). Territory Wars: every Sunday, 3-hour window where guilds can attack adjacent territories. Attacker needs 15 participating guild members. Defender auto-defends with top-6 heroes.
---
6. Progression System
What this section contains: Progression hierarchy from shallow to deep: Account Level → Hero Collection → Hero Development → Guild Rank.
Account Level (1–100): Unlocks features at gates: Lv.5: Arena, Lv.10: Guild creation, Lv.20: Territory Wars, Lv.30: Endgame raids. XP: 200 XP base per dungeon clear, +50 per story chapter first clear. Level XP formula: XP_required(n) = 500 × n^1.4. Time to Lv.30 (content unlock): Casual 18 days, Average 10 days, Hardcore 5 days.
Hero Development: Each hero: 1★ to 6★ (star promotion via duplicate heroes + materials). Equipment: 6 gear slots, 5 tiers. Skill upgrades: 3 skills per hero, each upgradeable 5 levels via Skill Books.
Progression time-to-endgame: First competitive team: Casual 45 days, Average 25 days, Hardcore 12 days. First 6★ hero: Casual 21 days, Average 12 days, Hardcore 6 days.
---
7. Content Design
What this section contains: Story: 15 chapters at launch, 1 new chapter/month. 5 worlds × 3 chapters each. Dungeon types: Resource Farm (5), Boss (10), Guild Raid (2), Limited Event (2). Total heroes at launch: 60 (12 per element × 5 elements). Post-launch hero cadence: 2-3 new heroes per month, 1 guaranteed 5★+ per new seasonal event.
Hero design principle: each hero must be useful at 4★ (accessible) and dominant at 6★ (whale goal). No hero should be "garbage at 4★" — creates frustration with pity misses. Content minimum for soft launch: 8 story chapters, 20 dungeon maps, 40 heroes, 3 guild raids.
---
8. Narrative & World
What this section contains: Setting: Aetheris, a world of floating islands connected by magical Ley Lines. Ancient civilization collapsed when Ley Lines fractured. Player is a Covenant Master — one of few who can form bonds with Legendary Heroes and potentially restore the Lines. Lore depth: Medium — story chapters have full narrative, heroes have backstory in their profile, no branching dialogue. Tone: Epic fantasy with anime aesthetic, inspirational not dark. Writing tone: Hopeful, heroic, light humor in character interactions.
Character types: Story Heroes (8 — tied to story chapters), Gacha Heroes (52 — collectible, short backstories), Villain roster (5 bosses in story), Guild Rival (competitive guilds represented as recurring NPC antagonists in Guild Wars).
---
9. User Experience & Interface
What this section contains: Mobile-first UX design. Portrait orientation only (one-handed play). Thumb zone optimization: all critical daily actions accessible from bottom 40% of screen. Screen inventory: 16 screens documented with entry/exit flow.
FTUE: Minute 0-1: Tutorial battle (auto-battle + one manual Ultimate trigger). Minutes 1-5: Story chapter 1 (narrative hook + 3 battles). Minutes 5-10: Hero unlock (tutorial 5★ gifted, first gacha pull animation). Minutes 10-20: Guild system introduction + first daily quest. Session close attempt: "Daily rewards available again in 23:47:XX" — creates scheduled return.
HUD: Battle HUD (clean, 3 hero portraits at bottom with Ultimate buttons, enemy HP bars top, battle speed toggle top-right). Hub HUD: persistent bottom nav with icons for Home, Dungeons, Guild, Heroes, Shop. Notification badges on all nav items with pending actions. Feature-gated UI: greyed-out sections with "Unlock at Lv.X" state prevents confusion for new players.
Accessibility: Support for both left-thumb and right-thumb dominant players (mirrored layout option), text size options (3 sizes), colorblind mode.
---
10. Art Direction
What this section contains: Visual style: Vibrant anime fantasy with high-detail hero portraits and clean environmental art. Resolution targeting: crisp at 1080×1920 (most common Android flagship), acceptable at 720×1280 (budget Android minimum spec). Influences: Epic Seven (character illustration quality and combat VFX), Genshin Impact (environment color saturation), Arknights (UI cleanliness and information hierarchy).
Hero art guidelines: Full-body illustration style (not chibi), 5 element color coding (Fire: red/orange, Water: blue/cyan, Earth: green/brown, Wind: purple/white, Light: gold/white). Legendary (6★) heroes have animated Live2D portraits. Standard heroes have static illustrations.
UI: Flat design with jewel/crystal accent elements. Gacha pull animation requires: build-up animation (2s) + reveal animation (3s for 5★+ pulls, 1s for 3-4★). Pull animation quality directly correlates with retention for gacha games — this receives priority art budget.
---
11. Audio Design
What this section contains: Music: Orchestral fantasy main theme, electronic + orchestral combat music (2 intensity levels: normal dungeon, boss fight). Guild War music: epic, time-pressure feel. SFX: each element has distinct hit sound family (Fire: explosive crack, Water: splash/ripple, etc.). Hero Ultimate skills each have unique SFX + voice bark. Voice: Japanese + English voice options for all 8 story heroes (full cutscene VO), English only for gacha heroes (minimal barks: battle cry, ultimate activation, defeat). Audio budget: 20 music tracks, 300 SFX, 60 unique hero voice packs.
---
12. Multiplayer Design
What this section contains: Async PvP (Arena): player defends with preset team; attacker fights AI-controlled version. Real-time matchmaking not required. Guild Territory Wars: 15v15 async over 3-hour window — not real-time PvP. Guild Raids: up to 20 players each submit one battle per day against shared raid boss; damage accumulated. No real-time multiplayer needed at launch. Server: REST API for guild data, leaderboards, raid scores. Push notifications for Guild War start/end, territory attack alerts, raid availability.
---
13. Monetization Strategy
What this section contains: Full F2P with IAP and Season Pass.
Revenue model: Gacha (primary), Season Pass, direct IAP. Gacha pity: guaranteed 5★ hero at 100 pulls (hard pity). Soft pity at 75 (rate increases from 2% to 20% over pulls 75-100). All rates disclosed in-app (Apple/Google compliance). No Complete Gacha (JOGA compliance). IAP catalog: full table with 8 tiers from $0.99 (60 Crystals) to $99.99 (8,000 Crystals + exclusive title + 10 pulls). Season Pass: $9.99/season (6 weeks), includes 1 exclusive non-meta hero + 1,500 Crystals + cosmetics. Target daily login crystal grant: 100 Crystals (10 pulls in 30 days free). Target ARPPU: $32/month. Conversion target: 4% D30. ARPU target: $12/month.
Ethical commitments: rate disclosure on every banner, no gameplay P2W in PvP (competitive balance maintained by accessible pity system), no manipulative timers on evergreen content, responsible spending alerts at $50/$100 cumulative.
---
14. Economy Design
What this section contains: Two currencies: Crystal (premium, earned + purchased) and Gold (soft, earned in gameplay).
Crystal faucets per day: Daily login: 100, Daily quests completed: 150, Story chapter first clear: 50 average, Arena rank reward: 30-200, Guild War participation: 50, Events: 100-300 (event days). Total free F2P daily Crystal estimate: 150 crystals/day steady state.
Crystal sinks: Gacha: 160/pull, 1,440 for 10-pull. Stamina refills: 60/refill. Energy: 50/refill. Net flow: 150 earned/day, ~160/pull equivalent → free players accumulate pulls at 1 pull/day rate = 30 free pulls/month (targeting realistic pity attainment at ~60-70 days for casual player). Designed to feel generous while creating occasional purchase moments.
Gold economy: earned 2,000+/dungeon clear, spent on hero upgrades (10,000-50,000 each), gear enhancement (5,000-80,000). No inflation risk — sink rate designed to match faucet at average engagement.
---
15. Technical Requirements
What this section contains: Engine: Unity 2023.3 LTS. Platform: iOS 16+ (iPhone 8 equivalent minimum), Android 9+ (Snapdragon 730 equivalent). Performance targets: 60FPS on recommended devices, 30FPS stable on minimum spec, < 2GB RAM usage, < 45 second initial load. Storage: < 1GB initial download, assets streamed after install.
Backend: AWS (EC2 + RDS). Services: Firebase (push notifications, A/B testing, remote config), GameAnalytics (player behavior), AppsFlyer (attribution), RevenueCat (IAP management across iOS/Android). Key tech risks: (1) Live2D animations on minimum-spec Android — performance testing required in pre-production. (2) Guild Territory Wars — distributed locking for territory ownership — requires Redis or equivalent.
---
16. Competitive Analysis
What this section contains: Direct comps: Genshin Impact (aspirational quality bar, too hardware-demanding — our advantage), Epic Seven (closest mechanical comp — our guild system differentiates), AFK Arena (same audience, too shallow — we're deeper), Arknights (strong IP/art, different combat style). Market gap: no mobile gacha with deep guild territorial economy at accessible hardware requirements. Feature comparison matrix covers 10 features across 5 competitors.
---
17. Development Roadmap
What this section contains: Soft launch: Q3 2025 (limited regions: Canada, Australia, Philippines — typical mobile soft launch markets). Content at soft launch: 8 chapters, 40 heroes, core gameplay complete. Soft launch goals: LTV validation, monetization tuning, D30 retention benchmarks. Global launch: Q1 2026 (pending soft launch KPI targets met). Post-launch live ops calendar: Season 1 (launch) — Fire Element event + 3 new heroes. Season 2 (6 weeks later) — Guild Territory expansion + 2 new guild raid bosses. Monthly: 2 story chapters + 2 new heroes. Critical path: Guild Territory Wars infrastructure must be complete before soft launch (it's a core differentiator, can't be added post-launch).
---
18. Risk Assessment
What this section contains: Risk register covering 10 items. High risks: (1) Gacha feel fails to convert at 4% rate — mitigation: soft launch KPI gate, adjust pity system before global launch. (2) Guild Territory Wars server cost at scale — mitigation: territory count capped at 30/server, async model limits server compute. (3) Apple/Google policy changes on gacha — mitigation: design all gacha as direct purchase option (always offer "buy this specific hero" for 3× pull value). Medium risks: Hero power creep complaints from early adopters (mitigation: transparent power budget system, new heroes must be equal to launch heroes at equivalent investment), hard-to-reach F2P players who act as content creators (mitigation: dedicated "Creator Program" with free crystals for streamers/YouTubers).
---
19. Appendices
What this section contains: Glossary: Gacha, Pity, Hard Pity, Soft Pity, Star Promotion, Ultimate, Formation, Territory War, Covenant Master, Ley Line, Stamina. Open Questions Log: "Should Territory War be real-time or async?" (decision pending performance testing), "20 vs 30 guild member maximum?", "Should 6★ heroes have unique voice lines or shared VO pool?" Revision history. References: JOGA guidelines (Japan), China minor spending limit regulations, Apple App Store loot box disclosure requirements, Sensor Tower Top Mobile RPG Revenue Report 2024, Genshin Impact gacha postmortem analysis (public).
Example GDD Outline: FRACTURE POINT
Genre: Competitive Tactical Shooter | Platform: PC (Steam), PS5, Xbox Series X | Version: v0.4
FICTIONAL EXAMPLE — This outline is entirely fictional and created for reference purposes only. All studio names, game titles, market statistics, KPI targets, revenue figures, player counts, and technical specifications are fabricated examples. Do not use any numeric claims from this document in real business contexts without independent verification.
---
This is a complete 19-section GDD outline for a competitive multiplayer tactical shooter. Use this as a reference for a genre requiring precise networking architecture, balance philosophy documentation, anti-cheat systems, and esports-oriented design. Section descriptions explain what full content would contain — not the content itself, but the scope and specificity required.
---
1. Cover Page
Title: FRACTURE POINT Tagline: "Every position is contested. Every second counts." Genre: Competitive Tactical Shooter (5v5, Bomb Defusal / Territory Control) Platform: PC (Steam), PS5, Xbox Series X|S (crossplay optional) Audience: Ages 16–30, PC competitive FPS players; 200+ hours in CS2, Valorant, or Rainbow Six Siege Version: v0.4 | Date: January 2025 | Studio: Iron Sight Interactive Confidentiality: For internal use and authorized partners only.
---
2. Executive Summary
What this section contains: 500-word argument for why Fracture Point deserves to exist in a saturated tactical shooter market. Elevator pitch: Fracture Point is the first tactical shooter with environmental destruction as a first-class competitive mechanic — every wall, ceiling, and floor is destructible, but destruction is permanent within a round and deterministic (same result every time, allowing callouts and strategy). USPs: (1) Deterministic destruction enabling competitive play with environmental depth (no CS2, Valorant, or Siege has solved this), (2) Cross-platform crossplay with separate input queues (controller vs. M+KB), (3) 2-minute tactical planning phase before each round with shared overhead map. Comparable titles: CS2 (core competitive foundation), Valorant (agent ability layer), Rainbow Six Siege (destructibility precedent — we solve what Siege couldn't: predictability). Target KPIs: 100K CCU at launch, 60% D30 retention, $8/mo ARPPU.
---
3. Game Overview
What this section contains: High concept: "A tactical shooter where the map changes based on how the match is played, but always in ways you can predict, counter, and strategize around." Core fantasy: the player feels like an elite operative whose intelligence and tactical improvisation outperforms raw aim. Experience pillars: 1. Deterministic Chaos — destruction is consistent and learnable; no randomness 2. Tactical Depth Over Mechanical Ceiling — a smart play beats a skilled play 3. Team Over Individual — wins require coordination; solo carries are harder than in CS2 4. Earned Learning Curve — week-over-week improvement is visible and rewarding
Session flow: 5-minute tactical match (8 rounds, first to 5 wins). Session length: 25-35 minutes per match, 5 matches/session for competitive players. Daily session target: 1-2 hours. Esports session: best-of-3 maps, 1.5-2 hour match.
---
4. Core Gameplay Loop
What this section contains:
Micro Loop (per round, ~2 min): Planning Phase (90 seconds) → Operators select abilities, team discusses via voice, shared overhead map shows attack/defense positions → Execute Phase (60 seconds) → 5 attackers vs 5 defenders → Plant bomb (attackers) or defuse/eliminate (defenders) → Post-round (10s) → stats, kill feed, environment reset preview
Macro Loop (per match, 8 rounds): 8 rounds best-of-8 (first to 5). Mid-match: sides switch at 4 rounds (attackers become defenders). Economy system: players earn in-game credits based on round performance, spend on weapons/abilities for next round. Map state persists: destruction from earlier rounds remains.
Meta Loop (long-term, weeks → months): Ranked progression (Iron → Radiant, 9 tiers) with seasonal resets (25% soft reset). Operator unlock system (free + battle pass). Personal stat tracking (KAST %, HS %, clutch rate). Esports spectator ecosystem for top-tier players.
Engagement hooks: Ranked anxiety (rank is visible to friends and teammates), weekly challenges (unique earn events), seasonal operator unlocks (limited-time cosmetic content), esports viewership rewards (drops during pro matches).
---
5. Game Mechanics
What this section contains: Comprehensive mechanics spec covering all systems.
Destruction System (core differentiator): Every wall, floor, and ceiling has a material class (Plaster, Concrete, Reinforced Steel, Glass). Damage type determines effect: Explosive (destroys Plaster/Concrete, damages Reinforced), Ballistic (penetrates Plaster, stopped by Concrete+), Breaching (removes Plaster/Concrete panels in pre-defined segments, creates peeks). Destruction is deterministic — same ability + same wall = same result every time, guaranteed. Breach panels are grid-based (30cm × 30cm segments). Destroyed geometry does not regenerate within a round. Parameters table: Plaster HP: 150, Concrete HP: 500, Reinforced HP: 2,000 (operator ability required), Glass HP: 50. Penetration damage falloff: ×0.6 through Plaster, ×0 through Concrete.
Operator Ability System: Each Operator has 1 Active Ability (gadget) and 1 Passive Ability (trait). Active Ability charges per round: 1-3 depending on Operator. Example: Operator "BREACH" — Active: deployable charge that destroys a 90cm × 90cm section of any Plaster/Concrete wall (1 charge per round). Passive: X-ray vision through destroyed walls for 5 seconds. Balance constraint: no ability reduces enemy HP without counterplay. Every ability has a clear counter listed in design.
Economy System: Round-start credits: 900 base + performance bonus (200 per kill, 500 for round win). Carry-over: unused weapons persist between rounds (lost on death). Buy phase: 90-second planning phase is also buy phase (separate economy screen). Weapon tiers: Budget ($200-400), Mid ($800-1,200), Premium ($2,000-3,200). Full economy table with all purchaseable items.
Crossplay Input Segregation: PC (M+KB) players matched separately from Controller players by default. Cross-input toggle available for parties (lets console players play with PC friends). Aim assist: enabled for controller players in all modes, calibrated to not exceed top 25th percentile M+KB aim performance at the same rank.
---
6. Progression System
What this section contains: Two parallel tracks: Ranked ladder and Operator unlock progression.
Ranked Ladder: 9 tiers (Iron I-III, Bronze I-III, Silver I-III, Gold I-III, Platinum I-III, Diamond I-III, Ascendant I-III, Immortal I-III, Radiant). RR (Rank Rating) gained/lost per match based on: win/loss (primary), individual performance (KDA, KAST — secondary, ±20%). Placement: 5 placement matches → initial rank. Season reset: soft reset to 25% of current RR at season start (encourages continuous engagement).
Operator Unlock: 12 operators at launch. Free: 4 available immediately. Unlockable: 4 via gameplay (200-500 matches or in-game currency). Battle Pass: 4 exclusive to season battle pass (all become F2P track 2 seasons later). No pay-to-win: all operators competitively balanced; cosmetics-only difference for paid operators.
---
7. Content Design
What this section contains: Maps at launch: 8 maps. Map design principles: 3-lane structure with meaningful destruction opportunities in mid-lane, 2 bomb sites per map (Bomb Defusal mode), 1-3 territory control zones (Control mode). Map rotation: competitive ranked uses 6 of 8 maps (2 in rotation per season). Each map requires: 20+ documented callout names, 5+ pre-planned breach holes for each operator, reviewed for balance (neither side has statistical advantage > 55/45 on CT/T side in playtesting).
Modes at launch: Bomb Defusal (primary ranked), Unrated (same rules, no rank impact), Deathmatch (practice), Swiftplay (shorter rounds, broader audience). Post-launch: 1 new map per season (8 weeks), 1 new operator per season.
---
8. Narrative & World
What this section contains: Light narrative framing — Fracture Point is not a narrative game. Setting: near-future Earth, 2038. Geopolitical fracture has created private tactical squads hired by nation-states for "gray zone" operations. Operators are mercenaries with distinct national and organizational backgrounds. Narrative depth: Surface — operator bios (500 words each), map backstory in loading screens, pre-round quips between operators. No story mode, no branching narrative. Writing tone: Grounded, realistic, dry humor in operator interactions. Aesthetic inspiration: Rainbow Six Siege operator design, Escape from Tarkov realism, slightly stylized (not hyper-realistic).
---
9. User Experience & Interface
What this section contains: Screen inventory: 14 screens. Critical UX flows: Matchmaking queue (max wait time 90s for Ranked, 30s for Unrated at target CCU), Lobby social space (agent select, chat, party formation), Kill feed legibility (must read in 1 second peripheral glance), Minimap (destroyable geometry must update in real-time < 100ms after destruction).
FTUE: First 3 matches: bot-assisted unrated against mixed bots/players. Tutorial: mandatory 10-minute offline tutorial covering movement, weapon handling, breach system, communication system. First competitive match: locked until tutorial complete + 5 unrated matches played. [Design note: hard gate is controversial but necessary to protect ranked integrity.]
HUD design constraints: All gameplay-critical information must be readable at 1080p from 2 meters. Health/armor always visible, never hidden in competitive mode. Ability charges: persistent icon bottom-center. Crosshair: fully customizable (shape, color, size, gap, opacity). Minimap: always-on in tactical modes, toggle in DM.
Accessibility: Colorblind mode required (all operator indicators must not be solely color-dependent), subtitle support for all VO, rebindable every input, separate audio channels for communication/game/music.
---
10. Art Direction
What this section contains: Visual style: Grounded near-future military aesthetic with high readability. Enemies must be clearly distinguishable from environment at all ranges (contrast via silhouette + color). Visual clarity > visual fidelity where they conflict. Influences: Valorant (clean readability at competitive range), Rainbow Six Siege (operator cultural design depth), Escape from Tarkov (material authenticity).
Color coding: Attack team — warm orange/red accents on character rigs. Defense team — cool blue/grey accents. HUD elements align: Attack side: warm palette, Defense side: cool palette. Consistent across all maps.
Map design: Each map has distinct visual identity (different world location) but consistent visual clarity rules: high-contrast floor-to-wall distinction, destructible panels have subtle "seam" texture to indicate brech-ability, light sources placed to never silhouette-blind the defending side.
Animation: weapon animations must not obscure center-screen. ADS (aim down sights) must not occlude more than 20% of screen. Operator ability animations: must telegraph intent clearly — 0.5s windup before any ability effect activates.
---
11. Audio Design
What this section contains: Audio is a critical competitive mechanic — every sound has game-relevant information. Audio design philosophy: maximum information density. Footstep system: 4 surfaces with distinct sounds, crouch vs. walk vs. run distinguishable. Ability audio: each operator's ability has unique soundscape — players must recognize abilities by audio alone (competitive requirement). Distance falloff: calibrated for competitive information — gunshots audible 50m, footsteps 10m, abilities 15m. No adaptive music during competitive rounds (distracts from audio cues). Voice: full VO for all 12 operators in 3 languages (English, Spanish, Portuguese — targeting top-3 markets). Positional audio: stereo and 5.1/7.1 surround sound required; headphone virtualization via in-game Dolby Atmos simulation. Audio budget: 35 SFX packs (per weapon + environment), 8 operator full VO packs (launch), 10 music tracks (lobby/menu only).
---
12. Multiplayer Design
What this section contains: Full network architecture specification for competitive multiplayer.
Network model: Dedicated servers (owned, not third-party game servers — critical for consistent tick rate). Tick rate: 128Hz for ranked, 64Hz for unrated. Client prediction: standard FPS client-side prediction with server reconciliation. Server-authoritative: all hit detection server-side (critical for competitive integrity). Regional servers: NA East, NA West, EU West, EU East, Brazil, Asia Pacific, Japan, Southeast Asia (8 regions at launch).
Matchmaking: Skill-based (MMR). Ranked: strict skill-based with rank spread limit (Platinum can only queue with Gold-Diamond in party). Unrated: wider spread, faster queue. Anti-smurf detection: account age + match history triggers review at abnormal performance delta.
Anti-cheat: Easy Anti-Cheat (Epic, industry standard). Server-side sanity checks: velocity limits (detect speed hacks), damage limits (detect damage hacks), kill-rate anomaly detection (detect aimbot behavior — flag accounts at >3σ from rank peer group headshot rate). Report system: 3 reports in 24h triggers automated review queue. Ranked bans: visible on profile (social deterrent).
Platform requirements: PS5 — PlayStation Plus required for online. Xbox — Xbox Game Pass Core required. Cross-platform party: available but platform-specific input queues maintained. Cross-platform progression: all cosmetics, rank, and operators shared via Fracture Point account (not platform-tied).
Latency tolerance: Competitive ranked: < 60ms RTT preferred, matches rejected for > 120ms RTT. Unrated: < 120ms. Disconnect grace period: 90 seconds reconnect window before bot replaces player. Leaving penalty: -RR penalty for disconnect in ranked regardless of reason.
---
13. Monetization Strategy
What this section contains: F2P competitive core with cosmetics-only monetization. Zero pay-to-win. Revenue: Battle Pass ($9.99/season, 8 weeks), Cosmetic bundles ($4.99-$19.99), Weapon skins ($4.99-$24.99). No gameplay advantage for any purchase. Competitive ethics commitment: all operators available without payment within 2-3 seasons of gameplay or via earnable currency. Premium operator unlock: $9.99 or 7,500 earned credits (30-40 hours of gameplay). Battle pass: 50 tiers, free track (cosmetic sprays, player cards, 500 FP Coins), premium track (weapon skins, operator skin, 1,200 FP Coins — net positive). Esports: team skins licensed from partnered teams (50% revenue share with teams — builds esports ecosystem). Target ARPPU: $25/month (whale ceiling: $120/month for collectors). Target conversion: 12% (competitive games have higher conversion than casual — players invest identity).
---
14. Economy Design
What this section contains: Single premium currency: FP Coins (purchased, also earned via battle pass). Free earn rate: 300 coins/week from battle pass + weekly challenges (if no purchase). Spend: weapon skins (500-2,500 FP Coins), operator unlocks (1,000 FP Coins). Bundle pricing: 1,000 FP Coins = $9.99. No loot boxes — direct purchase only (industry shift post-Belgium, pre-emptive compliance). No random elements in any purchase. Exclusive cosmetics: limited-time availability (seasonal), but no gameplay advantage. Bundles: agent + weapon skin + card at 30% discount vs. individual prices — primary revenue driver.
---
15. Technical Requirements
What this section contains: Engine: Unreal Engine 5.2 — industry standard for PC/console FPS, Chaos destruction system supports deterministic destruction requirements, strong PS5/Xbox Series native support. Minimum PC: GTX 1060 6GB, i5-8600, 8GB RAM — 60FPS at 1080p Low settings. Recommended: RTX 2070, i7-10700K, 16GB RAM — 144FPS at 1080p High settings. Console: PS5/XSX 60FPS performance mode, 4K resolution mode (30FPS). Tick rate infrastructure: dedicated bare-metal servers required for 128Hz (cloud latency too high) — contractual with Edgegap or Multiplay. Storage: 35GB install (high-fidelity assets). Key tech risks: (1) Deterministic destruction replication — every client must see identical destruction state at < 50ms sync → requires authority server validation of every destruction event. (2) 128Hz server cost at launch scale — $0.08/player-hour estimate at 50K CCU = $96K/month server costs at launch (budget line item). (3) Console certification with destructible environment: performance testing required 8 weeks before submission.
---
16. Competitive Analysis
What this section contains: Direct comps: CS2 (gold standard for tactical shooters — we take: 5v5 bomb format, eco system; we improve on: static maps, no environmental depth), Valorant (ability integration in tactical shooter — we take: operator differentiation; we improve on: ability-vs-aim power balance tilted toward abilities), Rainbow Six Siege (destructibility precedent — we take: concept; we solve: unpredictability of Siege destruction that prevented esports growth). Indirect comps: Apex Legends (same player time competing for), Overwatch 2 (competitive FPS audience). Positioning: higher tactical depth than Valorant, lower barrier than CS2 pro scene, more predictable than Siege. Feature comparison matrix: 12 features × 5 competitors. Competitive differentiator: the only tactical shooter where map destruction is a competitive mechanic rather than a tactical surprise — transforming Siege's "chaos" into "learnable depth."
---
17. Development Roadmap
What this section contains: Pre-alpha: Q3 2025 (internal closed test, 50 testers, core combat verified). Closed Beta: Q4 2025 (3,000 players via invite, full match infrastructure test, matchmaking validated). Open Beta: Q1 2026 (100,000 players, soft launch without ranked mode, balance pass). Season 0 Launch (Global): Q2 2026 — 8 maps, 12 operators, full ranked mode, Battle Pass live. Season 1 (8 weeks post-launch): 1 new map, 2 new operators, first competitive season. Critical path: 128Hz dedicated server infrastructure must be validated at 50K CCU load before ranked launches. Anti-cheat integration requires 4-week review from EAC — schedule accordingly. Console certification: 8-12 weeks; begin submission 10 weeks before launch date.
---
18. Risk Assessment
What this section contains: Risk register with 10 items. High risks: (1) Deterministic destruction desync between clients — mitigation: authority server validates every breach event + client correction protocol (client rewound on desync detection). (2) Hacker prevalence at launch damages competitive reputation — mitigation: EAC + server-side checks + rapid response ban wave protocol within 24 hours of hack detection. (3) Market saturation by CS2/Valorant prevents player acquisition — mitigation: differentiation campaign focused on destruction mechanic, partnerships with mid-tier content creators (50K-500K subs who cover tactical shooters). Medium risks: Console port performance budget (Chaos destruction expensive on PS5) → optimization sprint dedicated to console during Open Beta. Input balance (controller vs M+KB in crossplay) — mitigation: separate input queues default, only cross-input in party/casual.
---
19. Appendices
What this section contains: Glossary: KAST %, Clutch, Round Reset, Eco Round, Force Buy, Soft Peeking, Hard Breach, CT Side, T Side, Flick, Spray Pattern, Tick Rate, RR, MMR. Callout naming convention standard (all 8 maps require documented callouts before Open Beta). Open Questions Log: "Should destruction be fully persistent across all rounds or reset at half-time?", "Crossplay toggle: default ON or default OFF?", "Operator unlock: should 4 operators be permanently free or should all be earn-to-unlock?", "128Hz tick rate for unrated or only ranked?" Revision history. References: CS2 competitive ruling (esports.gg), Valorant anti-cheat technical blog, Rainbow Six Siege destruction analysis (Digital Foundry), EAC integration documentation, Multiplay/Edgegap server infrastructure pricing, Unreal Engine Chaos Destruction documentation.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "GDD Config",
"description": "Schema for Game Design Document JSON configuration files used by the generator scripts.",
"type": "object",
"required": ["game_title", "genre", "platform", "audience", "sections"],
"properties": {
"game_title": { "type": "string", "minLength": 1 },
"tagline": { "type": "string" },
"genre": { "type": "string" },
"platform": { "type": "string" },
"audience": { "type": "string" },
"studio_name": { "type": "string" },
"version": { "type": "string" },
"date": { "type": "string" },
"lead_designer": { "type": "string" },
"monetization": { "type": "string" },
"team_size": { "type": "string" },
"comparable_1": { "type": "string" },
"comparable_2": { "type": "string" },
"unique_hook": { "type": "string" },
"sections": {
"type": "object",
"description": "Section keys must match the canonical registry keys in section_registry.py.",
"additionalProperties": {
"oneOf": [
{ "type": "string" },
{
"type": "object",
"required": ["content"],
"properties": {
"content": { "type": "string" },
"subsections": {
"type": "array",
"items": {
"type": "object",
"required": ["title", "content"],
"properties": {
"title": { "type": "string" },
"content": { "type": "string" }
}
}
}
}
}
]
}
},
"pitch_slides": {
"type": "object",
"description": "Optional pitch deck slide content overrides."
}
}
}
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship made available under
the License, as indicated by a copyright notice that is included in
or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other transformations
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean, as used in this document, any work of
authorship, including the original version of the Work and any
modifications or additions to that Work or Derivative Works of the Work,
that is intentionally submitted to the Licensor for inclusion in the Work
by the copyright owner or by an individual or Legal Entity authorized to
submit on behalf of the copyright owner. For the purposes of this
definition, "submitted" means any form of electronic, verbal, or written
communication sent to the Licensor or its representatives, including but
not limited to communication on electronic mailing lists, source code
control systems, and issue tracking systems that are managed by, or on
behalf of, the Licensor for the purpose of discussing and improving the Work,
but excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any Legal Entity on behalf of
whom a Contribution has been received by the Licensor and subsequently
incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by the combined Contribution(s) with the
Work to which such Contribution(s) was submitted. If You institute
patent litigation against any entity (including a cross-claim or
counterclaim in a lawsuit) alleging that the Work or any Contribution
incorporated within the Work constitutes direct or contributory patent
infringement, then any patent licenses granted to You under this License
for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or Derivative Works
a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, You must include a readable copy of the
attribution notices contained within such NOTICE file, in
at least one of the following places: within a NOTICE text file
distributed as part of the Derivative Works; within the Source
form or documentation, if provided along with the Derivative Works;
or, within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own license statement for Your modifications and
may provide additional grant of rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Work
only if Your use, reproduction, and distribution of the Work otherwise
complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or reproducing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or exemplary damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or all other
commercial damages or losses), even if such Contributor has been
advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may offer
such conditions only on Your own behalf and on Your sole
responsibility, not on behalf of any other Contributor, and only
if You agree to indemnify, defend, and hold each Contributor harmless
for any liability incurred by, or claims asserted against, such
Contributor by reason of your accepting any such warranty or
additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format in question. We also recommend
that a file or folder name be included in the same "physical page" as
the copyright notice for easier identification within third-party archives.
Copyright 2026 ityes22
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
python-docx==1.1.2
fpdf2==2.8.3
python-pptx==1.0.2
pillow>=12.1.1
Related skills
How it compares
Pick game-design-document over generic doc-writing skills when you need game-specific sections like monetization, economy design, and competitive analysis with implementable mechanic parameters.
FAQ
What file formats does game-design-document output?
game-design-document exports polished Game Design Documents as .docx and .pdf files, plus companion .pptx pitch decks and one-page pitch sheets. Generation uses Python libraries python-docx 1.1.2, fpdf2 2.8.3, and python-pptx 1.0.2.
How long is a generated Game Design Document?
game-design-document produces comprehensive 40-80 page specifications covering 19 sections including core gameplay loop, mechanics, UX flows, monetization, technical requirements, and competitive analysis. The skill warns before exceeding 80 pages without user confirmation.
Does game-design-document skip the discovery interview?
game-design-document never generates a GDD without Phase 1 discovery. Batch 1 covers genre, core loop, platform, audience, and reference titles before outline approval and section drafting begin.
Is Game Design Document safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.