@jjlmoya/utils-tabletop 1.29.0 → 1.31.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/package.json +1 -1
- package/src/category/index.ts +2 -0
- package/src/entries.ts +4 -0
- package/src/tests/locale_completeness.test.ts +2 -9
- package/src/tests/tool_validation.test.ts +1 -2
- package/src/tool/rpg-settlement-exploration-map-generator/.keep +1 -0
- package/src/tool/rpg-settlement-exploration-map-generator/bibliography.astro +11 -0
- package/src/tool/rpg-settlement-exploration-map-generator/bibliography.ts +7 -0
- package/src/tool/rpg-settlement-exploration-map-generator/component.astro +66 -0
- package/src/tool/rpg-settlement-exploration-map-generator/controller.ts +231 -0
- package/src/tool/rpg-settlement-exploration-map-generator/dom-views.ts +174 -0
- package/src/tool/rpg-settlement-exploration-map-generator/editor.ts +85 -0
- package/src/tool/rpg-settlement-exploration-map-generator/entry.ts +27 -0
- package/src/tool/rpg-settlement-exploration-map-generator/evaluator.ts +8 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/de.ts +152 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/en.ts +63 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/es.ts +233 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/fr.ts +152 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/id.ts +152 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/it.ts +152 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/ja.ts +152 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/ko.ts +152 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/nl.ts +152 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/pl.ts +152 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/pt.ts +152 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/ru.ts +152 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/sv.ts +152 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/tr.ts +152 -0
- package/src/tool/rpg-settlement-exploration-map-generator/i18n/zh.ts +152 -0
- package/src/tool/rpg-settlement-exploration-map-generator/index.ts +4 -0
- package/src/tool/rpg-settlement-exploration-map-generator/logic.test.ts +65 -0
- package/src/tool/rpg-settlement-exploration-map-generator/logic.ts +288 -0
- package/src/tool/rpg-settlement-exploration-map-generator/rpg-settlement-exploration-map-generator.css +885 -0
- package/src/tool/rpg-settlement-exploration-map-generator/seo.astro +11 -0
- package/src/tool/rpg-settlement-exploration-map-generator/storage.test.ts +12 -0
- package/src/tool/rpg-settlement-exploration-map-generator/storage.ts +24 -0
- package/src/tool/rpg-settlement-exploration-map-generator/ui.ts +81 -0
- package/src/tools.ts +2 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { SettlementMapLocaleContent, SettlementMapUI } from '../entry';
|
|
4
|
+
|
|
5
|
+
const ui: SettlementMapUI = {
|
|
6
|
+
intro: 'TRPGの探索用集落マップを作成します。地形、集落規模、建築スタイルを選択し、右クリックや長押しでマス目を自由に編集できます。',
|
|
7
|
+
seedLabel: 'シード値と集落名',
|
|
8
|
+
seedHint: 'シード値によって道路や建物の配置パターンが決定論的に変化します。',
|
|
9
|
+
randomSeed: '新しい名前を生成',
|
|
10
|
+
environmentLabel: '周辺地形',
|
|
11
|
+
forest: '森林',
|
|
12
|
+
plains: '平原',
|
|
13
|
+
coast: '海岸',
|
|
14
|
+
river: '河川',
|
|
15
|
+
mountain: '山岳',
|
|
16
|
+
styleLabel: '建築スタイル',
|
|
17
|
+
styleHint: '屋根、壁面、素材、地域固有の樹木など視覚的スタイルを変更します。',
|
|
18
|
+
styleTimber: '木造',
|
|
19
|
+
styleStone: '石造',
|
|
20
|
+
styleCoastal: '沿岸風',
|
|
21
|
+
styleHighland: '高地風',
|
|
22
|
+
styleMedieval: '中世風',
|
|
23
|
+
styleEdo: '江戸風',
|
|
24
|
+
styleSahelian: 'サヘル風',
|
|
25
|
+
sizeLabel: '集落の規模',
|
|
26
|
+
hamlet: '集落',
|
|
27
|
+
hamletHint: '小さな立ち寄り先',
|
|
28
|
+
village: '村落',
|
|
29
|
+
villageHint: '地域の拠点',
|
|
30
|
+
town: '町',
|
|
31
|
+
townHint: '賑やかな中心地',
|
|
32
|
+
homesLabel: '家屋の数',
|
|
33
|
+
homesHint: '選択した規模に合わせて家屋の数を調整します。',
|
|
34
|
+
servicesLabel: '施設とランドマーク',
|
|
35
|
+
serviceListHint: 'プリセット施設を選択するかカスタムランドマークを追加します。',
|
|
36
|
+
newServicePlaceholder: '新しい施設やランドマークを追加',
|
|
37
|
+
addService: '追加',
|
|
38
|
+
removeService: '削除',
|
|
39
|
+
serviceTavern: '酒場',
|
|
40
|
+
serviceSmithy: '鍛冶屋',
|
|
41
|
+
serviceTemple: '寺院',
|
|
42
|
+
serviceMarket: '市場',
|
|
43
|
+
serviceStable: '厩舎',
|
|
44
|
+
serviceHall: '集会所',
|
|
45
|
+
generate: 'マップを再生成',
|
|
46
|
+
mapRegionLabel: '編集可能なRPG集落マップ',
|
|
47
|
+
mapSummary: '集落配置図',
|
|
48
|
+
buildings: '建物',
|
|
49
|
+
paths: '道路',
|
|
50
|
+
services: '施設',
|
|
51
|
+
terrain: '水域',
|
|
52
|
+
legendLabel: 'マップ凡例',
|
|
53
|
+
legendHome: '家屋',
|
|
54
|
+
legendService: '施設マーク',
|
|
55
|
+
legendPath: '道路',
|
|
56
|
+
legendWater: '水域',
|
|
57
|
+
legendWild: '森林',
|
|
58
|
+
editLabel: 'マップの直接編集',
|
|
59
|
+
toolSelect: '詳細確認',
|
|
60
|
+
toolBuilding: '建物',
|
|
61
|
+
toolPath: '道路',
|
|
62
|
+
toolWater: '水域',
|
|
63
|
+
toolTree: '樹木',
|
|
64
|
+
toolErase: '消去',
|
|
65
|
+
serviceSelectLabel: '新しい施設マーク',
|
|
66
|
+
clickHint: 'マス目を右クリックまたは長押しで編集できます。',
|
|
67
|
+
selectedHint: '選択中のマス目:',
|
|
68
|
+
shareLink: '共有リンクをコピー',
|
|
69
|
+
linkCopied: '共有リンクをコピーしました',
|
|
70
|
+
exportPng: 'PNG',
|
|
71
|
+
exportSvg: 'SVG',
|
|
72
|
+
exportJson: 'JSON保存',
|
|
73
|
+
importJson: 'JSON開く',
|
|
74
|
+
importError: '有効な集落マップファイルではありません。',
|
|
75
|
+
mapData: 'マップデータ',
|
|
76
|
+
readyBadge: '探索準備完了',
|
|
77
|
+
serviceNone: 'マークなし',
|
|
78
|
+
contextMenuLabel: 'マス目操作メニュー',
|
|
79
|
+
contextInspect: 'マス目を検査',
|
|
80
|
+
contextBuilding: '建物を追加',
|
|
81
|
+
contextPath: '道路を追加',
|
|
82
|
+
contextWater: '水域を追加',
|
|
83
|
+
contextTree: '樹木を追加',
|
|
84
|
+
contextErase: 'マス目を消去',
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const faq = [
|
|
88
|
+
{ question: 'このRPG集落マップジェネレーターは何を作成できますか?', answer: 'TRPGのセッションや世界構築に使用できる、再現可能な俯瞰視点の集落マップを自動生成します。家屋、道路、水域、植生、施設が論理的に配置されたマップを作成できます。' },
|
|
89
|
+
{ question: 'シード値によって配置は変わりますか?', answer: 'はい。同じシード値と設定を使用すると、道路や建物の初期配置が完全に再現されます。GMのメモ管理や他プレイヤーとの共有に最適です。' },
|
|
90
|
+
{ question: '選択できる集落の規模は?', answer: '小規模な集落、標準的な村落、大規模な町の3段階があります。規模に応じて建物密度や主要道路の構造が自動で最適化されます。' },
|
|
91
|
+
{ question: '建築スタイルを変更できますか?', answer: '中世風、江戸風、サヘル風、木造、石造、沿岸風、高地風から選択可能です。スタイルに応じて屋根や壁面、樹木の種類が変化します。' },
|
|
92
|
+
{ question: '周辺の地形環境を選べますか?', answer: '森林、平原、海岸、河川、山岳から選択できます。集落を囲む自然環境が視覚的に表現されます。' },
|
|
93
|
+
{ question: '施設はどのように配置されますか?', answer: '酒場、鍛冶屋、集会所などの施設が、中心部や外縁部などの論理的な重み付けに基づいて配置されます。' },
|
|
94
|
+
{ question: 'オリジナルの施設を追加できますか?', answer: 'はい。カスタム施設を追加でき、共有リンクやJSONデータにも保持されます。シナリオ固有の看板表示が可能です。' },
|
|
95
|
+
{ question: '生成されたマップを直接編集できますか?', answer: 'はい。マス目を右クリックまたは長押しして、建物、道路、水域、樹木を自由に配置・消去できます。' },
|
|
96
|
+
{ question: '編集時の道路や水域のつながりはどうなりますか?', answer: '道路の交差点や隣接する水域が自動的に結合され、自然で美しい形状になります。' },
|
|
97
|
+
{ question: '作成したマップを共有する方法は?', answer: '共有リンクをコピーするか、JSONファイルを保存して後から読み込むことができます。' },
|
|
98
|
+
{ question: 'どの出力フォーマットが適していますか?', answer: '画像出力にはPNG、印刷用にはSVG、完全な編集データの保存にはJSONが適しています。' },
|
|
99
|
+
];
|
|
100
|
+
|
|
101
|
+
const howTo = [
|
|
102
|
+
{ name: 'シード値を設定', text: '生成された名前を使用するか、好みの文字列を入力して初期配置を決定します。' },
|
|
103
|
+
{ name: '環境とスタイルを選択', text: '世界観に合わせて周辺地形と建築スタイルを設定します。' },
|
|
104
|
+
{ name: '規模を指定', text: '集落、村落、町のいずれかを選択し、家屋数を調整します。' },
|
|
105
|
+
{ name: '施設を設定', text: '必要な施設をオンにするか、独自の施設名を追加します。' },
|
|
106
|
+
{ name: 'マップを調整', text: 'マス目を操作して道路や建物を自由に配置・修正します。' },
|
|
107
|
+
{ name: '保存・共有', text: '共有リンクをコピーするか、PNG、SVG、JSON形式で書き出します。' },
|
|
108
|
+
];
|
|
109
|
+
|
|
110
|
+
const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
|
|
111
|
+
const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: 'RPG集落マップジェネレーター', operatingSystem: 'All', applicationCategory: 'GameApplication', description: 'TRPG用集落探索マップ作成ツール。決定論的シードとマス目直接編集に対応。' };
|
|
112
|
+
const howToSchema: WithContext<HowTo> = { '@context': 'https://schema.org', '@type': 'HowTo', name: 'RPG集落マップの作成方法', step: howTo.map((item) => ({ '@type': 'HowToStep', name: item.name, text: item.text })) };
|
|
113
|
+
|
|
114
|
+
const schemas: WithContext<SoftwareApplication | FAQPage | HowTo>[] = [faqSchema, appSchema, howToSchema];
|
|
115
|
+
|
|
116
|
+
export const content: SettlementMapLocaleContent = {
|
|
117
|
+
slug: 'rpg-settlement-exploration-map-generator',
|
|
118
|
+
title: 'RPG集落探索マップジェネレーター',
|
|
119
|
+
description: 'TRPGの村や町のマップを自動生成。7つの建築スタイル、5つの周辺環境、マス目編集機能、JSON保存に対応。',
|
|
120
|
+
ui,
|
|
121
|
+
seo: [
|
|
122
|
+
{ type: 'title', text: 'TRPGセッションのための生きた集落マップを作成', level: 2 },
|
|
123
|
+
{ type: 'paragraph', html: '冒険者が自由に探索できる村や町の詳細な俯瞰マップを短時間で自動生成します。単なる建物の羅列ではなく、家屋、詳細な道路網、広場、水域、緑地、そして重要な施設が有機的に結合した真の探索空間を作り出します。セッション中の突然の立ち寄り先や、物語の舞台となる拠点村、派閥がひしめく大規模な町のマップ作成に最適であり、ゲームマスターのシナリオ準備時間を大幅に削減できます。' },
|
|
124
|
+
{ type: 'title', text: '再現性を保つ決定論的シード', level: 2 },
|
|
125
|
+
{ type: 'paragraph', html: 'すべてのマップは決定論的なシード値に基づいて精密に生成されます。同じシード値と設定パラメータを入力することで、いつでも全く同じ初期配置を完全に再現・復元できます。GMの事前準備メモや、後日のセッション再開、他プレイヤーへの地図データの共有が極めてスムーズに行えます。' },
|
|
126
|
+
{ type: 'list', items: ['シード値ごとに異なる固有の素晴らしい街並みと詳細な道路網を自動形成。', 'セッションメモにシード値を記録しておくだけで将来いつでも完全再現可能。', '集落としての自然な都市計画ロジックと空間配置バランスを維持。', '他のゲームマスターやプレイヤーとの手軽な共有とコラボレーションが簡単。'] },
|
|
127
|
+
{ type: 'title', text: '規模に応じた都市構造と家屋調整', level: 2 },
|
|
128
|
+
{ type: 'paragraph', html: '集落、村落、町の3つの規模から選択できます。単なる拡大縮小ではなく、規模に応じて建物密度や主要道路の接続性、配置される施設のバランスが自然に変化します。' },
|
|
129
|
+
{ type: 'table', headers: ['規模', '家屋数', '特徴', '主な用途'], rows: [['集落', '3-18軒', '小規模で静かな佇まい', '街道沿いの休憩所や隠れ里'], ['村落', '4-28軒', '地域の拠点となる標準的な規模', '冒険者のホームベースやクエスト拠点'], ['町', '6-42軒', '密集した賑やかな都市構造', '貿易拠点や都市型探索・調査の舞台']] },
|
|
130
|
+
{ type: 'title', text: '7つの多彩な建築スタイルと地域色', level: 2 },
|
|
131
|
+
{ type: 'paragraph', html: '中世風、江戸風、サヘル風、木造、石造、沿岸風、高地風から選択可能です。各スタイルに応じて建物の屋根、壁面、素材感が変化し、周辺の樹木もヤシの木や針葉樹など地域に合わせた視覚的表現になります。雰囲気溢れるマップを即座に作成可能です。' },
|
|
132
|
+
{ type: 'list', items: ['ファンタジー定番の中世風・木造スタイル。', '山岳地や要塞に映える石造・高地風スタイル。', '海辺の町に適した明るい沿岸風スタイル。', '和風セッションや時代劇に最適な江戸風スタイル。', '乾燥地帯や砂漠のオアシス向けのサヘル風スタイル。'] },
|
|
133
|
+
{ type: 'title', text: '説得力のある施設配置とカスタム表示', level: 2 },
|
|
134
|
+
{ type: 'paragraph', html: '酒場、鍛冶屋、寺院、市場、厩舎、集会所などの施設が、中心部や外縁部などの論理的な重み付けに基づいて自動配置されます。さらにオリジナルの施設名を追加でき、マップ上に看板として分かりやすく大きな文字で表示されます。' },
|
|
135
|
+
{ type: 'title', text: '周辺地形との調和', level: 2 },
|
|
136
|
+
{ type: 'paragraph', html: '森林、平原、海岸、河川、山岳から周辺環境を選択可能です。集落が自然環境の中にどのように溶け込んでいるかを視覚的に分かりやすく表現し、プレイヤーの没入感を高めます。' },
|
|
137
|
+
{ type: 'title', text: '直感的なマス目編集機能', level: 2 },
|
|
138
|
+
{ type: 'paragraph', html: '生成されたマップはマス目単位で右クリックや長押し操作により自由に編集できます。建物や道路、水域、樹木をその場で追加・修正・消去でき、手動での調整結果もマップデータに保存されます。' },
|
|
139
|
+
{ type: 'list', items: ['シナリオに必要な特定の建物や見張り塔を追加。', '外部ツールを使わずにブラウザ上で直接地図を微調整。', '手動の編集結果を集落データとしてそのまま保存。', 'PCのマウス操作とスマホ・タブレットのタッチ操作に完全対応。'] },
|
|
140
|
+
{ type: 'title', text: '道路と水域の自動結合システム', level: 2 },
|
|
141
|
+
{ type: 'paragraph', html: '道路同士が交差する部分は自動的に綺麗な交差点になり、隣接する水域マスはスムーズに繋がって川や池を形成します。違和感のない統一感あるマップを描画します。' },
|
|
142
|
+
{ type: 'title', text: 'マップの保存と共有', level: 2 },
|
|
143
|
+
{ type: 'paragraph', html: '共有リンクの発行やJSONファイル形式でのデータ保存が可能です。作成・編集した集落をいつでも再現・再編集でき、他のセッションへ引き継ぐことができます。' },
|
|
144
|
+
{ type: 'title', text: '用途に合わせた書き出しフォーマット', level: 2 },
|
|
145
|
+
{ type: 'table', headers: ['形式', '用途', '保持される内容'], rows: [['PNG', 'オンセ用VTT画像・セッションメモ', 'マップの即時表示可能な高解像度画像データ'], ['SVG', '印刷・ベクター編集用', '拡大しても画質が全く崩れない美しいベクターデータ'], ['JSON', '再編集用保存・バックアップ', 'すべてのマス目と詳細な設定パラメータデータ']] },
|
|
146
|
+
{ type: 'tip', title: 'おすすめのマップ作成フロー', html: 'まずシードとスタイルを決めて基本マップを作成し、必要な施設を追加した後にマス目編集で細部を調整するのが最も効率的でスムーズです。' },
|
|
147
|
+
],
|
|
148
|
+
faq,
|
|
149
|
+
bibliography,
|
|
150
|
+
howTo,
|
|
151
|
+
schemas,
|
|
152
|
+
};
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { SettlementMapLocaleContent, SettlementMapUI } from '../entry';
|
|
4
|
+
|
|
5
|
+
const ui: SettlementMapUI = {
|
|
6
|
+
intro: 'TRPG 탐험용 마을 지도를 생성합니다. 지형, 마을 규모, 건축 양식을 선택하고 우클릭이나 길게 누르기로 타일을 직접 편집할 수 있습니다.',
|
|
7
|
+
seedLabel: '시드 값 및 마을 이름',
|
|
8
|
+
seedHint: '시드 값에 따라 도로와 건물 배치 패턴이 결정론적으로 생성됩니다.',
|
|
9
|
+
randomSeed: '새로운 이름 생성',
|
|
10
|
+
environmentLabel: '주변 지형',
|
|
11
|
+
forest: '숲',
|
|
12
|
+
plains: '평원',
|
|
13
|
+
coast: '해안',
|
|
14
|
+
river: '강',
|
|
15
|
+
mountain: '산악',
|
|
16
|
+
styleLabel: '건축 양식',
|
|
17
|
+
styleHint: '지붕, 벽면, 재질 및 지역 식생 등 시각적 양식을 변경합니다.',
|
|
18
|
+
styleTimber: '목조',
|
|
19
|
+
styleStone: '석조',
|
|
20
|
+
styleCoastal: '해안',
|
|
21
|
+
styleHighland: '고원',
|
|
22
|
+
styleMedieval: '중세',
|
|
23
|
+
styleEdo: '에도',
|
|
24
|
+
styleSahelian: '사헬',
|
|
25
|
+
sizeLabel: '마을 규모',
|
|
26
|
+
hamlet: '작은 마을',
|
|
27
|
+
hamletHint: '아담한 쉼터',
|
|
28
|
+
village: '마을',
|
|
29
|
+
villageHint: '지역 거점',
|
|
30
|
+
town: '소도시',
|
|
31
|
+
townHint: '번화한 중심지',
|
|
32
|
+
homesLabel: '주택 수',
|
|
33
|
+
homesHint: '선택한 규모에 맞추어 주택 수를 조절합니다.',
|
|
34
|
+
servicesLabel: '시설 및 랜드마크',
|
|
35
|
+
serviceListHint: '기본 시설을 선택하거나 커스텀 장소를 추가하세요.',
|
|
36
|
+
newServicePlaceholder: '새 시설 또는 장소 이름 입력',
|
|
37
|
+
addService: '추가',
|
|
38
|
+
removeService: '삭제',
|
|
39
|
+
serviceTavern: '주점',
|
|
40
|
+
serviceSmithy: '대장간',
|
|
41
|
+
serviceTemple: '신전',
|
|
42
|
+
serviceMarket: '시장',
|
|
43
|
+
serviceStable: '마구간',
|
|
44
|
+
serviceHall: '회관',
|
|
45
|
+
generate: '지도 재생성',
|
|
46
|
+
mapRegionLabel: '편집 가능한 RPG 마을 지도',
|
|
47
|
+
mapSummary: '마을 배치도',
|
|
48
|
+
buildings: '건물',
|
|
49
|
+
paths: '도로',
|
|
50
|
+
services: '시설',
|
|
51
|
+
terrain: '수역',
|
|
52
|
+
legendLabel: '범례',
|
|
53
|
+
legendHome: '주택',
|
|
54
|
+
legendService: '시설 마크',
|
|
55
|
+
legendPath: '도로',
|
|
56
|
+
legendWater: '수역',
|
|
57
|
+
legendWild: '숲',
|
|
58
|
+
editLabel: '타일 직접 편집',
|
|
59
|
+
toolSelect: '정보 확인',
|
|
60
|
+
toolBuilding: '건물',
|
|
61
|
+
toolPath: '도로',
|
|
62
|
+
toolWater: '수역',
|
|
63
|
+
toolTree: '나무',
|
|
64
|
+
toolErase: '지우기',
|
|
65
|
+
serviceSelectLabel: '새 시설 마크',
|
|
66
|
+
clickHint: '타일을 우클릭하거나 길게 눌러 편집할 수 있습니다.',
|
|
67
|
+
selectedHint: '선택한 타일:',
|
|
68
|
+
shareLink: '공유 링크 복사',
|
|
69
|
+
linkCopied: '공유 링크가 복사되었습니다',
|
|
70
|
+
exportPng: 'PNG',
|
|
71
|
+
exportSvg: 'SVG',
|
|
72
|
+
exportJson: 'JSON 저장',
|
|
73
|
+
importJson: 'JSON 열기',
|
|
74
|
+
importError: '유효한 마을 지도 파일이 아닙니다.',
|
|
75
|
+
mapData: '지도 데이터',
|
|
76
|
+
readyBadge: '탐험 준비 완료',
|
|
77
|
+
serviceNone: '마크 없음',
|
|
78
|
+
contextMenuLabel: '타일 편집 메뉴',
|
|
79
|
+
contextInspect: '타일 검사',
|
|
80
|
+
contextBuilding: '건물 추가',
|
|
81
|
+
contextPath: '도로 추가',
|
|
82
|
+
contextWater: '수역 추가',
|
|
83
|
+
contextTree: '나무 추가',
|
|
84
|
+
contextErase: '타일 지우기',
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const faq = [
|
|
88
|
+
{ question: '이 RPG 마을 탐험 지도 생성기로 무엇을 만들 수 있나요?', answer: 'TRPG 세션 및 세계관 구축에 즉시 사용할 수 있는 재현 가능한 마을 탐험 지도를 생성합니다. 건물, 도로, 물, 나무, 시설이 논리적으로 배치된 지도를 자동으로 작성합니다.' },
|
|
89
|
+
{ question: '시드 값에 따라 배치가 달라지나요?', answer: '네. 동일한 시드 값과 설정을 사용하면 도로와 건물의 초기 배치가 완벽하게 복원됩니다. GM의 사전 준비 노트 작성이나 타 플레이어와의 공유에 매우 유용합니다.' },
|
|
90
|
+
{ question: '선택 가능한 마을 규모는 어떻게 되나요?', answer: '작은 마을, 표준 마을, 소도시의 3단계 규모 중 선택할 수 있습니다. 규모에 맞추어 주택 밀도와 도로 구조가 자동 조절됩니다.' },
|
|
91
|
+
{ question: '건축 양식을 변경할 수 있나요?', answer: '중세, 에도, 사헬, 목조, 석조, 해안, 고원 등 7가지 양식을 제공합니다. 양식에 따라 지붕, 벽면, 나무 형태가 다채롭게 변합니다.' },
|
|
92
|
+
{ question: '주변 지형 환경을 고를 수 있나요?', answer: '숲, 평원, 해안, 강, 산악 5가지 환경을 제공합니다. 마을을 둘러싼 자연환경을 지형 타일로 조화롭게 그려냅니다.' },
|
|
93
|
+
{ question: '시설은 어떻게 배치되나요?', answer: '주점, 대장간, 회관 등의 시설이 도로망과 중심지 구조에 따라 논리적인 가중치로 자동 배치됩니다.' },
|
|
94
|
+
{ question: '커스텀 시설을 직접 추가할 수 있나요?', answer: '네. 나만의 장소 이름을 추가하면 지도 상단 간판으로 또렷하게 표시되며 공유 링크 및 JSON에도 저장됩니다.' },
|
|
95
|
+
{ question: '생성된 지도를 직접 편집할 수 있나요?', answer: '네. 타일을 우클릭하거나 길게 눌러 건물, 도로, 수역, 나무를 자유롭게 그리고 지울 수 있습니다.' },
|
|
96
|
+
{ question: '편집 시 도로나 물의 연결은 어떻게 되나요?', answer: '교차로와 수역 타일이 자동으로 깔끔하게 연결되어 자연스러운 형태를 유지합니다.' },
|
|
97
|
+
{ question: '완성된 지도를 저장하고 공유하는 방법은?', answer: '공유 링크를 복사하거나 JSON 파일로 저장하여 언제든 재편집할 수 있습니다.' },
|
|
98
|
+
{ question: '어떤 내보내기 형식이 적합한가요?', answer: 'VTT 사용에는 PNG, 인쇄에는 SVG, 데이터 재편집 및 보관에는 JSON이 적합합니다.' },
|
|
99
|
+
];
|
|
100
|
+
|
|
101
|
+
const howTo = [
|
|
102
|
+
{ name: '시드 값 설정', text: '생성된 이름을 사용하거나 임의의 단어를 입력하여 초기 배치를 결정합니다.' },
|
|
103
|
+
{ name: '지형 및 양식 선택', text: '세션 세계관에 어울리는 주변 지형과 건축 양식을 지정합니다.' },
|
|
104
|
+
{ name: '마을 규모 선택', text: '작은 마을, 마을, 소도시 중 원하는 규모를 선택하고 주택 수를 조정합니다.' },
|
|
105
|
+
{ name: '시설 설정', text: '필요한 시설을 켜거나 커스텀 장소 이름을 추가합니다.' },
|
|
106
|
+
{ name: '타일 세부 편집', text: '타일을 직접 조작하여 도로나 건물을 원하는 대로 수정합니다.' },
|
|
107
|
+
{ name: '저장 및 공유', text: '공유 링크를 복사하거나 PNG, SVG, JSON 형식으로 내보냅니다.' },
|
|
108
|
+
];
|
|
109
|
+
|
|
110
|
+
const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
|
|
111
|
+
const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: 'RPG 마을 탐험 지도 생성기', operatingSystem: 'All', applicationCategory: 'GameApplication', description: 'TRPG용 마을 탐험 지도 생성 도구. 결정론적 시드 및 타일 직접 편집 지원.' };
|
|
112
|
+
const howToSchema: WithContext<HowTo> = { '@context': 'https://schema.org', '@type': 'HowTo', name: 'RPG 마을 지도 만드는 방법', step: howTo.map((item) => ({ '@type': 'HowToStep', name: item.name, text: item.text })) };
|
|
113
|
+
|
|
114
|
+
const schemas: WithContext<SoftwareApplication | FAQPage | HowTo>[] = [faqSchema, appSchema, howToSchema];
|
|
115
|
+
|
|
116
|
+
export const content: SettlementMapLocaleContent = {
|
|
117
|
+
slug: 'rpg-settlement-exploration-map-generator',
|
|
118
|
+
title: 'RPG 마을 탐험 지도 생성기',
|
|
119
|
+
description: 'TRPG 세션을 위한 마을 지도를 자동 생성합니다. 7가지 건축 양식, 5가지 주변 환경 및 타일 직접 편집 지원.',
|
|
120
|
+
ui,
|
|
121
|
+
seo: [
|
|
122
|
+
{ type: 'title', text: 'TRPG 세션을 위한 생생한 마을 지도 생성', level: 2 },
|
|
123
|
+
{ type: 'paragraph', html: '플레이어가 자유롭게 탐험할 수 있는 생생한 마을 지도를 빠르고 간편하게 생성합니다. 단순한 주택의 나열이 아니라, 상세한 도로망, 중앙 광장, 수역, 녹지, 그리고 중요한 핵심 시설들이 유기적으로 결합된 진정한 탐험 공간을 선사합니다. 세션 중 갑작스럽게 방문하는 마을이나 이야기의 중심이 되는 거점, 세력들이 모여 있는 대도시 지도를 게임마스터가 준비 시간 단축과 함께 완벽하게 구현할 수 있습니다.' },
|
|
124
|
+
{ type: 'title', text: '재현성을 보장하는 결정론적 시드', level: 2 },
|
|
125
|
+
{ type: 'paragraph', html: '모든 지도는 결정론적 시드 값을 기반으로 정밀하게 생성됩니다. 동일한 시드 값과 설정을 입력하면 언제든 동일한 초기 배치를 완벽하게 복원할 수 있습니다. 단어 기반의 시드는 도로망과 건물 배치, 시설 위치를 정확하게 결정하므로, 던전 마스터가 사전 준비한 노트나 지난 세션의 지도를 손쉽게 불러오고 공유할 수 있습니다.' },
|
|
126
|
+
{ type: 'list', items: ['시드마다 다른 고유한 도로 및 건물 패턴 자동 생성.', '세션 노트용으로 완벽한 재현 및 복원 가능.', '자연스러운 마을 레이아웃과 공간 구조 유지.', '타 플레이어 및 게임마스터와 정확한 지도 데이터 공유 가능.'] },
|
|
127
|
+
{ type: 'title', text: '마을 규모에 맞춘 레이아웃', level: 2 },
|
|
128
|
+
{ type: 'paragraph', html: '작은 마을, 마을, 소도시 중에서 선택할 수 있습니다. 단순한 이미지 확장이 아니라 규모에 맞춘 레이아웃 알고리즘이 적용되어 주택 밀도와 주요 도로의 연결성이 자연스럽게 달라집니다.' },
|
|
129
|
+
{ type: 'table', headers: ['규모', '주택 수', '특징', '주요 용도'], rows: [['작은 마을', '3~18채', '작고 아담한 마을', '여정 중 휴식처 및 국경 쉼터'], ['마을', '4~28채', '지역의 표준 거점', '모험가들의 기본 거점 및 모험 시작점'], ['소도시', '6~42채', '번화하고 복잡함', '무역 중심지 및 조사/탐정 세션 무대']] },
|
|
130
|
+
{ type: 'title', text: '7가지 다양한 건축 양식', level: 2 },
|
|
131
|
+
{ type: 'paragraph', html: '중세, 에도, 사헬, 목조, 석조, 해안, 고원 양식 중 자유롭게 선택하세요. 건물 지붕과 벽면 재질뿐만 아니라 야자수나 침엽수 등 지역에 맞는 시각적 식생도 함께 변경되어 분위기 있는 지도를 즉시 완성합니다.' },
|
|
132
|
+
{ type: 'list', items: ['클래식 판타지에 어울리는 중세 및 목조 양식.', '산악 지역을 위한 석조 및 고원 양식.', '해안가에 어울리는 밝은 해안 양식.', '동양적 분위기의 에도 양식.', '건조 지역을 위한 사헬 양식.'] },
|
|
133
|
+
{ type: 'title', text: '지능적인 시설 배치 및 간판', level: 2 },
|
|
134
|
+
{ type: 'paragraph', html: '주점, 대장간, 회관, 신전, 시장 등의 시설이 도로망과 중심지에 맞추어 논리적인 가중치에 따라 자연스럽게 배치됩니다. 직접 추가한 커스텀 장소 이름도 지도 상단 간판으로 또렷하고 크게 표시됩니다.' },
|
|
135
|
+
{ type: 'title', text: '조화로운 주변 지형', level: 2 },
|
|
136
|
+
{ type: 'paragraph', html: '숲, 평원, 해안, 강, 산악 지형을 선택할 수 있습니다. 마을이 속한 자연환경을 지형 타일로 자연스럽게 감싸주어 플레이어의 몰입도를 높여줍니다.' },
|
|
137
|
+
{ type: 'title', text: '직관적인 타일 편집 기능', level: 2 },
|
|
138
|
+
{ type: 'paragraph', html: '우클릭이나 길게 누르기로 타일을 직접 추가하고 수정하세요. 건물, 도로, 물, 나무 타일을 브라우저 상에서 자유롭게 그리고 지울 수 있으며 편집 상태가 지도 데이터에 유지됩니다.' },
|
|
139
|
+
{ type: 'list', items: ['시나리오용 특정 건물이나 감시탑 추가.', '외부 프로그램 없이 즉시 세부 조정.', '지도 상태에 편집 결과 그대로 저장.', '데스크톱 마우스 및 모바일 터치 완벽 지원.'] },
|
|
140
|
+
{ type: 'title', text: '자동 연결되는 도로와 수역', level: 2 },
|
|
141
|
+
{ type: 'paragraph', html: '도로 교차로와 수역 타일이 자동으로 깔끔하고 매끄럽게 이어져 통일감 있고 완성도 높은 지도를 만들어냅니다.' },
|
|
142
|
+
{ type: 'title', text: '지도 저장 및 공유', level: 2 },
|
|
143
|
+
{ type: 'paragraph', html: '공유 링크나 JSON 파일로 완성된 지도를 보관하고 다음 세션으로 편리하게 전달하고 재편집할 수 있습니다.' },
|
|
144
|
+
{ type: 'title', text: '용도별 내보내기 형식', level: 2 },
|
|
145
|
+
{ type: 'table', headers: ['형식', '용도', '저장 내용'], rows: [['PNG', '온라인 세션 및 VTT용', '즉시 사용 가능한 고화질 지도 이미지'], ['SVG', '인쇄 및 벡터 편집용', '확대해도 선명한 벡터 그래픽 데이터'], ['JSON', '재편집 및 백업용', '전체 타일 및 세부 설정 데이터']] },
|
|
146
|
+
{ type: 'tip', title: '추천 사용법', html: '기본 지도 생성 후 필요한 시설을 추가하고 타일 편집으로 마무리를 지으면 가장 효율적이고 빠르게 완성할 수 있습니다.' },
|
|
147
|
+
],
|
|
148
|
+
faq,
|
|
149
|
+
bibliography,
|
|
150
|
+
howTo,
|
|
151
|
+
schemas,
|
|
152
|
+
};
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { SettlementMapLocaleContent, SettlementMapUI } from '../entry';
|
|
4
|
+
|
|
5
|
+
const ui: SettlementMapUI = {
|
|
6
|
+
intro: 'Genereer en bewerk plattegronden van nederzettingen voor RPG-verkenningssessies. Kies landschap, omvang, bouwstijl en bewerk vakjes via rechtermuisklik of lang drukken.',
|
|
7
|
+
seedLabel: 'Startwaarde en Nederzettingsnaam',
|
|
8
|
+
seedHint: 'Bepaalt het willekeurige maar reproduceerbare patroon van wegen en gebouwen.',
|
|
9
|
+
randomSeed: 'Nieuwe Naam Genereren',
|
|
10
|
+
environmentLabel: 'Omgeving',
|
|
11
|
+
forest: 'Bos',
|
|
12
|
+
plains: 'Vlakte',
|
|
13
|
+
coast: 'Kust',
|
|
14
|
+
river: 'Rivier',
|
|
15
|
+
mountain: 'Bergen',
|
|
16
|
+
styleLabel: 'Bouwstijl',
|
|
17
|
+
styleHint: 'Verandert daken, muren, materialen en beplanting van de nederzetting.',
|
|
18
|
+
styleTimber: 'Vakwerk',
|
|
19
|
+
styleStone: 'Steen',
|
|
20
|
+
styleCoastal: 'Kuststijl',
|
|
21
|
+
styleHighland: 'Hoogland',
|
|
22
|
+
styleMedieval: 'Middeleeuws',
|
|
23
|
+
styleEdo: 'Edo',
|
|
24
|
+
styleSahelian: 'Sahel',
|
|
25
|
+
sizeLabel: 'Nederzettingsomvang',
|
|
26
|
+
hamlet: 'Gehucht',
|
|
27
|
+
hamletHint: 'Kleine tussenstop',
|
|
28
|
+
village: 'Dorp',
|
|
29
|
+
villageHint: 'Lokaal centrum',
|
|
30
|
+
town: 'Stadje',
|
|
31
|
+
townHint: 'Druk knooppunt',
|
|
32
|
+
homesLabel: 'Aantal Woningen',
|
|
33
|
+
homesHint: 'Past het aantal woningen aan binnen de gekozen omvang.',
|
|
34
|
+
servicesLabel: 'Voorzieningen en Herkenningspunten',
|
|
35
|
+
serviceListHint: 'Kies standaard voorzieningen of voeg eigen locaties toe.',
|
|
36
|
+
newServicePlaceholder: 'Voeg nieuwe locatie toe',
|
|
37
|
+
addService: 'Toevoegen',
|
|
38
|
+
removeService: 'Verwijderen',
|
|
39
|
+
serviceTavern: 'Taverne',
|
|
40
|
+
serviceSmithy: 'Smederij',
|
|
41
|
+
serviceTemple: 'Tempel',
|
|
42
|
+
serviceMarket: 'Markt',
|
|
43
|
+
serviceStable: 'Stal',
|
|
44
|
+
serviceHall: 'Raadhuis',
|
|
45
|
+
generate: 'Kaart Opnieuw Genereren',
|
|
46
|
+
mapRegionLabel: 'Bewerkbare RPG Nederzettingskaart',
|
|
47
|
+
mapSummary: 'Plattegrond van de Nederzetting',
|
|
48
|
+
buildings: 'Gebouwen',
|
|
49
|
+
paths: 'Wegen',
|
|
50
|
+
services: 'Voorzieningen',
|
|
51
|
+
terrain: 'Water',
|
|
52
|
+
legendLabel: 'Legenda',
|
|
53
|
+
legendHome: 'Woning',
|
|
54
|
+
legendService: 'Voorziening',
|
|
55
|
+
legendPath: 'Weg',
|
|
56
|
+
legendWater: 'Water',
|
|
57
|
+
legendWild: 'Bos',
|
|
58
|
+
editLabel: 'Vakjes Rechtstreeks Bewerken',
|
|
59
|
+
toolSelect: 'Inspecteren',
|
|
60
|
+
toolBuilding: 'Gebouw',
|
|
61
|
+
toolPath: 'Weg',
|
|
62
|
+
toolWater: 'Water',
|
|
63
|
+
toolTree: 'Boom',
|
|
64
|
+
toolErase: 'Wissen',
|
|
65
|
+
serviceSelectLabel: 'Nieuwe Voorzieningsmarkering',
|
|
66
|
+
clickHint: 'Klik met de rechtermuisknop of houd lang ingedrukt op een vakje om het contextmenu te openen.',
|
|
67
|
+
selectedHint: 'Geselecteerd vakje:',
|
|
68
|
+
shareLink: 'Koppelingslink Kopiëren',
|
|
69
|
+
linkCopied: 'Link gekopieerd naar klembord',
|
|
70
|
+
exportPng: 'PNG',
|
|
71
|
+
exportSvg: 'SVG',
|
|
72
|
+
exportJson: 'JSON Opslaan',
|
|
73
|
+
importJson: 'JSON Openen',
|
|
74
|
+
importError: 'Ongeldig bestand voor nederzettingskaart.',
|
|
75
|
+
mapData: 'Kaartgegevens',
|
|
76
|
+
readyBadge: 'Klaar voor Verkenning',
|
|
77
|
+
serviceNone: 'Geen Markering',
|
|
78
|
+
contextMenuLabel: 'Vakjesmenu',
|
|
79
|
+
contextInspect: 'Vakje Inspecteren',
|
|
80
|
+
contextBuilding: 'Gebouw Toevoegen',
|
|
81
|
+
contextPath: 'Weg Toevoegen',
|
|
82
|
+
contextWater: 'Water Toevoegen',
|
|
83
|
+
contextTree: 'Boom Toevoegen',
|
|
84
|
+
contextErase: 'Vakje Wissen',
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const faq = [
|
|
88
|
+
{ question: 'Wat kan ik maken met deze RPG Nederzetting en Verkenningskaart Generator?', answer: 'Je kunt gedetailleerde, overzichtelijke plattegronden van dorpen, gehuchten en stadjes genereren voor je tabletop RPG-sessies en wereldopbouw. Gebouwen, wegen, water en beplanting worden automatisch logisch ingedeeld.' },
|
|
89
|
+
{ question: 'Verandert de indeling als ik de startwaarde wijzig?', answer: 'Ja. Dezelfde startwaarde en instellingen leveren exact dezelfde beginkaart op. Dit maakt het eenvoudig om kaarten te bewaren in je voorbereidingsnotities en te delen met je spelers.' },
|
|
90
|
+
{ question: 'Welke omvangen van nederzettingen zijn beschikbaar?', answer: 'Je kunt kiezen uit drie omvangen: gehucht, dorp en stadje. De dichtheid van de huizen, de hoofdwegen en de verdeling van voorzieningen schalen automatisch mee.' },
|
|
91
|
+
{ question: 'Kan ik de architectuur en stijl aanpassen?', answer: 'Ja, er zijn 7 bouwstijlen: Middeleeuws, Edo, Sahel, Vakwerk, Steen, Kuststijl en Hoogland. De stijl past de dakbedekking, muurstructuur en beplanting aan.' },
|
|
92
|
+
{ question: 'Zijn er verschillende landschapstypes beschikbaar?', answer: 'Je kunt de nederzetting plaatsen in bos, vlakte, kust, rivier of berggebied voor een natuurlijke inpassing in je wereldkaart.' },
|
|
93
|
+
{ question: 'Hoe worden voorzieningen zoals tavernes geplaatst?', answer: 'Voorzieningen zoals tavernes, smederijen en markten worden op logische posities in het centrum of aan de rand van het dorp geplaatst.' },
|
|
94
|
+
{ question: 'Kan ik mijn eigen specifieke herkenningspunten toevoegen?', answer: 'Ja, je kunt aangepaste locaties toevoegen die als duidelijke borden boven de gebouwen verschijnen en bewaard blijven in de kaartstatus.' },
|
|
95
|
+
{ question: 'Kan ik de gegenereerde kaart handmatig bewerken?', answer: 'Absoluut. Via het contextmenu op elk vakje kun je gebouwen, wegen, waterpartijen en bomen direct toevoegen of wissen.' },
|
|
96
|
+
{ question: 'Hoe werken de verbindingen van wegen en water bij bewerking?', answer: 'Kruispunten van wegen en aangrenzende watervakjes sluiten automatisch naadloos op elkaar aan zonder slordige randen.' },
|
|
97
|
+
{ question: 'Hoe sla ik mijn kaart op of deel ik deze?', answer: 'Je kunt een directe deelbare link kopiëren of het volledige kaartbestand als JSON opslaan om het later weer in te laden.' },
|
|
98
|
+
{ question: 'Welke exportformaten worden ondersteund?', answer: 'PNG voor snel gebruik in VTT-platforms, SVG voor scherpe afdrukken en vectorbewerking, en JSON voor het bewaren van alle bewerkbare gegevens.' },
|
|
99
|
+
];
|
|
100
|
+
|
|
101
|
+
const howTo = [
|
|
102
|
+
{ name: 'Kies een startwaarde', text: 'Gebruik de willekeurige naam of voer een eigen woord in om het basispatroon vast te leggen.' },
|
|
103
|
+
{ name: 'Selecteer landschap en bouwstijl', text: 'Pas de omgeving en de architectuur aan de sfeer van je campagne aan.' },
|
|
104
|
+
{ name: 'Stel de omvang in', text: 'Kies tussen gehucht, dorp of stadje en pas eventueel het aantal woningen aan.' },
|
|
105
|
+
{ name: 'Voeg voorzieningen toe', text: 'Schakel standaardgebouwen in of voeg aangepaste herkenningspunten toe.' },
|
|
106
|
+
{ name: 'Bewerk vakje voor vakje', text: 'Gebruik het contextmenu om wegen, gebouwen of water direct toe te voegen of aan te passen.' },
|
|
107
|
+
{ name: 'Exporteer en deel', text: 'Kopieer de link of sla de kaart op als PNG, SVG of JSON.' },
|
|
108
|
+
];
|
|
109
|
+
|
|
110
|
+
const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
|
|
111
|
+
const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: 'RPG Nederzetting en Verkenningskaart Generator', operatingSystem: 'All', applicationCategory: 'GameApplication', description: 'Webgebaseerde RPG nederzettingskaart generator met vaste startwaarden en vakjesbewerking.' };
|
|
112
|
+
const howToSchema: WithContext<HowTo> = { '@context': 'https://schema.org', '@type': 'HowTo', name: 'Hoe maak je een RPG nederzettingskaart', step: howTo.map((item) => ({ '@type': 'HowToStep', name: item.name, text: item.text })) };
|
|
113
|
+
|
|
114
|
+
const schemas: WithContext<SoftwareApplication | FAQPage | HowTo>[] = [faqSchema, appSchema, howToSchema];
|
|
115
|
+
|
|
116
|
+
export const content: SettlementMapLocaleContent = {
|
|
117
|
+
slug: 'rpg-nederzetting-en-verkenningskaart-generator',
|
|
118
|
+
title: 'RPG Nederzetting en Verkenningskaart Generator',
|
|
119
|
+
description: 'Genereer RPG nederzettingskaarten voor dorpen en stadjes met vaste startwaarden, 7 bouwstijlen en vakjesbewerking.',
|
|
120
|
+
ui,
|
|
121
|
+
seo: [
|
|
122
|
+
{ type: 'title', text: 'Maak Levendige Nederzettingskaarten voor je RPG', level: 2 },
|
|
123
|
+
{ type: 'paragraph', html: 'Ontwerp complete dorpen, gehuchten en stadjes met logische wegen, pleinen en voorzieningen voor je avonturen en campagnes. Deze kaartgenerator in de browser bouwt overzichtelijke plattegronden van bovenaf waarin huizen, wegennetten, centrale pleinen, waterpartijen en beplanting samenkomen tot een geloofwaardige en aantrekkelijke locatie. Ideaal voor een snelle tussenstop onderweg, een uitvalsbasis voor avonturiers, een vestiging van een gilde of een regionaal centrum vol met rivaliserende fracties en geheimen. Zo creëer je in een handomdraai een inspirerende omgeving voor al je spelers aan tafel.' },
|
|
124
|
+
{ type: 'title', text: 'Vaste Startwaarden voor Reproduceerbaarheid', level: 2 },
|
|
125
|
+
{ type: 'paragraph', html: 'Elke gegenereerde nederzetting is gebaseerd op een onthoudbare startwaarde. Dezelfde startwaarde en instellingen bouwen altijd exact dezelfde beginkaart op. Dit is perfect voor spelleiders die hun aantekeningen willen bewaren voor toekomstige sessies of kaarten willen delen met hun spelers zonder dat er verschillen ontstaan in de basisstructuur van het dorp. Met een nieuwe startwaarde ontdek je meteen een vers en verrassend straatpatroon vol met nieuwe mogelijkheden voor je avonturen.' },
|
|
126
|
+
{ type: 'list', items: ['Nieuwe startwaarde geeft een uniek patroon binnen de gekozen omvang.', 'Ideaal voor aantekeningen van de spelleider en latere vervolgsessies.', 'Behoudt stedenbouwkundige logica en ruimtelijke verhoudingen.', 'Makkelijk te delen met spelers als vast uitgangspunt voor de campagne.'] },
|
|
127
|
+
{ type: 'title', text: 'Van Gehucht tot Druk Stadje', level: 2 },
|
|
128
|
+
{ type: 'paragraph', html: 'Kies tussen kleine gehuchten, dorpen of drukke stadjes met aangepaste dichtheid en straatpatronen die perfect passen bij de omvang en geschiedenis van de nederzetting. Elk type heeft een eigen stedenbouwkundige logica en woningaantal.' },
|
|
129
|
+
{ type: 'table', headers: ['Omvang', 'Woningen', 'Karakter', 'Gebruik in campagne'], rows: [['Gehucht', '3 tot 18', 'Klein en rustig', 'Tussenstop langs de weg of geïsoleerde gemeenschap'], ['Dorp', '4 tot 28', 'Lokaal centrum', 'Thuisbasis of uitvalsbasis voor avonturen'], ['Stadje', '6 tot 42', 'Dicht op elkaar met veel voorzieningen', 'Regionaal knooppunt of onderzoekslocatie']] },
|
|
130
|
+
{ type: 'title', text: 'Zeven Unieke Bouwstijlen voor Sfeer', level: 2 },
|
|
131
|
+
{ type: 'paragraph', html: 'Geef elke nederzetting een eigen unieke sfeer en visuele identiteit. Middeleeuws, Edo, Sahel, Vakwerk, Steen, Kuststijl en Hoogland veranderen de dakbedekking, muurkleuren, bouwmaterialen en omgevingsbeplanting om de cultuur van het gebied te weerspiegelen. Zo voelt elk dorp uniek en passend bij de regio.' },
|
|
132
|
+
{ type: 'list', items: ['Middeleeuws en Vakwerk voor klassieke fantasy-dorpen en bosgemeenschappen.', 'Steen en Hoogland voor bergachtige gebieden en vestingdorpen.', 'Kuststijl voor kustdorpen met palmen en maritieme sfeer.', 'Edo voor oosterse sferen, houten constructies en unieke daklijnen.', 'Sahel voor droge gebieden, lemen gebouwen en woestijnoases.'] },
|
|
133
|
+
{ type: 'title', text: 'Slimme Plaatsing van Diensten en Herkenningspunten', level: 2 },
|
|
134
|
+
{ type: 'paragraph', html: 'Tavernes, smederijen, tempels en raadhuizen worden logisch verdeeld over het centrum en de buitengrenzen op basis van gewogen locaties. Eigen locaties verschijnen direct als overzichtelijke borden boven de daken van de gebouwen. Dit helpt spelers om belangrijke plaatsen snel te herkennen tijdens het verkennen.' },
|
|
135
|
+
{ type: 'title', text: 'Landschappelijke Inpassing in de Wereld', level: 2 },
|
|
136
|
+
{ type: 'paragraph', html: 'Plaats het dorp in bos, vlakte, kust, rivier of berggebied voor een natuurlijke inbedding in de omringende wildernis en landschapstegels van je wereldkaart. De beplanting en waterpartijen passen zich automatisch aan het gekozen landschapstype aan.' },
|
|
137
|
+
{ type: 'title', text: 'Vakje voor Vakje Bewerken in de Browser', level: 2 },
|
|
138
|
+
{ type: 'paragraph', html: 'Voeg gebouwen, wegen, bomen of water toe per vakje met het handige contextmenu via rechtermuisklik of lang drukken op mobiele apparaten. Pas de gegenereerde kaart aan op basis van de specifieke behoeften van je scenario. Zo kun je specifieke locaties toevoegen die essentieel zijn voor je verhaal.' },
|
|
139
|
+
{ type: 'list', items: ['Specifieke locaties, wachttorens of poorten toevoegen.', 'Aanpassen zonder extra tekenprogramma\'s of ingewikkelde software.', 'Opslaan in de kaartstatus inclusief alle handmatige wijzigingen.', 'Werkt soepel op pc, laptops, tablets en touchscreens.'] },
|
|
140
|
+
{ type: 'title', text: 'Dynamische Wegen en Waterverbindingen', level: 2 },
|
|
141
|
+
{ type: 'paragraph', html: 'Kruispunten van wegen en aangrenzende wateroppervlakken verbinden automatisch tot een strak, vloeiend en visueel aantrekkelijk geheel zonder rafelige randen. Het resultaat ziet er altijd professioneel en verzorgd uit.' },
|
|
142
|
+
{ type: 'title', text: 'Delen en Opslaan voor Volgende Sessies', level: 2 },
|
|
143
|
+
{ type: 'paragraph', html: 'Deel eenvoudig de unieke link van de kaart of sla de volledige kaartstatus op als JSON-bestand om later weer in te laden en verder te bewerken. Zo raak je nooit vooruitgang kwijt en kun je gemakkelijk samenwerken met andere game masters.' },
|
|
144
|
+
{ type: 'title', text: 'Exportformaten voor Elk Gebruik', level: 2 },
|
|
145
|
+
{ type: 'table', headers: ['Format', 'Gebruik', 'Inhoud'], rows: [['PNG', 'Virtuele tafels en snelle notities', 'Hoge resolutie afbeelding van de plattegrond'], ['SVG', 'Afdrukken en vectorgrafiek', 'Haarscherpe schaalbare vectorafbeelding'], ['JSON', 'Hergebruik en bewerken', 'Volledige bewerkbare kaart- en tegeldata']] },
|
|
146
|
+
{ type: 'tip', title: 'Aanbevolen Werkwijze voor Spelleiders', html: 'Stel eerst de stijl, omvang en landschap in, voeg belangrijke herkenningspunten toe en gebruik de vakjesbewerking voor de puntjes op de i voor je sessie begint.' },
|
|
147
|
+
],
|
|
148
|
+
faq,
|
|
149
|
+
bibliography,
|
|
150
|
+
howTo,
|
|
151
|
+
schemas,
|
|
152
|
+
};
|