bmad-method 4.37.0-beta.6 → 4.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/bug_report.md +3 -3
- package/.github/ISSUE_TEMPLATE/feature_request.md +3 -3
- package/.github/workflows/discord.yaml +11 -2
- package/.github/workflows/format-check.yaml +42 -0
- package/.github/workflows/manual-release.yaml +173 -0
- package/.husky/pre-commit +3 -0
- package/.vscode/settings.json +26 -1
- package/CHANGELOG.md +3 -6
- package/README.md +2 -0
- package/bmad-core/agent-teams/team-all.yaml +1 -1
- package/bmad-core/agents/analyst.md +17 -16
- package/bmad-core/agents/architect.md +12 -13
- package/bmad-core/agents/bmad-master.md +23 -23
- package/bmad-core/agents/bmad-orchestrator.md +22 -27
- package/bmad-core/agents/dev.md +19 -17
- package/bmad-core/agents/pm.md +15 -14
- package/bmad-core/agents/po.md +10 -9
- package/bmad-core/agents/qa.md +43 -23
- package/bmad-core/agents/sm.md +8 -7
- package/bmad-core/agents/ux-expert.md +7 -6
- package/bmad-core/checklists/architect-checklist.md +0 -5
- package/bmad-core/checklists/pm-checklist.md +0 -5
- package/bmad-core/checklists/po-master-checklist.md +0 -9
- package/bmad-core/checklists/story-dod-checklist.md +0 -7
- package/bmad-core/checklists/story-draft-checklist.md +0 -3
- package/bmad-core/core-config.yaml +2 -0
- package/bmad-core/data/bmad-kb.md +6 -3
- package/bmad-core/data/elicitation-methods.md +20 -0
- package/bmad-core/data/test-levels-framework.md +146 -0
- package/bmad-core/data/test-priorities-matrix.md +172 -0
- package/bmad-core/tasks/apply-qa-fixes.md +148 -0
- package/bmad-core/tasks/create-brownfield-story.md +11 -3
- package/bmad-core/tasks/create-deep-research-prompt.md +0 -11
- package/bmad-core/tasks/document-project.md +15 -13
- package/bmad-core/tasks/facilitate-brainstorming-session.md +2 -2
- package/bmad-core/tasks/index-docs.md +0 -6
- package/bmad-core/tasks/kb-mode-interaction.md +3 -3
- package/bmad-core/tasks/nfr-assess.md +343 -0
- package/bmad-core/tasks/qa-gate.md +161 -0
- package/bmad-core/tasks/review-story.md +243 -74
- package/bmad-core/tasks/risk-profile.md +353 -0
- package/bmad-core/tasks/shard-doc.md +0 -2
- package/bmad-core/tasks/test-design.md +174 -0
- package/bmad-core/tasks/trace-requirements.md +264 -0
- package/bmad-core/templates/architecture-tmpl.yaml +49 -49
- package/bmad-core/templates/brainstorming-output-tmpl.yaml +5 -5
- package/bmad-core/templates/brownfield-architecture-tmpl.yaml +31 -31
- package/bmad-core/templates/brownfield-prd-tmpl.yaml +13 -13
- package/bmad-core/templates/competitor-analysis-tmpl.yaml +19 -6
- package/bmad-core/templates/front-end-architecture-tmpl.yaml +21 -9
- package/bmad-core/templates/front-end-spec-tmpl.yaml +24 -24
- package/bmad-core/templates/fullstack-architecture-tmpl.yaml +122 -104
- package/bmad-core/templates/market-research-tmpl.yaml +2 -2
- package/bmad-core/templates/prd-tmpl.yaml +9 -9
- package/bmad-core/templates/project-brief-tmpl.yaml +4 -4
- package/bmad-core/templates/qa-gate-tmpl.yaml +102 -0
- package/bmad-core/templates/story-tmpl.yaml +12 -12
- package/bmad-core/workflows/brownfield-fullstack.yaml +9 -9
- package/bmad-core/workflows/brownfield-service.yaml +1 -1
- package/bmad-core/workflows/brownfield-ui.yaml +1 -1
- package/bmad-core/workflows/greenfield-fullstack.yaml +1 -1
- package/bmad-core/workflows/greenfield-service.yaml +1 -1
- package/bmad-core/workflows/greenfield-ui.yaml +1 -1
- package/common/tasks/execute-checklist.md +0 -7
- package/common/utils/bmad-doc-template.md +5 -5
- package/dist/agents/analyst.txt +1086 -1079
- package/dist/agents/architect.txt +1534 -1526
- package/dist/agents/bmad-master.txt +646 -632
- package/dist/agents/bmad-orchestrator.txt +40 -18
- package/dist/agents/dev.txt +158 -19
- package/dist/agents/pm.txt +1082 -1107
- package/dist/agents/po.txt +314 -332
- package/dist/agents/qa.txt +1754 -151
- package/dist/agents/sm.txt +88 -98
- package/dist/agents/ux-expert.txt +80 -87
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +109 -146
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +75 -86
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +41 -48
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +1903 -1941
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +15 -50
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +149 -195
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -15
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +20 -37
- package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +2660 -2752
- package/dist/expansion-packs/bmad-creative-writing/agents/beta-reader.txt +871 -0
- package/dist/expansion-packs/bmad-creative-writing/agents/book-critic.txt +78 -0
- package/dist/expansion-packs/bmad-creative-writing/agents/character-psychologist.txt +839 -0
- package/dist/expansion-packs/bmad-creative-writing/agents/cover-designer.txt +85 -0
- package/dist/expansion-packs/bmad-creative-writing/agents/dialog-specialist.txt +861 -0
- package/dist/expansion-packs/bmad-creative-writing/agents/editor.txt +796 -0
- package/dist/expansion-packs/bmad-creative-writing/agents/genre-specialist.txt +927 -0
- package/dist/expansion-packs/bmad-creative-writing/agents/narrative-designer.txt +842 -0
- package/dist/expansion-packs/bmad-creative-writing/agents/plot-architect.txt +1126 -0
- package/dist/expansion-packs/bmad-creative-writing/agents/world-builder.txt +864 -0
- package/dist/expansion-packs/bmad-creative-writing/teams/agent-team.txt +5917 -0
- package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +25 -27
- package/dist/teams/team-all.txt +5541 -3768
- package/dist/teams/team-fullstack.txt +3014 -2987
- package/dist/teams/team-ide-minimal.txt +2219 -469
- package/dist/teams/team-no-ui.txt +2993 -2966
- package/docs/enhanced-ide-development-workflow.md +220 -15
- package/docs/user-guide.md +271 -18
- package/docs/versioning-and-releases.md +122 -44
- package/docs/working-in-the-brownfield.md +265 -32
- package/eslint.config.mjs +119 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +4 -4
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +1 -1
- package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
- package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -4
- package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +26 -30
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -1
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -18
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +50 -50
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +23 -23
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +24 -24
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +42 -42
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
- package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +5 -5
- package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +1 -1
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +3 -3
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -5
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -8
- package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +1 -1
- package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +1 -8
- package/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -4
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -1
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -10
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -18
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +23 -23
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +63 -63
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +20 -20
- package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
- package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +5 -5
- package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +1 -1
- package/expansion-packs/bmad-creative-writing/README.md +132 -0
- package/expansion-packs/bmad-creative-writing/agent-teams/agent-team.yaml +19 -0
- package/expansion-packs/bmad-creative-writing/agents/beta-reader.md +91 -0
- package/expansion-packs/bmad-creative-writing/agents/book-critic.md +35 -0
- package/expansion-packs/bmad-creative-writing/agents/character-psychologist.md +90 -0
- package/expansion-packs/bmad-creative-writing/agents/cover-designer.md +41 -0
- package/expansion-packs/bmad-creative-writing/agents/dialog-specialist.md +89 -0
- package/expansion-packs/bmad-creative-writing/agents/editor.md +90 -0
- package/expansion-packs/bmad-creative-writing/agents/genre-specialist.md +92 -0
- package/expansion-packs/bmad-creative-writing/agents/narrative-designer.md +90 -0
- package/expansion-packs/bmad-creative-writing/agents/plot-architect.md +92 -0
- package/expansion-packs/bmad-creative-writing/agents/world-builder.md +91 -0
- package/expansion-packs/bmad-creative-writing/checklists/beta-feedback-closure-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/character-consistency-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/comedic-timing-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/cyberpunk-aesthetic-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/ebook-formatting-checklist.md +15 -0
- package/expansion-packs/bmad-creative-writing/checklists/epic-poetry-meter-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/fantasy-magic-system-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/foreshadowing-payoff-checklist.md +15 -0
- package/expansion-packs/bmad-creative-writing/checklists/genre-tropes-checklist.md +15 -0
- package/expansion-packs/bmad-creative-writing/checklists/historical-accuracy-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/horror-suspense-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/kdp-cover-ready-checklist.md +18 -0
- package/expansion-packs/bmad-creative-writing/checklists/line-edit-quality-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/marketing-copy-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/mystery-clue-trail-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/orbital-mechanics-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/plot-structure-checklist.md +49 -0
- package/expansion-packs/bmad-creative-writing/checklists/publication-readiness-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/romance-emotional-beats-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/scene-quality-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/scifi-technology-plausibility-checklist.md +15 -0
- package/expansion-packs/bmad-creative-writing/checklists/sensitivity-representation-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/steampunk-gadget-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/thriller-pacing-stakes-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/timeline-continuity-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/world-building-continuity-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/checklists/ya-appropriateness-checklist.md +16 -0
- package/expansion-packs/bmad-creative-writing/config.yaml +11 -0
- package/expansion-packs/bmad-creative-writing/data/bmad-kb.md +197 -0
- package/expansion-packs/bmad-creative-writing/data/story-structures.md +58 -0
- package/expansion-packs/bmad-creative-writing/docs/brief.md +183 -0
- package/expansion-packs/bmad-creative-writing/tasks/advanced-elicitation.md +117 -0
- package/expansion-packs/bmad-creative-writing/tasks/analyze-reader-feedback.md +16 -0
- package/expansion-packs/bmad-creative-writing/tasks/analyze-story-structure.md +55 -0
- package/expansion-packs/bmad-creative-writing/tasks/assemble-kdp-package.md +22 -0
- package/expansion-packs/bmad-creative-writing/tasks/brainstorm-premise.md +16 -0
- package/expansion-packs/bmad-creative-writing/tasks/build-world.md +17 -0
- package/expansion-packs/bmad-creative-writing/tasks/character-depth-pass.md +15 -0
- package/expansion-packs/bmad-creative-writing/tasks/create-doc.md +101 -0
- package/expansion-packs/bmad-creative-writing/tasks/create-draft-section.md +19 -0
- package/expansion-packs/bmad-creative-writing/tasks/critical-review.md +19 -0
- package/expansion-packs/bmad-creative-writing/tasks/develop-character.md +17 -0
- package/expansion-packs/bmad-creative-writing/tasks/execute-checklist.md +93 -0
- package/expansion-packs/bmad-creative-writing/tasks/expand-premise.md +16 -0
- package/expansion-packs/bmad-creative-writing/tasks/expand-synopsis.md +16 -0
- package/expansion-packs/bmad-creative-writing/tasks/final-polish.md +16 -0
- package/expansion-packs/bmad-creative-writing/tasks/generate-cover-brief.md +18 -0
- package/expansion-packs/bmad-creative-writing/tasks/generate-cover-prompts.md +19 -0
- package/expansion-packs/bmad-creative-writing/tasks/generate-scene-list.md +16 -0
- package/expansion-packs/bmad-creative-writing/tasks/incorporate-feedback.md +18 -0
- package/expansion-packs/bmad-creative-writing/tasks/outline-scenes.md +16 -0
- package/expansion-packs/bmad-creative-writing/tasks/provide-feedback.md +17 -0
- package/expansion-packs/bmad-creative-writing/tasks/publish-chapter.md +16 -0
- package/expansion-packs/bmad-creative-writing/tasks/quick-feedback.md +15 -0
- package/expansion-packs/bmad-creative-writing/tasks/select-next-arc.md +16 -0
- package/expansion-packs/bmad-creative-writing/tasks/workshop-dialog.md +51 -0
- package/expansion-packs/bmad-creative-writing/templates/beta-feedback-form.yaml +96 -0
- package/expansion-packs/bmad-creative-writing/templates/chapter-draft-tmpl.yaml +81 -0
- package/expansion-packs/bmad-creative-writing/templates/character-profile-tmpl.yaml +92 -0
- package/expansion-packs/bmad-creative-writing/templates/cover-design-brief-tmpl.yaml +97 -0
- package/expansion-packs/bmad-creative-writing/templates/premise-brief-tmpl.yaml +77 -0
- package/expansion-packs/bmad-creative-writing/templates/scene-list-tmpl.yaml +54 -0
- package/expansion-packs/bmad-creative-writing/templates/story-outline-tmpl.yaml +96 -0
- package/expansion-packs/bmad-creative-writing/templates/world-guide-tmpl.yaml +88 -0
- package/expansion-packs/bmad-creative-writing/workflows/book-cover-design-workflow.md +176 -0
- package/expansion-packs/bmad-creative-writing/workflows/novel-greenfield-workflow.yaml +58 -0
- package/expansion-packs/bmad-creative-writing/workflows/novel-serial-workflow.yaml +51 -0
- package/expansion-packs/bmad-creative-writing/workflows/novel-snowflake-workflow.yaml +69 -0
- package/expansion-packs/bmad-creative-writing/workflows/novel-writing.yaml +92 -0
- package/expansion-packs/bmad-creative-writing/workflows/screenplay-development.yaml +86 -0
- package/expansion-packs/bmad-creative-writing/workflows/series-planning.yaml +79 -0
- package/expansion-packs/bmad-creative-writing/workflows/short-story-creation.yaml +65 -0
- package/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
- package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -3
- package/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -1
- package/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -1
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +20 -20
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +7 -7
- package/package.json +62 -39
- package/prettier.config.mjs +32 -0
- package/sync-version.sh +23 -0
- package/tools/bmad-npx-wrapper.js +10 -10
- package/tools/builders/web-builder.js +124 -130
- package/tools/bump-all-versions.js +42 -33
- package/tools/bump-expansion-version.js +23 -16
- package/tools/cli.js +10 -12
- package/tools/flattener/aggregate.js +10 -10
- package/tools/flattener/binary.js +44 -17
- package/tools/flattener/discovery.js +19 -18
- package/tools/flattener/files.js +6 -6
- package/tools/flattener/ignoreRules.js +125 -125
- package/tools/flattener/main.js +426 -70
- package/tools/flattener/projectRoot.js +186 -25
- package/tools/flattener/prompts.js +9 -9
- package/tools/flattener/stats.helpers.js +395 -0
- package/tools/flattener/stats.js +64 -14
- package/tools/flattener/test-matrix.js +413 -0
- package/tools/flattener/xml.js +33 -31
- package/tools/installer/bin/bmad.js +156 -113
- package/tools/installer/config/ide-agent-config.yaml +1 -1
- package/tools/installer/config/install.config.yaml +13 -3
- package/tools/installer/lib/config-loader.js +46 -42
- package/tools/installer/lib/file-manager.js +91 -113
- package/tools/installer/lib/ide-base-setup.js +57 -56
- package/tools/installer/lib/ide-setup.js +545 -399
- package/tools/installer/lib/installer.js +875 -714
- package/tools/installer/lib/memory-profiler.js +54 -53
- package/tools/installer/lib/module-manager.js +19 -15
- package/tools/installer/lib/resource-locator.js +26 -28
- package/tools/installer/package.json +19 -19
- package/tools/lib/dependency-resolver.js +26 -30
- package/tools/lib/yaml-utils.js +7 -7
- package/tools/preview-release-notes.js +66 -0
- package/tools/shared/bannerArt.js +3 -3
- package/tools/sync-installer-version.js +7 -9
- package/tools/update-expansion-version.js +14 -15
- package/tools/upgraders/v3-to-v4-upgrader.js +203 -294
- package/tools/version-bump.js +41 -26
- package/tools/yaml-format.js +56 -43
- package/.github/workflows/release.yaml +0 -60
- package/.releaserc.json +0 -21
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/Complete AI Agent System - Flowchart.svg +0 -102
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash copy.txt +0 -13
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash.txt +0 -13
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.2 Agent Development Kit Installation/1.2.2 - Basic Project Structure - txt.txt +0 -25
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.1 - settings.py +0 -34
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.2 - main.py - Base Application.py +0 -70
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.4 Deployment Configuration/1.4.2 - cloudbuild.yaml +0 -26
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +0 -109
- package/tools/semantic-release-sync-installer.js +0 -30
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import js from '@eslint/js';
|
|
2
|
+
import eslintConfigPrettier from 'eslint-config-prettier/flat';
|
|
3
|
+
import nodePlugin from 'eslint-plugin-n';
|
|
4
|
+
import unicorn from 'eslint-plugin-unicorn';
|
|
5
|
+
import yml from 'eslint-plugin-yml';
|
|
6
|
+
|
|
7
|
+
export default [
|
|
8
|
+
// Global ignores for files/folders that should not be linted
|
|
9
|
+
{
|
|
10
|
+
ignores: ['dist/**', 'coverage/**', '**/*.min.js'],
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
// Base JavaScript recommended rules
|
|
14
|
+
js.configs.recommended,
|
|
15
|
+
|
|
16
|
+
// Node.js rules
|
|
17
|
+
...nodePlugin.configs['flat/mixed-esm-and-cjs'],
|
|
18
|
+
|
|
19
|
+
// Unicorn rules (modern best practices)
|
|
20
|
+
unicorn.configs.recommended,
|
|
21
|
+
|
|
22
|
+
// YAML linting
|
|
23
|
+
...yml.configs['flat/recommended'],
|
|
24
|
+
|
|
25
|
+
// Place Prettier last to disable conflicting stylistic rules
|
|
26
|
+
eslintConfigPrettier,
|
|
27
|
+
|
|
28
|
+
// Project-specific tweaks
|
|
29
|
+
{
|
|
30
|
+
rules: {
|
|
31
|
+
// Allow console for CLI tools in this repo
|
|
32
|
+
'no-console': 'off',
|
|
33
|
+
// Enforce .yaml file extension for consistency
|
|
34
|
+
'yml/file-extension': [
|
|
35
|
+
'error',
|
|
36
|
+
{
|
|
37
|
+
extension: 'yaml',
|
|
38
|
+
caseSensitive: true,
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
// Prefer double quotes in YAML wherever quoting is used, but allow the other to avoid escapes
|
|
42
|
+
'yml/quotes': [
|
|
43
|
+
'error',
|
|
44
|
+
{
|
|
45
|
+
prefer: 'double',
|
|
46
|
+
avoidEscape: true,
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
// Relax some Unicorn rules that are too opinionated for this codebase
|
|
50
|
+
'unicorn/prevent-abbreviations': 'off',
|
|
51
|
+
'unicorn/no-null': 'off',
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
|
|
55
|
+
// CLI/CommonJS scripts under tools/**
|
|
56
|
+
{
|
|
57
|
+
files: ['tools/**/*.js'],
|
|
58
|
+
rules: {
|
|
59
|
+
// Allow CommonJS patterns for Node CLI scripts
|
|
60
|
+
'unicorn/prefer-module': 'off',
|
|
61
|
+
'unicorn/import-style': 'off',
|
|
62
|
+
'unicorn/no-process-exit': 'off',
|
|
63
|
+
'n/no-process-exit': 'off',
|
|
64
|
+
'unicorn/no-await-expression-member': 'off',
|
|
65
|
+
'unicorn/prefer-top-level-await': 'off',
|
|
66
|
+
// Avoid failing CI on incidental unused vars in internal scripts
|
|
67
|
+
'no-unused-vars': 'off',
|
|
68
|
+
// Reduce style-only churn in internal tools
|
|
69
|
+
'unicorn/prefer-ternary': 'off',
|
|
70
|
+
'unicorn/filename-case': 'off',
|
|
71
|
+
'unicorn/no-array-reduce': 'off',
|
|
72
|
+
'unicorn/no-array-callback-reference': 'off',
|
|
73
|
+
'unicorn/consistent-function-scoping': 'off',
|
|
74
|
+
'n/no-extraneous-require': 'off',
|
|
75
|
+
'n/no-extraneous-import': 'off',
|
|
76
|
+
'n/no-unpublished-require': 'off',
|
|
77
|
+
'n/no-unpublished-import': 'off',
|
|
78
|
+
// Some scripts intentionally use globals provided at runtime
|
|
79
|
+
'no-undef': 'off',
|
|
80
|
+
// Additional relaxed rules for legacy/internal scripts
|
|
81
|
+
'no-useless-catch': 'off',
|
|
82
|
+
'unicorn/prefer-number-properties': 'off',
|
|
83
|
+
'no-unreachable': 'off',
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
// ESLint config file should not be checked for publish-related Node rules
|
|
88
|
+
{
|
|
89
|
+
files: ['eslint.config.mjs'],
|
|
90
|
+
rules: {
|
|
91
|
+
'n/no-unpublished-import': 'off',
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
|
|
95
|
+
// YAML workflow templates allow empty mapping values intentionally
|
|
96
|
+
{
|
|
97
|
+
files: ['bmad-core/workflows/**/*.yaml'],
|
|
98
|
+
rules: {
|
|
99
|
+
'yml/no-empty-mapping-value': 'off',
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
|
|
103
|
+
// GitHub workflow files in this repo may use empty mapping values
|
|
104
|
+
{
|
|
105
|
+
files: ['.github/workflows/**/*.yaml'],
|
|
106
|
+
rules: {
|
|
107
|
+
'yml/no-empty-mapping-value': 'off',
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
|
|
111
|
+
// Other GitHub YAML files may intentionally use empty values and reserved filenames
|
|
112
|
+
{
|
|
113
|
+
files: ['.github/**/*.yaml'],
|
|
114
|
+
rules: {
|
|
115
|
+
'yml/no-empty-mapping-value': 'off',
|
|
116
|
+
'unicorn/filename-case': 'off',
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
];
|
|
@@ -60,10 +60,10 @@ commands:
|
|
|
60
60
|
task-execution:
|
|
61
61
|
flow: Read story → Implement game feature → Write tests → Pass tests → Update [x] → Next task
|
|
62
62
|
updates-ONLY:
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
63
|
+
- 'Checkboxes: [ ] not started | [-] in progress | [x] complete'
|
|
64
|
+
- 'Debug Log: | Task | File | Change | Reverted? |'
|
|
65
|
+
- 'Completion Notes: Deviations only, <50 words'
|
|
66
|
+
- 'Change Log: Requirement changes only'
|
|
67
67
|
blocking: Unapproved deps | Ambiguous after story check | 3 failures | Missing game config
|
|
68
68
|
done: Game feature works + Tests pass + 60 FPS + No lint errors + Follows Phaser 3 best practices
|
|
69
69
|
dependencies:
|
|
@@ -27,7 +27,7 @@ activation-instructions:
|
|
|
27
27
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
|
28
28
|
- STAY IN CHARACTER!
|
|
29
29
|
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
|
30
|
-
-
|
|
30
|
+
- 'CRITICAL RULE: You are ONLY allowed to create/modify story files - NEVER implement! If asked to implement, tell user they MUST switch to Game Developer Agent'
|
|
31
31
|
agent:
|
|
32
32
|
name: Jordan
|
|
33
33
|
id: game-sm
|
|
@@ -39,13 +39,11 @@ You are developing games as a "Player Experience CEO" - thinking like a game dir
|
|
|
39
39
|
### Phase 1: Game Concept and Design
|
|
40
40
|
|
|
41
41
|
1. **Game Designer**: Start with brainstorming and concept development
|
|
42
|
-
|
|
43
42
|
- Use \*brainstorm to explore game concepts and mechanics
|
|
44
43
|
- Create Game Brief using game-brief-tmpl
|
|
45
44
|
- Develop core game pillars and player experience goals
|
|
46
45
|
|
|
47
46
|
2. **Game Designer**: Create comprehensive Game Design Document
|
|
48
|
-
|
|
49
47
|
- Use game-design-doc-tmpl to create detailed GDD
|
|
50
48
|
- Define all game mechanics, progression, and balance
|
|
51
49
|
- Specify technical requirements and platform targets
|
|
@@ -65,13 +63,11 @@ You are developing games as a "Player Experience CEO" - thinking like a game dir
|
|
|
65
63
|
### Phase 3: Story-Driven Development
|
|
66
64
|
|
|
67
65
|
5. **Game Scrum Master**: Break down design into development stories
|
|
68
|
-
|
|
69
66
|
- Use create-game-story task to create detailed implementation stories
|
|
70
67
|
- Each story should be immediately actionable by game developers
|
|
71
68
|
- Apply game-story-dod-checklist to ensure story quality
|
|
72
69
|
|
|
73
70
|
6. **Game Developer**: Implement game features story by story
|
|
74
|
-
|
|
75
71
|
- Follow TypeScript strict mode and Phaser 3 best practices
|
|
76
72
|
- Maintain 60 FPS performance target throughout development
|
|
77
73
|
- Use test-driven development for game logic components
|
|
@@ -73,7 +73,7 @@ interface GameState {
|
|
|
73
73
|
interface GameSettings {
|
|
74
74
|
musicVolume: number;
|
|
75
75
|
sfxVolume: number;
|
|
76
|
-
difficulty:
|
|
76
|
+
difficulty: 'easy' | 'normal' | 'hard';
|
|
77
77
|
controls: ControlScheme;
|
|
78
78
|
}
|
|
79
79
|
```
|
|
@@ -114,12 +114,12 @@ class GameScene extends Phaser.Scene {
|
|
|
114
114
|
private inputManager!: InputManager;
|
|
115
115
|
|
|
116
116
|
constructor() {
|
|
117
|
-
super({ key:
|
|
117
|
+
super({ key: 'GameScene' });
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
preload(): void {
|
|
121
121
|
// Load only scene-specific assets
|
|
122
|
-
this.load.image(
|
|
122
|
+
this.load.image('player', 'assets/player.png');
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
create(data: SceneData): void {
|
|
@@ -144,7 +144,7 @@ class GameScene extends Phaser.Scene {
|
|
|
144
144
|
this.inputManager.destroy();
|
|
145
145
|
|
|
146
146
|
// Remove event listeners
|
|
147
|
-
this.events.off(
|
|
147
|
+
this.events.off('*');
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
```
|
|
@@ -153,13 +153,13 @@ class GameScene extends Phaser.Scene {
|
|
|
153
153
|
|
|
154
154
|
```typescript
|
|
155
155
|
// Proper scene transitions with data
|
|
156
|
-
this.scene.start(
|
|
156
|
+
this.scene.start('NextScene', {
|
|
157
157
|
playerScore: this.playerScore,
|
|
158
158
|
currentLevel: this.currentLevel + 1,
|
|
159
159
|
});
|
|
160
160
|
|
|
161
161
|
// Scene overlays for UI
|
|
162
|
-
this.scene.launch(
|
|
162
|
+
this.scene.launch('PauseMenuScene');
|
|
163
163
|
this.scene.pause();
|
|
164
164
|
```
|
|
165
165
|
|
|
@@ -203,7 +203,7 @@ class Player extends GameEntity {
|
|
|
203
203
|
private health!: HealthComponent;
|
|
204
204
|
|
|
205
205
|
constructor(scene: Phaser.Scene, x: number, y: number) {
|
|
206
|
-
super(scene, x, y,
|
|
206
|
+
super(scene, x, y, 'player');
|
|
207
207
|
|
|
208
208
|
this.movement = this.addComponent(new MovementComponent(this));
|
|
209
209
|
this.health = this.addComponent(new HealthComponent(this, 100));
|
|
@@ -223,7 +223,7 @@ class GameManager {
|
|
|
223
223
|
|
|
224
224
|
constructor(scene: Phaser.Scene) {
|
|
225
225
|
if (GameManager.instance) {
|
|
226
|
-
throw new Error(
|
|
226
|
+
throw new Error('GameManager already exists!');
|
|
227
227
|
}
|
|
228
228
|
|
|
229
229
|
this.scene = scene;
|
|
@@ -233,7 +233,7 @@ class GameManager {
|
|
|
233
233
|
|
|
234
234
|
static getInstance(): GameManager {
|
|
235
235
|
if (!GameManager.instance) {
|
|
236
|
-
throw new Error(
|
|
236
|
+
throw new Error('GameManager not initialized!');
|
|
237
237
|
}
|
|
238
238
|
return GameManager.instance;
|
|
239
239
|
}
|
|
@@ -280,7 +280,7 @@ class BulletPool {
|
|
|
280
280
|
}
|
|
281
281
|
|
|
282
282
|
// Pool exhausted - create new bullet
|
|
283
|
-
console.warn(
|
|
283
|
+
console.warn('Bullet pool exhausted, creating new bullet');
|
|
284
284
|
return new Bullet(this.scene, 0, 0);
|
|
285
285
|
}
|
|
286
286
|
|
|
@@ -380,12 +380,12 @@ class InputManager {
|
|
|
380
380
|
}
|
|
381
381
|
|
|
382
382
|
private setupKeyboard(): void {
|
|
383
|
-
this.keys = this.scene.input.keyboard.addKeys(
|
|
383
|
+
this.keys = this.scene.input.keyboard.addKeys('W,A,S,D,SPACE,ESC,UP,DOWN,LEFT,RIGHT');
|
|
384
384
|
}
|
|
385
385
|
|
|
386
386
|
private setupTouch(): void {
|
|
387
|
-
this.scene.input.on(
|
|
388
|
-
this.scene.input.on(
|
|
387
|
+
this.scene.input.on('pointerdown', this.handlePointerDown, this);
|
|
388
|
+
this.scene.input.on('pointerup', this.handlePointerUp, this);
|
|
389
389
|
}
|
|
390
390
|
|
|
391
391
|
update(): void {
|
|
@@ -412,9 +412,9 @@ class InputManager {
|
|
|
412
412
|
class AssetManager {
|
|
413
413
|
loadAssets(): Promise<void> {
|
|
414
414
|
return new Promise((resolve, reject) => {
|
|
415
|
-
this.scene.load.on(
|
|
416
|
-
this.scene.load.on(
|
|
417
|
-
this.scene.load.on(
|
|
415
|
+
this.scene.load.on('filecomplete', this.handleFileComplete, this);
|
|
416
|
+
this.scene.load.on('loaderror', this.handleLoadError, this);
|
|
417
|
+
this.scene.load.on('complete', () => resolve());
|
|
418
418
|
|
|
419
419
|
this.scene.load.start();
|
|
420
420
|
});
|
|
@@ -430,8 +430,8 @@ class AssetManager {
|
|
|
430
430
|
private loadFallbackAsset(key: string): void {
|
|
431
431
|
// Load placeholder or default assets
|
|
432
432
|
switch (key) {
|
|
433
|
-
case
|
|
434
|
-
this.scene.load.image(
|
|
433
|
+
case 'player':
|
|
434
|
+
this.scene.load.image('player', 'assets/defaults/default-player.png');
|
|
435
435
|
break;
|
|
436
436
|
default:
|
|
437
437
|
console.warn(`No fallback for asset: ${key}`);
|
|
@@ -458,11 +458,11 @@ class GameSystem {
|
|
|
458
458
|
|
|
459
459
|
private attemptRecovery(context: string): void {
|
|
460
460
|
switch (context) {
|
|
461
|
-
case
|
|
461
|
+
case 'update':
|
|
462
462
|
// Reset system state
|
|
463
463
|
this.reset();
|
|
464
464
|
break;
|
|
465
|
-
case
|
|
465
|
+
case 'render':
|
|
466
466
|
// Disable visual effects
|
|
467
467
|
this.disableEffects();
|
|
468
468
|
break;
|
|
@@ -482,7 +482,7 @@ class GameSystem {
|
|
|
482
482
|
|
|
483
483
|
```typescript
|
|
484
484
|
// Example test for game mechanics
|
|
485
|
-
describe(
|
|
485
|
+
describe('HealthComponent', () => {
|
|
486
486
|
let healthComponent: HealthComponent;
|
|
487
487
|
|
|
488
488
|
beforeEach(() => {
|
|
@@ -490,18 +490,18 @@ describe("HealthComponent", () => {
|
|
|
490
490
|
healthComponent = new HealthComponent(mockEntity, 100);
|
|
491
491
|
});
|
|
492
492
|
|
|
493
|
-
test(
|
|
493
|
+
test('should initialize with correct health', () => {
|
|
494
494
|
expect(healthComponent.currentHealth).toBe(100);
|
|
495
495
|
expect(healthComponent.maxHealth).toBe(100);
|
|
496
496
|
});
|
|
497
497
|
|
|
498
|
-
test(
|
|
498
|
+
test('should handle damage correctly', () => {
|
|
499
499
|
healthComponent.takeDamage(25);
|
|
500
500
|
expect(healthComponent.currentHealth).toBe(75);
|
|
501
501
|
expect(healthComponent.isAlive()).toBe(true);
|
|
502
502
|
});
|
|
503
503
|
|
|
504
|
-
test(
|
|
504
|
+
test('should handle death correctly', () => {
|
|
505
505
|
healthComponent.takeDamage(150);
|
|
506
506
|
expect(healthComponent.currentHealth).toBe(0);
|
|
507
507
|
expect(healthComponent.isAlive()).toBe(false);
|
|
@@ -514,7 +514,7 @@ describe("HealthComponent", () => {
|
|
|
514
514
|
**Scene Testing:**
|
|
515
515
|
|
|
516
516
|
```typescript
|
|
517
|
-
describe(
|
|
517
|
+
describe('GameScene Integration', () => {
|
|
518
518
|
let scene: GameScene;
|
|
519
519
|
let mockGame: Phaser.Game;
|
|
520
520
|
|
|
@@ -524,7 +524,7 @@ describe("GameScene Integration", () => {
|
|
|
524
524
|
scene = new GameScene();
|
|
525
525
|
});
|
|
526
526
|
|
|
527
|
-
test(
|
|
527
|
+
test('should initialize all systems', () => {
|
|
528
528
|
scene.create({});
|
|
529
529
|
|
|
530
530
|
expect(scene.gameManager).toBeDefined();
|
|
@@ -585,25 +585,21 @@ src/
|
|
|
585
585
|
### Story Implementation Process
|
|
586
586
|
|
|
587
587
|
1. **Read Story Requirements:**
|
|
588
|
-
|
|
589
588
|
- Understand acceptance criteria
|
|
590
589
|
- Identify technical requirements
|
|
591
590
|
- Review performance constraints
|
|
592
591
|
|
|
593
592
|
2. **Plan Implementation:**
|
|
594
|
-
|
|
595
593
|
- Identify files to create/modify
|
|
596
594
|
- Consider component architecture
|
|
597
595
|
- Plan testing approach
|
|
598
596
|
|
|
599
597
|
3. **Implement Feature:**
|
|
600
|
-
|
|
601
598
|
- Follow TypeScript strict mode
|
|
602
599
|
- Use established patterns
|
|
603
600
|
- Maintain 60 FPS performance
|
|
604
601
|
|
|
605
602
|
4. **Test Implementation:**
|
|
606
|
-
|
|
607
603
|
- Write unit tests for game logic
|
|
608
604
|
- Test cross-platform functionality
|
|
609
605
|
- Validate performance targets
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
2. If the section contains game flow diagrams, level layouts, or system diagrams, explain each diagram briefly with game development context before offering elicitation options (e.g., "The gameplay loop diagram shows how player actions lead to rewards and progression. Notice how each step maintains player engagement and creates opportunities for skill development.")
|
|
19
19
|
|
|
20
20
|
3. If the section contains multiple game elements (like multiple mechanics, multiple levels, multiple systems, etc.), inform the user they can apply elicitation actions to:
|
|
21
|
-
|
|
22
21
|
- The entire section as a whole
|
|
23
22
|
- Individual game elements within the section (specify which element when selecting an action)
|
|
24
23
|
|
|
@@ -9,7 +9,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
9
9
|
[[LLM: Begin by understanding the game design context and goals. Ask clarifying questions if needed to determine the best approach for game-specific ideation.]]
|
|
10
10
|
|
|
11
11
|
1. **Establish Game Context**
|
|
12
|
-
|
|
13
12
|
- Understand the game genre or opportunity area
|
|
14
13
|
- Identify target audience and platform constraints
|
|
15
14
|
- Determine session goals (concept exploration vs. mechanic refinement)
|
|
@@ -27,7 +26,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
27
26
|
|
|
28
27
|
1. **"What If" Game Scenarios**
|
|
29
28
|
[[LLM: Generate provocative what-if questions that challenge game design assumptions and expand thinking beyond current genre limitations.]]
|
|
30
|
-
|
|
31
29
|
- What if players could rewind time in any genre?
|
|
32
30
|
- What if the game world reacted to the player's real-world location?
|
|
33
31
|
- What if failure was more rewarding than success?
|
|
@@ -36,7 +34,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
36
34
|
|
|
37
35
|
2. **Cross-Genre Fusion**
|
|
38
36
|
[[LLM: Help user combine unexpected game genres and mechanics to create unique experiences.]]
|
|
39
|
-
|
|
40
37
|
- "How might [genre A] mechanics work in [genre B]?"
|
|
41
38
|
- Puzzle mechanics in action games
|
|
42
39
|
- Dating sim elements in strategy games
|
|
@@ -45,7 +42,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
45
42
|
|
|
46
43
|
3. **Player Motivation Reversal**
|
|
47
44
|
[[LLM: Flip traditional player motivations to reveal new gameplay possibilities.]]
|
|
48
|
-
|
|
49
45
|
- What if losing was the goal?
|
|
50
46
|
- What if cooperation was forced in competitive games?
|
|
51
47
|
- What if players had to help their enemies?
|
|
@@ -62,7 +58,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
62
58
|
|
|
63
59
|
1. **SCAMPER for Game Mechanics**
|
|
64
60
|
[[LLM: Guide through each SCAMPER prompt specifically for game design.]]
|
|
65
|
-
|
|
66
61
|
- **S** = Substitute: What mechanics can be substituted? (walking → flying → swimming)
|
|
67
62
|
- **C** = Combine: What systems can be merged? (inventory + character growth)
|
|
68
63
|
- **A** = Adapt: What mechanics from other media? (books, movies, sports)
|
|
@@ -73,7 +68,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
73
68
|
|
|
74
69
|
2. **Player Agency Spectrum**
|
|
75
70
|
[[LLM: Explore different levels of player control and agency across game systems.]]
|
|
76
|
-
|
|
77
71
|
- Full Control: Direct character movement, combat, building
|
|
78
72
|
- Indirect Control: Setting rules, giving commands, environmental changes
|
|
79
73
|
- Influence Only: Suggestions, preferences, emotional reactions
|
|
@@ -81,7 +75,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
81
75
|
|
|
82
76
|
3. **Temporal Game Design**
|
|
83
77
|
[[LLM: Explore how time affects gameplay and player experience.]]
|
|
84
|
-
|
|
85
78
|
- Real-time vs. turn-based mechanics
|
|
86
79
|
- Time travel and manipulation
|
|
87
80
|
- Persistent vs. session-based progress
|
|
@@ -92,7 +85,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
92
85
|
|
|
93
86
|
1. **Emotion-First Design**
|
|
94
87
|
[[LLM: Start with target emotions and work backward to mechanics that create them.]]
|
|
95
|
-
|
|
96
88
|
- Target Emotion: Wonder → Mechanics: Discovery, mystery, scale
|
|
97
89
|
- Target Emotion: Triumph → Mechanics: Challenge, skill growth, recognition
|
|
98
90
|
- Target Emotion: Connection → Mechanics: Cooperation, shared goals, communication
|
|
@@ -100,7 +92,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
100
92
|
|
|
101
93
|
2. **Player Archetype Brainstorming**
|
|
102
94
|
[[LLM: Design for different player types and motivations.]]
|
|
103
|
-
|
|
104
95
|
- Achievers: Progression, completion, mastery
|
|
105
96
|
- Explorers: Discovery, secrets, world-building
|
|
106
97
|
- Socializers: Interaction, cooperation, community
|
|
@@ -109,7 +100,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
109
100
|
|
|
110
101
|
3. **Accessibility-First Innovation**
|
|
111
102
|
[[LLM: Generate ideas that make games more accessible while creating new gameplay.]]
|
|
112
|
-
|
|
113
103
|
- Visual impairment considerations leading to audio-focused mechanics
|
|
114
104
|
- Motor accessibility inspiring one-handed or simplified controls
|
|
115
105
|
- Cognitive accessibility driving clear feedback and pacing
|
|
@@ -119,7 +109,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
119
109
|
|
|
120
110
|
1. **Environmental Storytelling**
|
|
121
111
|
[[LLM: Brainstorm ways the game world itself tells stories without explicit narrative.]]
|
|
122
|
-
|
|
123
112
|
- How does the environment show history?
|
|
124
113
|
- What do interactive objects reveal about characters?
|
|
125
114
|
- How can level design communicate mood?
|
|
@@ -127,7 +116,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
127
116
|
|
|
128
117
|
2. **Player-Generated Narrative**
|
|
129
118
|
[[LLM: Explore ways players create their own stories through gameplay.]]
|
|
130
|
-
|
|
131
119
|
- Emergent storytelling through player choices
|
|
132
120
|
- Procedural narrative generation
|
|
133
121
|
- Player-to-player story sharing
|
|
@@ -135,7 +123,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
135
123
|
|
|
136
124
|
3. **Genre Expectation Subversion**
|
|
137
125
|
[[LLM: Identify and deliberately subvert player expectations within genres.]]
|
|
138
|
-
|
|
139
126
|
- Fantasy RPG where magic is mundane
|
|
140
127
|
- Horror game where monsters are friendly
|
|
141
128
|
- Racing game where going slow is optimal
|
|
@@ -145,7 +132,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
145
132
|
|
|
146
133
|
1. **Platform-Specific Design**
|
|
147
134
|
[[LLM: Generate ideas that leverage unique platform capabilities.]]
|
|
148
|
-
|
|
149
135
|
- Mobile: GPS, accelerometer, camera, always-connected
|
|
150
136
|
- Web: URLs, tabs, social sharing, real-time collaboration
|
|
151
137
|
- Console: Controllers, TV viewing, couch co-op
|
|
@@ -153,7 +139,6 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
153
139
|
|
|
154
140
|
2. **Constraint-Based Creativity**
|
|
155
141
|
[[LLM: Use technical or design constraints as creative catalysts.]]
|
|
156
|
-
|
|
157
142
|
- One-button games
|
|
158
143
|
- Games without graphics
|
|
159
144
|
- Games that play in notification bars
|
|
@@ -199,19 +184,16 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|
|
199
184
|
[[LLM: Guide the brainstorming session with appropriate pacing for game design exploration.]]
|
|
200
185
|
|
|
201
186
|
1. **Inspiration Phase** (10-15 min)
|
|
202
|
-
|
|
203
187
|
- Reference existing games and mechanics
|
|
204
188
|
- Explore player experiences and emotions
|
|
205
189
|
- Gather visual and thematic inspiration
|
|
206
190
|
|
|
207
191
|
2. **Divergent Exploration** (25-35 min)
|
|
208
|
-
|
|
209
192
|
- Generate many game concepts or mechanics
|
|
210
193
|
- Use expansion and fusion techniques
|
|
211
194
|
- Encourage wild and impossible ideas
|
|
212
195
|
|
|
213
196
|
3. **Player-Centered Filtering** (15-20 min)
|
|
214
|
-
|
|
215
197
|
- Consider target audience reactions
|
|
216
198
|
- Evaluate emotional impact and engagement
|
|
217
199
|
- Group ideas by player experience goals
|