@jarrodmedrano/claude-skills 1.0.2 → 1.0.4
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/.claude/skills/bevy/SKILL.md +406 -0
- package/.claude/skills/bevy/references/bevy_specific_tips.md +385 -0
- package/.claude/skills/bevy/references/common_pitfalls.md +217 -0
- package/.claude/skills/bevy/references/ecs_patterns.md +277 -0
- package/.claude/skills/bevy/references/project_structure.md +116 -0
- package/.claude/skills/bevy/references/ui_development.md +147 -0
- package/.claude/skills/domain-driven-design/SKILL.md +459 -0
- package/.claude/skills/domain-driven-design/references/ddd_foundations_and_patterns.md +664 -0
- package/.claude/skills/domain-driven-design/references/rich_hickey_principles.md +406 -0
- package/.claude/skills/domain-driven-design/references/visualization_examples.md +790 -0
- package/.claude/skills/domain-driven-design/references/wlaschin_patterns.md +639 -0
- package/.claude/skills/game-design-theory/SKILL.md +102 -0
- package/.claude/skills/game-design-theory/design-principles.md +308 -0
- package/.claude/skills/game-design-theory/gameplay-elements.md +213 -0
- package/.claude/skills/game-design-theory/player-psychology.md +175 -0
- package/.claude/skills/game-design-theory/playtesting.md +321 -0
- package/.claude/skills/game-design-theory/storytelling.md +219 -0
- package/.claude/skills/game-feel/SKILL.md +305 -0
- package/.claude/skills/game-feel/references/adsr-tuning.md +271 -0
- package/.claude/skills/game-feel/references/classic-profiles.md +279 -0
- package/.claude/skills/game-feel/references/perception-thresholds.md +160 -0
- package/.claude/skills/game-feel/references/polish-effects.md +246 -0
- package/.claude/skills/game-feel/references/simulation-recipes.md +306 -0
- package/.claude/skills/game-feel/references/six-metrics.md +239 -0
- package/.claude/skills/godot/SKILL.md +728 -0
- package/.claude/skills/godot/assets/templates/attribute_template.gd +109 -0
- package/.claude/skills/godot/assets/templates/component_template.gd +76 -0
- package/.claude/skills/godot/assets/templates/interaction_template.gd +108 -0
- package/.claude/skills/godot/assets/templates/item_resource.tres +11 -0
- package/.claude/skills/godot/assets/templates/spell_resource.tres +20 -0
- package/.claude/skills/godot/references/architecture-patterns.md +608 -0
- package/.claude/skills/godot/references/common-pitfalls.md +518 -0
- package/.claude/skills/godot/references/file-formats.md +491 -0
- package/.claude/skills/godot/references/godot4-physics-api.md +302 -0
- package/.claude/skills/godot/scripts/validate_tres.py +145 -0
- package/.claude/skills/godot/scripts/validate_tscn.py +170 -0
- package/.claude/skills/level-design/SKILL.md +249 -0
- package/.claude/skills/level-design/anticipatory-play.md +223 -0
- package/.claude/skills/level-design/hiding-linearity.md +181 -0
- package/.claude/skills/level-design/indie-practices.md +286 -0
- package/.claude/skills/level-design/open-world-planning.md +294 -0
- package/.claude/skills/level-design/play-personas.md +240 -0
- package/.claude/skills/level-design/procedural-handmade.md +271 -0
- package/.claude/skills/level-design/themed-environments.md +264 -0
- package/.claude/skills/react-three-fiber/SKILL.md +2055 -0
- package/.claude/skills/react-three-fiber/scripts/build-scene.ts +171 -0
- package/package.json +3 -1
- package/scripts/install.js +16 -1
- package/templates/github-actions/README.md +36 -0
- /package/.claude/{commands/design-review → agents}/design-review-agent.md +0 -0
- /package/.claude/{commands/code-review → agents}/pragmatic-code-review-subagent.md +0 -0
- /package/{.claude/commands/code-review → templates/github-actions}/claude-code-review-custom.yml +0 -0
- /package/{.claude/commands/code-review → templates/github-actions}/claude-code-review.yml +0 -0
- /package/{.claude/commands/security-review → templates/github-actions}/security.yml +0 -0
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
# Level Design Practices for Independent Games
|
|
2
|
+
|
|
3
|
+
Based on Chapter 6: "Level Design Practices for Independent Games" by Fares Kayali and Josef Ortner.
|
|
4
|
+
|
|
5
|
+
## The Contemporary Retro Game
|
|
6
|
+
|
|
7
|
+
Independent games often feature:
|
|
8
|
+
- 2D content with retro aesthetic
|
|
9
|
+
- Strong, innovative core mechanics
|
|
10
|
+
- Modern, focused gameplay
|
|
11
|
+
- Limited team/budget resources
|
|
12
|
+
|
|
13
|
+
The level designer operates at the intersection of programming, design, and art—distilling ideas into workable games while leading players through experiences without revealing the designer's presence.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Qualities of Good Level Design
|
|
18
|
+
|
|
19
|
+
### 1. Maintain Flow
|
|
20
|
+
Balance difficulty and challenge. Avoid:
|
|
21
|
+
- **Anxiety** (too hard)
|
|
22
|
+
- **Boredom** (too easy)
|
|
23
|
+
|
|
24
|
+
Keep players in the "flow channel."
|
|
25
|
+
|
|
26
|
+
### 2. Balance Freedom and Constraints
|
|
27
|
+
Give players the illusion of control while ensuring:
|
|
28
|
+
- Continuity
|
|
29
|
+
- Fluent play
|
|
30
|
+
- Guided experience
|
|
31
|
+
|
|
32
|
+
### 3. Enable Mastery and Emergence
|
|
33
|
+
- Allow recombination of game elements
|
|
34
|
+
- Support elusive mastery
|
|
35
|
+
- Create emergent gameplay
|
|
36
|
+
- Incentivize replay
|
|
37
|
+
|
|
38
|
+
### 4. Balance Risk and Reward
|
|
39
|
+
Every level should include:
|
|
40
|
+
- Easier options (lower rewards)
|
|
41
|
+
- Harder options (higher rewards)
|
|
42
|
+
- Proportional reward scaling
|
|
43
|
+
|
|
44
|
+
### 5. Drive Narrative
|
|
45
|
+
Ensure individual levels align with:
|
|
46
|
+
- Overall game progression
|
|
47
|
+
- Asset revelation schedule
|
|
48
|
+
- Story pacing
|
|
49
|
+
|
|
50
|
+
### 6. Guide the Player
|
|
51
|
+
Use environmental cues:
|
|
52
|
+
- Mirror's Edge: Red marks climbable objects
|
|
53
|
+
- Lighting draws attention
|
|
54
|
+
- Architecture suggests paths
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Five Level Design Practices
|
|
59
|
+
|
|
60
|
+
### 1. Expand on Strong Core Mechanics
|
|
61
|
+
|
|
62
|
+
**Example:** VVVVVV
|
|
63
|
+
> "You cannot jump—instead, you reverse your own gravity at the press of a button. The game focuses on playing with this mechanic in a variety of interesting ways."
|
|
64
|
+
|
|
65
|
+
**The approach:**
|
|
66
|
+
- One simple, strong core mechanic
|
|
67
|
+
- Entire game explores variations
|
|
68
|
+
- Constraints force creativity
|
|
69
|
+
- Each level finds new applications
|
|
70
|
+
|
|
71
|
+
**VVVVVV specifics:**
|
|
72
|
+
- Input: Left, right, flip gravity
|
|
73
|
+
- Exploration: Moving platforms from below, ceiling walking, gravity timing puzzles
|
|
74
|
+
- Difficulty through variety, not complexity
|
|
75
|
+
|
|
76
|
+
**Design principle:** Constrain to create depth. Less mechanics = more exploration of each.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### 2. Iterative Level Design
|
|
81
|
+
|
|
82
|
+
**The Process:**
|
|
83
|
+
1. Rapid prototyping
|
|
84
|
+
2. Playtest early
|
|
85
|
+
3. Iterate based on feedback
|
|
86
|
+
4. Repeat until fun
|
|
87
|
+
|
|
88
|
+
**Key insight:** Level design should happen *alongside* mechanic development, not after.
|
|
89
|
+
|
|
90
|
+
**Radio Flare Redux case:**
|
|
91
|
+
- Music-based game (each level is a song)
|
|
92
|
+
- Level design tightly connected to music
|
|
93
|
+
- All events quantized to beat
|
|
94
|
+
- Level files read like musical scores
|
|
95
|
+
|
|
96
|
+
**Lesson learned:** Starting level design late meant:
|
|
97
|
+
- Fewer enemy patterns
|
|
98
|
+
- Less variety
|
|
99
|
+
- Good ideas lost in the process
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
### 3. Design Game Modes, Not Levels
|
|
104
|
+
|
|
105
|
+
**Example:** Hue Shift
|
|
106
|
+
|
|
107
|
+
**Original approach:** Designed levels with completion goals
|
|
108
|
+
- Problem: Constant player speed meant maximum high score
|
|
109
|
+
- Result: No motivation to improve
|
|
110
|
+
|
|
111
|
+
**New approach:** Endless, self-generated level
|
|
112
|
+
- Play until mistake
|
|
113
|
+
- No maximum score
|
|
114
|
+
- Active high score competition
|
|
115
|
+
|
|
116
|
+
**Implementation:**
|
|
117
|
+
- 50 predefined blocks (easy/medium/hard)
|
|
118
|
+
- Random combination
|
|
119
|
+
- Early blocks easy, difficulty increases
|
|
120
|
+
- Each block designed to connect to any other
|
|
121
|
+
|
|
122
|
+
**Benefits:**
|
|
123
|
+
- Short development time
|
|
124
|
+
- High replay value
|
|
125
|
+
- Player motivation through randomization
|
|
126
|
+
|
|
127
|
+
**The trade-off:** Some frustration from difficult random combinations, but hope for better luck keeps players trying.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
### 4. Sandboxes and Emergent Gameplay
|
|
132
|
+
|
|
133
|
+
**Definition:** Create systems that generate interesting situations rather than authored content.
|
|
134
|
+
|
|
135
|
+
**Elements:**
|
|
136
|
+
- Simple, consistent rules
|
|
137
|
+
- Interacting systems
|
|
138
|
+
- Player creativity enabled
|
|
139
|
+
- Unpredictable outcomes
|
|
140
|
+
|
|
141
|
+
**Level design role:**
|
|
142
|
+
- Provide the sandbox
|
|
143
|
+
- Set initial conditions
|
|
144
|
+
- Let emergence happen
|
|
145
|
+
|
|
146
|
+
**Example scenarios:**
|
|
147
|
+
- Physics puzzles with multiple solutions
|
|
148
|
+
- Enemy AI with emergent behaviors
|
|
149
|
+
- Environmental interactions
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### 5. Object-Oriented Level Design
|
|
154
|
+
|
|
155
|
+
**Concept:** Modular elements that combine predictably.
|
|
156
|
+
|
|
157
|
+
**Implementation:**
|
|
158
|
+
- Design reusable "objects" (platforms, enemies, hazards)
|
|
159
|
+
- Define clear interaction rules
|
|
160
|
+
- Combine objects to create levels
|
|
161
|
+
- Objects work regardless of combination
|
|
162
|
+
|
|
163
|
+
**Benefits:**
|
|
164
|
+
- Rapid level creation
|
|
165
|
+
- Consistent player expectations
|
|
166
|
+
- Easy difficulty scaling
|
|
167
|
+
- Efficient development
|
|
168
|
+
|
|
169
|
+
**Hue Shift application:**
|
|
170
|
+
- 50 blocks with 2-6 platforms each
|
|
171
|
+
- Any block connects to any other
|
|
172
|
+
- Combination rules ensure solvability
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Core Mechanics Definition
|
|
177
|
+
|
|
178
|
+
### Järvinen's Definition
|
|
179
|
+
> "Game mechanics are the means through which the players carry out certain rule-based actions aiming at the game goals."
|
|
180
|
+
|
|
181
|
+
### MDA Framework
|
|
182
|
+
> "Mechanics are the various actions, behaviors and control mechanisms afforded to the player within a game context."
|
|
183
|
+
|
|
184
|
+
### Core Mechanics
|
|
185
|
+
The essential play activity performed repeatedly throughout the game.
|
|
186
|
+
|
|
187
|
+
**VVVVVV core mechanic:** Gravity reversal
|
|
188
|
+
**Pac-Man core mechanics:** Movement, eating, avoiding
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Rhythm and Music Integration
|
|
193
|
+
|
|
194
|
+
### Radio Flare Redux Approach
|
|
195
|
+
|
|
196
|
+
**Process:**
|
|
197
|
+
1. Listen to song repeatedly
|
|
198
|
+
2. Identify sections, themes, recurring elements
|
|
199
|
+
3. Quantize events to beat
|
|
200
|
+
4. Match level structure to musical structure
|
|
201
|
+
|
|
202
|
+
**Level file structure:**
|
|
203
|
+
- Time indexed by bars and beats
|
|
204
|
+
- Events synchronized to rhythm
|
|
205
|
+
- Sound effects blend with music
|
|
206
|
+
|
|
207
|
+
**Benefits:**
|
|
208
|
+
- Tight audiovisual sync
|
|
209
|
+
- Immersive experience
|
|
210
|
+
- Clear structure
|
|
211
|
+
|
|
212
|
+
**Drawbacks:**
|
|
213
|
+
- Linear, static experience
|
|
214
|
+
- Limited emergent gameplay
|
|
215
|
+
- Late development constraints
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Resource Constraints as Design Tools
|
|
220
|
+
|
|
221
|
+
### Limited Time
|
|
222
|
+
- Focus on core mechanic
|
|
223
|
+
- Cut feature scope, not quality
|
|
224
|
+
- Iterative refinement over breadth
|
|
225
|
+
|
|
226
|
+
### Limited Budget
|
|
227
|
+
- Retro aesthetics require less art
|
|
228
|
+
- Procedural generation reduces content needs
|
|
229
|
+
- Modular design maximizes asset reuse
|
|
230
|
+
|
|
231
|
+
### Limited Team
|
|
232
|
+
- Designer as programmer, artist, level designer
|
|
233
|
+
- Communication overhead reduced
|
|
234
|
+
- Vision consistency easier
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Player Expectation Management
|
|
239
|
+
|
|
240
|
+
### The Carrot on a Stick
|
|
241
|
+
Always provide clear incentive for forward progress.
|
|
242
|
+
|
|
243
|
+
### Subverting Expectations
|
|
244
|
+
Consciously fulfill *and* subvert player expectations when designing levels.
|
|
245
|
+
|
|
246
|
+
**Balance:**
|
|
247
|
+
- Enough fulfillment for comfort
|
|
248
|
+
- Enough subversion for surprise
|
|
249
|
+
- Pattern recognition rewarded
|
|
250
|
+
- Complacency punished
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Contemporary vs Retro
|
|
255
|
+
|
|
256
|
+
### Retro Elements
|
|
257
|
+
- Low-end graphics
|
|
258
|
+
- Limited input (2-3 buttons)
|
|
259
|
+
- Clear rules
|
|
260
|
+
- High difficulty
|
|
261
|
+
- Chunked level design
|
|
262
|
+
|
|
263
|
+
### Contemporary Elements
|
|
264
|
+
- Short session times (5-8 minutes)
|
|
265
|
+
- Procedural generation
|
|
266
|
+
- Endless modes
|
|
267
|
+
- Social features (leaderboards)
|
|
268
|
+
- Mobile-friendly design
|
|
269
|
+
|
|
270
|
+
### The Synthesis
|
|
271
|
+
Contemporary retro games:
|
|
272
|
+
- Look old
|
|
273
|
+
- Play modern
|
|
274
|
+
- Respect player time
|
|
275
|
+
- Enable mastery
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Summary
|
|
280
|
+
|
|
281
|
+
1. **Core mechanic first** — Build everything on a strong foundation
|
|
282
|
+
2. **Iterate constantly** — Playtest early and often
|
|
283
|
+
3. **Consider endless modes** — Sometimes no levels is better
|
|
284
|
+
4. **Embrace emergence** — Systems create more than content
|
|
285
|
+
5. **Design modularly** — Object-oriented thinking speeds development
|
|
286
|
+
6. **Constraints enable creativity** — Limited resources force focus
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
# Open-World Level Design Planning
|
|
2
|
+
|
|
3
|
+
Based on Chapter 12: "Level Design Planning for Open-World Games" by Joel Burgess (Bethesda Game Studios).
|
|
4
|
+
|
|
5
|
+
## The Three Elements
|
|
6
|
+
|
|
7
|
+
Open-world planning requires three living documents that evolve throughout development:
|
|
8
|
+
|
|
9
|
+
1. **The World Map** — Spatial visualization
|
|
10
|
+
2. **The Master List** — High-level data tracking (Excel)
|
|
11
|
+
3. **The Directory** — Per-location details (Wiki)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Element 1: The World Map
|
|
16
|
+
|
|
17
|
+
### Purpose
|
|
18
|
+
The map is the most vital piece of design documentation. It instantly communicates setting, scale, regions, and anchor locations.
|
|
19
|
+
|
|
20
|
+
### Key Questions
|
|
21
|
+
- Where does the game take place? (real vs fictional)
|
|
22
|
+
- What subregions exist within the map?
|
|
23
|
+
- What is the scale and density?
|
|
24
|
+
- What major geographical features exist?
|
|
25
|
+
- What natural boundaries can you leverage?
|
|
26
|
+
|
|
27
|
+
### Working with Real-World Locations
|
|
28
|
+
|
|
29
|
+
**Advantages:**
|
|
30
|
+
- Pre-existing history and culture
|
|
31
|
+
- Geography already makes sense
|
|
32
|
+
- Reference material abundant
|
|
33
|
+
|
|
34
|
+
**Challenges:**
|
|
35
|
+
- 100% accuracy rarely equals good gameplay
|
|
36
|
+
- Must balance authenticity with playability
|
|
37
|
+
- Need to understand *essence*, not just details
|
|
38
|
+
|
|
39
|
+
**Fallout Approach:**
|
|
40
|
+
Get relative positions and surroundings correct for landmarks. Highlight evocative elements. Omit less useful details.
|
|
41
|
+
|
|
42
|
+
### Subregions
|
|
43
|
+
|
|
44
|
+
Create variety within the larger world:
|
|
45
|
+
- Different biomes
|
|
46
|
+
- Different cultures
|
|
47
|
+
- Different moods
|
|
48
|
+
|
|
49
|
+
**Skyrim's Seasonal Subregions:**
|
|
50
|
+
- The Rift: perpetual autumn
|
|
51
|
+
- Haafinagar: bleak winter
|
|
52
|
+
- Falkreath: eternal spring
|
|
53
|
+
|
|
54
|
+
No actual seasons simulated—each region *is* a season.
|
|
55
|
+
|
|
56
|
+
### Transitions Between Subregions
|
|
57
|
+
- Leave ample room to blend
|
|
58
|
+
- Use geographical features (cliffs, rivers) for sharper transitions
|
|
59
|
+
- Water boundaries make rapid shifts more believable
|
|
60
|
+
|
|
61
|
+
### Orienting Features
|
|
62
|
+
|
|
63
|
+
Include landmarks visible from anywhere:
|
|
64
|
+
- **Skyrim**: High Hrothgar at center
|
|
65
|
+
- **Fallout 4**: Boston skyline (Mass Fusion building's distinctive crown)
|
|
66
|
+
|
|
67
|
+
Two-point orientation systems work well (financial district + Trinity Tower).
|
|
68
|
+
|
|
69
|
+
### Boundaries
|
|
70
|
+
|
|
71
|
+
**Natural boundaries (preferred):**
|
|
72
|
+
- Water (oceans, lakes, rivers)
|
|
73
|
+
- Cliffs
|
|
74
|
+
- Dense forests/marshes
|
|
75
|
+
- Mountains
|
|
76
|
+
|
|
77
|
+
**Artificial boundaries (avoid when possible):**
|
|
78
|
+
- Invisible walls with "You cannot go that way"
|
|
79
|
+
- Fences that should be climbable
|
|
80
|
+
- Any barrier that draws attention
|
|
81
|
+
|
|
82
|
+
**Making Boundaries Work:**
|
|
83
|
+
- GTAV: Swim out far enough and sharks eat you
|
|
84
|
+
- Ark: Exhaustion + marine enemies before invisible wall
|
|
85
|
+
- Buffer of "boring space" before hard boundary
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Element 2: The Master List
|
|
90
|
+
|
|
91
|
+
### Purpose
|
|
92
|
+
A spreadsheet tracking every location with filterable, sortable data. Best tool for high-level analysis.
|
|
93
|
+
|
|
94
|
+
### Basic Columns
|
|
95
|
+
| Name | X | Y | Designer | Quest | Footprint |
|
|
96
|
+
|------|---|---|----------|-------|-----------|
|
|
97
|
+
| Diamond City | 5 | -6 | Jane | MQ101 | Lg |
|
|
98
|
+
| Sanctuary | -2 | 4 | Bob | MQ001 | Md |
|
|
99
|
+
|
|
100
|
+
### Coordinate System
|
|
101
|
+
Use units that match your game engine. Bethesda uses "cells" consistently across games.
|
|
102
|
+
|
|
103
|
+
### Plotting the Map
|
|
104
|
+
|
|
105
|
+
Create a scatter graph in Excel:
|
|
106
|
+
1. X/Y data from location columns
|
|
107
|
+
2. Set axis bounds to match map proportions
|
|
108
|
+
3. Use map image as plot background
|
|
109
|
+
4. Plot points overlay on map
|
|
110
|
+
|
|
111
|
+
Now you can visualize location distribution automatically.
|
|
112
|
+
|
|
113
|
+
### Footprint Radii
|
|
114
|
+
|
|
115
|
+
Track location sizes (Sm/Md/Lg) and visualize with different marker sizes on the scatter plot.
|
|
116
|
+
|
|
117
|
+
**Note:** Footprint ≠ complexity. A tiny exterior might hide a massive underground area.
|
|
118
|
+
|
|
119
|
+
### Filter Visualizations
|
|
120
|
+
|
|
121
|
+
Add columns for:
|
|
122
|
+
- Encounter type
|
|
123
|
+
- Difficulty
|
|
124
|
+
- Architectural style
|
|
125
|
+
- Quest associations
|
|
126
|
+
- Development status
|
|
127
|
+
|
|
128
|
+
Filter columns to see distribution patterns instantly.
|
|
129
|
+
|
|
130
|
+
### Quest Route Visualization
|
|
131
|
+
|
|
132
|
+
Plot quest sequences as line series:
|
|
133
|
+
1. Create list of locations in quest order
|
|
134
|
+
2. Add as new data series
|
|
135
|
+
3. Display as connected line
|
|
136
|
+
|
|
137
|
+
Instantly see the physical journey players will take.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Element 3: The Directory
|
|
142
|
+
|
|
143
|
+
### Purpose
|
|
144
|
+
Long-form documentation for individual locations. Where designers track detailed, evolving information.
|
|
145
|
+
|
|
146
|
+
### Platform
|
|
147
|
+
Wiki works best (MediaWiki recommended). Collaborative, searchable, categorizable.
|
|
148
|
+
|
|
149
|
+
### Per-Location Pages Should Include:
|
|
150
|
+
|
|
151
|
+
**Header Data:**
|
|
152
|
+
- Designer assigned
|
|
153
|
+
- Quadrant/coordinates
|
|
154
|
+
- Encounter type
|
|
155
|
+
- Difficulty rating
|
|
156
|
+
- Quest associations
|
|
157
|
+
|
|
158
|
+
**Body Sections:**
|
|
159
|
+
- Overview: What is this place?
|
|
160
|
+
- Goals: What experience should it deliver?
|
|
161
|
+
- Walkthrough: How to test/reach it
|
|
162
|
+
- Pass notes: Feedback from each iteration
|
|
163
|
+
- Known issues: Current bugs and workarounds
|
|
164
|
+
- To-do: Designer's personal task list
|
|
165
|
+
|
|
166
|
+
### Category Tags
|
|
167
|
+
Enable filtering by:
|
|
168
|
+
- Designer name
|
|
169
|
+
- Development pass status
|
|
170
|
+
- Location type
|
|
171
|
+
- Quest line
|
|
172
|
+
|
|
173
|
+
### Naming Convention
|
|
174
|
+
Simple codes: DN004 = Dungeon #4
|
|
175
|
+
Use consistently across master list and directory.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## POI Density
|
|
180
|
+
|
|
181
|
+
### Definition
|
|
182
|
+
The frequency of points of interest in a given area.
|
|
183
|
+
|
|
184
|
+
### The Spectrum
|
|
185
|
+
|
|
186
|
+
**Sparse (Just Cause):**
|
|
187
|
+
- Long drives between locations
|
|
188
|
+
- Vehicles essential
|
|
189
|
+
- World feels vast and empty (intentionally)
|
|
190
|
+
|
|
191
|
+
**Dense (GTA cities):**
|
|
192
|
+
- Compressed real-world distances
|
|
193
|
+
- Something around every corner
|
|
194
|
+
- Theme park feel
|
|
195
|
+
|
|
196
|
+
**Non-uniform (Fallout 4, Skyrim):**
|
|
197
|
+
- Urban cores dense
|
|
198
|
+
- Rural areas sparse
|
|
199
|
+
- Small pockets of density for towns
|
|
200
|
+
|
|
201
|
+
### Consider Travel Method
|
|
202
|
+
- On foot: higher density needed
|
|
203
|
+
- Vehicle: can afford sparser distribution
|
|
204
|
+
- Fast travel: density matters less for return visits
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Anchor Locations
|
|
209
|
+
|
|
210
|
+
Locations you know must exist early:
|
|
211
|
+
- Story-critical places
|
|
212
|
+
- Real-world landmarks (if applicable)
|
|
213
|
+
- Major navigation features
|
|
214
|
+
- Key narrative beats
|
|
215
|
+
|
|
216
|
+
Plot these first. Other locations fill around them.
|
|
217
|
+
|
|
218
|
+
### Wish List Locations
|
|
219
|
+
Ideas you'd like to include but aren't critical:
|
|
220
|
+
- Minor landmarks
|
|
221
|
+
- Novel encounter concepts
|
|
222
|
+
- Infrastructure (power stations, farms)
|
|
223
|
+
- World-building details
|
|
224
|
+
|
|
225
|
+
Build wish list to roughly equal target location count.
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Iterative Development Passes
|
|
230
|
+
|
|
231
|
+
### Pass Zero: Pitch
|
|
232
|
+
- Complete master list exists
|
|
233
|
+
- Directory template established
|
|
234
|
+
- No technical requirements
|
|
235
|
+
- Each location assigned to a designer
|
|
236
|
+
|
|
237
|
+
### Pass One: Layout
|
|
238
|
+
- Basic environment art in place
|
|
239
|
+
- "Graybox" equivalent with modular kits
|
|
240
|
+
- Spatial relationships established
|
|
241
|
+
|
|
242
|
+
### Pass Two: Gameplay
|
|
243
|
+
- Core gameplay systems available
|
|
244
|
+
- Enemy placement and encounters
|
|
245
|
+
- First draft of pacing and challenge
|
|
246
|
+
|
|
247
|
+
### Pass Three: Content Complete
|
|
248
|
+
- All content present (if rough)
|
|
249
|
+
- "Ship with shame" milestone
|
|
250
|
+
- Everything playable end-to-end
|
|
251
|
+
|
|
252
|
+
### Art Pass
|
|
253
|
+
- Lighting, atmospherics, clutter
|
|
254
|
+
- Visual polish
|
|
255
|
+
- Collaboration between designers and artists
|
|
256
|
+
|
|
257
|
+
### Pass Four+: Polish
|
|
258
|
+
- Bug fixes
|
|
259
|
+
- Balance tuning
|
|
260
|
+
- Additional passes for problem areas or promising locations
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## Practical Wisdom
|
|
265
|
+
|
|
266
|
+
### Documentation Lifecycle
|
|
267
|
+
> "We ship games, not documents."
|
|
268
|
+
|
|
269
|
+
Keep documentation useful but don't over-maintain. Let documents go fallow once they've served their purpose.
|
|
270
|
+
|
|
271
|
+
### Metrics and Scheduling
|
|
272
|
+
- Base estimates on average/below-average designers
|
|
273
|
+
- Plan for worst case
|
|
274
|
+
- Leave emergency time
|
|
275
|
+
|
|
276
|
+
> "No plan survives first contact with the enemy."
|
|
277
|
+
|
|
278
|
+
### Pride of Ownership
|
|
279
|
+
Try to keep designers with their locations throughout development. Ownership motivates.
|
|
280
|
+
|
|
281
|
+
### Map as Communication
|
|
282
|
+
The map unifies team perception. Print large versions. Reference constantly. It's your shared mental model.
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## Summary
|
|
287
|
+
|
|
288
|
+
1. **Map first** — Establishes shared vision
|
|
289
|
+
2. **Master list** — Tracks and visualizes high-level data
|
|
290
|
+
3. **Directory** — Captures per-location detail
|
|
291
|
+
4. **Iterate** — Plan for multiple passes
|
|
292
|
+
5. **Density matters** — Defines exploration feel
|
|
293
|
+
6. **Natural boundaries** — Beat artificial walls
|
|
294
|
+
7. **Anchor then fill** — Critical locations first, then expand
|