@jjlmoya/utils-tabletop 1.28.0 → 1.30.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/mus-scoreboard/component.astro +21 -11
- 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: '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
|
+
};
|
|
@@ -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: 'Generuj i edytuj mapy osad do sesji RPG. Wybierz krajobraz, wielkość osady, styl architektury i modyfikuj pola prawym przyciskiem myszy lub długim naciśnięciem.',
|
|
7
|
+
seedLabel: 'Ziarno i Nazwa Osady',
|
|
8
|
+
seedHint: 'Określa losowy, ale powtarzalny wzór układu dróg i budynków.',
|
|
9
|
+
randomSeed: 'Generuj Nową Nazwę',
|
|
10
|
+
environmentLabel: 'Otoczenie',
|
|
11
|
+
forest: 'Las',
|
|
12
|
+
plains: 'Równina',
|
|
13
|
+
coast: 'Wybrzeże',
|
|
14
|
+
river: 'Rzeka',
|
|
15
|
+
mountain: 'Góry',
|
|
16
|
+
styleLabel: 'Styl Architektury',
|
|
17
|
+
styleHint: 'Zmienia dachy, ściany, materiały i roślinność osady.',
|
|
18
|
+
styleTimber: 'Mur Pruski',
|
|
19
|
+
styleStone: 'Kamień',
|
|
20
|
+
styleCoastal: 'Nadmorski',
|
|
21
|
+
styleHighland: 'Górski',
|
|
22
|
+
styleMedieval: 'Średniowieczny',
|
|
23
|
+
styleEdo: 'Edo',
|
|
24
|
+
styleSahelian: 'Sahel',
|
|
25
|
+
sizeLabel: 'Wielkość Osady',
|
|
26
|
+
hamlet: 'Przysiółek',
|
|
27
|
+
hamletHint: 'Mały postój',
|
|
28
|
+
village: 'Wioska',
|
|
29
|
+
villageHint: 'Lokalne centrum',
|
|
30
|
+
town: 'Miasteczko',
|
|
31
|
+
townHint: 'Gwarny węzeł',
|
|
32
|
+
homesLabel: 'Liczba Domów',
|
|
33
|
+
homesHint: 'Dostosowuje liczbę domów w ramach wybranej wielkości.',
|
|
34
|
+
servicesLabel: 'Usługi i Punkty Orientacyjne',
|
|
35
|
+
serviceListHint: 'Wybierz domyślne usługi lub dodaj własne nazwane lokacje.',
|
|
36
|
+
newServicePlaceholder: 'Wpisz nową lokację',
|
|
37
|
+
addService: 'Dodaj',
|
|
38
|
+
removeService: 'Usuń',
|
|
39
|
+
serviceTavern: 'Karczma',
|
|
40
|
+
serviceSmithy: 'Kuźnia',
|
|
41
|
+
serviceTemple: 'Świątynia',
|
|
42
|
+
serviceMarket: 'Targ',
|
|
43
|
+
serviceStable: 'Stajnia',
|
|
44
|
+
serviceHall: 'Ratusz',
|
|
45
|
+
generate: 'Generuj Mapę Ponownie',
|
|
46
|
+
mapRegionLabel: 'Edytowalna Mapa Osady RPG',
|
|
47
|
+
mapSummary: 'Plan Osady',
|
|
48
|
+
buildings: 'Budynki',
|
|
49
|
+
paths: 'Drogi',
|
|
50
|
+
services: 'Usługi',
|
|
51
|
+
terrain: 'Woda',
|
|
52
|
+
legendLabel: 'Legenda',
|
|
53
|
+
legendHome: 'Dom',
|
|
54
|
+
legendService: 'Usługa',
|
|
55
|
+
legendPath: 'Droga',
|
|
56
|
+
legendWater: 'Woda',
|
|
57
|
+
legendWild: 'Las',
|
|
58
|
+
editLabel: 'Bezpośrednia Edycja Pola',
|
|
59
|
+
toolSelect: 'Inspekcja',
|
|
60
|
+
toolBuilding: 'Budynek',
|
|
61
|
+
toolPath: 'Droga',
|
|
62
|
+
toolWater: 'Woda',
|
|
63
|
+
toolTree: 'Drzewo',
|
|
64
|
+
toolErase: 'Wymaż',
|
|
65
|
+
serviceSelectLabel: 'Oznaczenie Nowej Usługi',
|
|
66
|
+
clickHint: 'Kliknij prawym przyciskiem myszy lub przytrzymaj długo na polu, aby otworzyć menu kontekstowe.',
|
|
67
|
+
selectedHint: 'Wybrane pole:',
|
|
68
|
+
shareLink: 'Kopiuj Link do Udostępnienia',
|
|
69
|
+
linkCopied: 'Link skopiowany do schowka',
|
|
70
|
+
exportPng: 'PNG',
|
|
71
|
+
exportSvg: 'SVG',
|
|
72
|
+
exportJson: 'Zapisz JSON',
|
|
73
|
+
importJson: 'Otwórz JSON',
|
|
74
|
+
importError: 'Nieprawidłowy plik mapy osady.',
|
|
75
|
+
mapData: 'Dane Mapy',
|
|
76
|
+
readyBadge: 'Gotowe do Eksploracji',
|
|
77
|
+
serviceNone: 'Brak Oznaczenia',
|
|
78
|
+
contextMenuLabel: 'Menu Pola Mapy',
|
|
79
|
+
contextInspect: 'Inspectuj Pole',
|
|
80
|
+
contextBuilding: 'Dodaj Budynek',
|
|
81
|
+
contextPath: 'Dodaj Drogę',
|
|
82
|
+
contextWater: 'Dodaj Wodę',
|
|
83
|
+
contextTree: 'Dodaj Drzewo',
|
|
84
|
+
contextErase: 'Wymaż Pole',
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const faq = [
|
|
88
|
+
{ question: 'Co mogę stworzyć za pomocą tego Generatora Map Osad i Eksploracji RPG?', answer: 'Możesz generować szczegółowe, przejrzyste plany wiosek, przysiółków i miasteczek do sesji RPG i budowania świata. Budynki, drogi, woda i roślinność są automatycznie logicznie układane.' },
|
|
89
|
+
{ question: 'Czy układ zmienia się przy zmianie ziarna?', answer: 'Tak. To samo ziarno i ustawienia dają dokładnie tę samą mapę początkową. Ułatwia to zachowanie map w notatkach i udostępnianie ich graczom.' },
|
|
90
|
+
{ question: 'Jakie rozmiary osad są dostępne?', answer: 'Do wyboru są trzy rozmiary: przysiółek, wioska i miasteczko. Gęstość zabudowy, drogi i rozmieszczenie usług skalują się automatycznie.' },
|
|
91
|
+
{ question: 'Czy mogę dostosować styl architektury?', answer: 'Tak, dostępnych jest 7 stylów: Średniowieczny, Edo, Sahel, Mur Pruski, Kamień, Nadmorski i Górski. Styl zmienia pokrycie dachu, mury i roślinność.' },
|
|
92
|
+
{ question: 'Czy dostępne są różne typy krajobrazu?', answer: 'Możesz umieścić osadę w lesie, na równinie, wybrzeżu, nad rzeką lub w górach, aby naturalnie wpasować ją w mapę świata.' },
|
|
93
|
+
{ question: 'Jak rozmieszczane są usługi, takie jak karczmy?', answer: 'Usługi takie me karczmy, kuźnie i targi są rozmieszczane na podstawie wag w centrum lub na obrzeżach wioski.' },
|
|
94
|
+
{ question: 'Czy mogę dodać własne punkty orientacyjne?', answer: 'Tak, możesz dodawać własne lokacje, które pojawią się jako czytelne szyldy nad budynkami i zostaną zapisane w stanie mapy.' },
|
|
95
|
+
{ question: 'Czy mogę ręcznie edytować wygenerowaną mapę?', answer: 'Absolutnie. Za pomocą menu kontekstowego na każdym polu możesz bezpośrednio dodawać lub usuwać budynki, drogi, wodę i drzewa.' },
|
|
96
|
+
{ question: 'Jak działają połączenia dróg i wody podczas edycji?', answer: 'Skrzyżowania dróg i sąsiadujące pola wody łączą się automatycznie w płynne kształty bez nierównych krawędzi.' },
|
|
97
|
+
{ question: 'Jak zapisać lub udostępnić mapę?', answer: 'Możesz skopiować bezpośredni link lub zapisać pełny plik JSON, aby wczytać go ponownie w przyszłości.' },
|
|
98
|
+
{ question: 'Jakie formaty eksportu są obsługiwane?', answer: 'PNG do wirtualnych stołów VTT, SVG do druku i edycji wektorowej oraz JSON do zachowania pełnych danych do edycji.' },
|
|
99
|
+
];
|
|
100
|
+
|
|
101
|
+
const howTo = [
|
|
102
|
+
{ name: 'Wybierz ziarno', text: 'Użyj wygenerowanej nazwy lub wpisz własne słowo, aby ustalić podstawowy układ.' },
|
|
103
|
+
{ name: 'Wybierz krajobraz i styl', text: 'Dostosuj otoczenie i architekturę do klimatu Twojej kampanii.' },
|
|
104
|
+
{ name: 'Ustal rozmiar osady', text: 'Wybierz przysiółek, wioskę lub miasteczko i ewentualnie dostosuj liczbę domów.' },
|
|
105
|
+
{ name: 'Dodaj usługi', text: 'Włącz domyślne budynki lub dodaj własne nazwane punkty orientacyjne.' },
|
|
106
|
+
{ name: 'Edytuj pole po polu', text: 'Użyj menu kontekstowego, aby bezpośrednio modyfikować drogi, budynki lub wodę.' },
|
|
107
|
+
{ name: 'Eksportuj i udostępnij', text: 'Skopiuj link lub zapisz mapę jako PNG, SVG lub 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: 'Generator Map Osad i Eksploracji RPG', operatingSystem: 'All', applicationCategory: 'GameApplication', description: 'Przeglądarkowy generator map osad RPG z deterministycznym ziarnem i edycją pól.' };
|
|
112
|
+
const howToSchema: WithContext<HowTo> = { '@context': 'https://schema.org', '@type': 'HowTo', name: 'Jak stworzyć mapę osady 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: 'generator-map-osad-i-eksploracji-rpg',
|
|
118
|
+
title: 'Generator Map Osad i Eksploracji RPG',
|
|
119
|
+
description: 'Generuj mapy osad i miasteczek do gier RPG z ziarnem deterministycznym, 7 stylami i edycją pól.',
|
|
120
|
+
ui,
|
|
121
|
+
seo: [
|
|
122
|
+
{ type: 'title', text: 'Twórz Żywe Osady do Sesji RPG', level: 2 },
|
|
123
|
+
{ type: 'paragraph', html: 'Projektuj kompletne wioski, przysiółki i miasteczka z logistycznymi sieciami dróg, placami i punktami orientacyjnymi do swoich przygód i kampanii fantasy. Ten generator map w przeglądarce tworzy czytelne rzuty z góry, na których domy, drogi, rynki, akweny wodne i roślinność współgrają w spójną, bogatą w detale i przekonującą całość. Idealne rozwiązanie na szybki postój na szlaku, wioskę startową graczy, siedzibę gildii czy regionalne centrum tętniące rywalizującymi frakcjami, tajemnicami i zadaniami. Pozwala stworzyć fascynujący świat dla Twoich graczy w zaledwie kilka sekund.' },
|
|
124
|
+
{ type: 'title', text: 'Deterministyczne Ziarna Map dla Powtarzalności', level: 2 },
|
|
125
|
+
{ type: 'paragraph', html: 'Każda wygenerowana osada opiera się na łatwym do zapamiętania ziarnie słownym. To samo ziarno i ustawienia pozwalają odtworzyć dokładnie ten sam plan osady za każdym razem. Jest to idealne dla Mistrzów Gry, którzy chcą zachować swoje notatki na przyszłe sesje lub dzielić się mapami z graczami bez ryzyka powstawania różnic w podstawowym układzie wioski. Wybierając nowe ziarno, błyskawicznie odkrywasz zupełnie nowy, unikalny układ ulic i ułożenie budynków, zachowując pełną kontrolę nad procesem kreacji.' },
|
|
126
|
+
{ type: 'list', items: ['Nowe ziarno tworzy unikalny układ dróg i budynków w ramach wybranej wielkości.', 'Pełna odtwarzalność dla Mistrza Gry i notatek z kampanii.', 'Zachowanie urbanistycznej logiki i struktury przestrzennej.', 'Łatwe dzielenie się z graczami jako stały punkt wyjścia dla kampanii.'] },
|
|
127
|
+
{ type: 'title', text: 'Skala od Przysiółka do Gwarnego Miasteczka', level: 2 },
|
|
128
|
+
{ type: 'paragraph', html: 'Wybieraj od małych przysiółków po duże miasteczka o zmiennej gęstości zabudowy i zróżnicowanych wzorach ulic dostosowanych do rozmiaru osady. Każdy typ osady charakteryzuje się własną logiką budowania i zakresem domów, tworząc odpowiednią skalę dla przygody i dopasowując się do liczby mieszkańców.' },
|
|
129
|
+
{ type: 'table', headers: ['Rozmiar', 'Domy', 'Charakter', 'Zastosowanie'], rows: [['Przysiółek', '3 do 18', 'Mały i cichy', 'Postój w trasie lub odosobniona osada'], ['Wioska', '4 do 28', 'Centrum lokalne', 'Baza wypadowa i punkt startowy graczy'], ['Miasteczko', '6 do 42', 'Gęsty układ z wieloma usługami', 'Węzeł handlowy i miejsce śledztwa']] },
|
|
130
|
+
{ type: 'title', text: 'Siedem Stylów Architektury dla Klimatu', level: 2 },
|
|
131
|
+
{ type: 'paragraph', html: 'Nadasz każdej osadzie niepowtarzalny klimat i tożsamość wizualną. Średniowieczny, Edo, Sahel, Mur pruski, Kamień, Nadmorski i Górski zmieniają pokrycie dachu, kolorystykę ścian, materiały budowlane i otaczającą roślinność, aby odzwierciedlić kulturę i geografię danego regionu świata fantasy. Każdy styl pozwala wczuć się w lokalną atmosferę.' },
|
|
132
|
+
{ type: 'list', items: ['Średniowieczny i Mur pruski do klasycznego fantasy i osad leśnych.', 'Kamień i Górski do rejonów górskich, warowni i klimatu surowego.', 'Nadmorski na wybrzeża z palmami i klimatem morskim.', 'Edo do klimatu orientalnego, konstrukcji drewnianych i unikalnych dachów.', 'Sahel na tereny suche, budowle z gliny i pustynne oazy.'] },
|
|
133
|
+
{ type: 'title', text: 'Inteligentne Rozmieszczenie Budynków i Szyldów', level: 2 },
|
|
134
|
+
{ type: 'paragraph', html: 'Usługi takie jak karczmy, kuźnie, świątynie i ratusze są rozmieszczane sensownie z podziałem na centrum i obrzeża na podstawie ważonych priorytetów. Własne nazwane lokacje pojawiają się bezpośrednio jako czytelne szyldy nad dachami budynków, ułatwiając szybką orientację w terenie podczas rozgrywki.' },
|
|
135
|
+
{ type: 'title', text: 'Dopasowanie do Krajobrazu Świata', level: 2 },
|
|
136
|
+
{ type: 'paragraph', html: 'Osadź wioskę w lesie, na równinie, wybrzeżu, nad rzeką lub w górach, aby naturalnie wpasować ją w otaczającą dzicz i pola krajobrazowe na Twojej mapie świata. Roślinność i ukształtowanie wody dostosowują się automatycznie do otoczenia.' },
|
|
137
|
+
{ type: 'title', text: 'Edycja Pole po Polu w Przeglądarce', level: 2 },
|
|
138
|
+
{ type: 'paragraph', html: 'Modyfikuj budynki, drogi, wodę i drzewa bezpośrednio prawym przyciskiem myszy lub długim naciśnięciem na urządzeniach mobilnych. Dostosuj wygenerowaną mapę do konkretnych potrzeb swojego scenariusza, dodając kluczowe miejsca dla fabuły przygody. Dzięki temu każda osada zyskuje swój unikalny charakter i idealnie wpisuje się w historię opowiadaną przy stole.' },
|
|
139
|
+
{ type: 'list', items: ['Dodawanie własnych punktów, wież strażniczych czy palisad.', 'Szybka zmiana układu bez zewnętrznych programów graficznych.', 'Zapis wszystkich zmian ręcznych bezpośrednio w stanie mapy.', 'Płynna obsługa myszy na PC oraz ekranów dotykowych.'] },
|
|
140
|
+
{ type: 'title', text: 'Dynamiczne Drogi i Połączenia Wodne', level: 2 },
|
|
141
|
+
{ type: 'paragraph', html: 'Skrzyżowania dróg i sąsiadujące pola akwenów wodnych łączą się automatycznie w płynne, estetyczne i naturalne kształty bez nierównych krawędzi, tworząc spójny i profesjonalnie wyglądający plan osady.' },
|
|
142
|
+
{ type: 'title', text: 'Zapis i Udostępnianie na Kolejne Sesje', level: 2 },
|
|
143
|
+
{ type: 'paragraph', html: 'Kopiuj bezpośrednie linki do udostępniania lub zapisuj pełny stan mapy w pliku JSON, aby łatwo wczytać go ponownie i kontynuować edycję podczas kolejnych spotkań przy stole lub w środowisku VTT.' },
|
|
144
|
+
{ type: 'title', text: 'Formaty Eksportu dla Każdego Zastosowania', level: 2 },
|
|
145
|
+
{ type: 'table', headers: ['Format', 'Zastosowanie', 'Zawartość'], rows: [['PNG', 'Wirtualne stoły i szybkie notatki', 'Obraz wysokiej rozdzielczości gotowy do wyświetlenia'], ['SVG', 'Wydruk i edycja wektorowa', 'Ostre grafiki wektorowe bez utraty jakości'], ['JSON', 'Dalsza edycja i archiwizacja', 'Pełne dane mapy i wszystkich pól']] },
|
|
146
|
+
{ type: 'tip', title: 'Rekomendowany Sposób Pracy', html: 'Ustaw styl, wielkość i krajobraz, dodaj kluczowe budynki i dopracuj szczegóły za pomocą edycji pól przed rozpoczęciem sesji.' },
|
|
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: 'Gere e edite mapas de assentamentos para sessões de RPG. Escolha a paisagem, o tamanho do povoado, o estilo arquitetônico e edite as células via clique direito ou toque longo.',
|
|
7
|
+
seedLabel: 'Semente e Nome do Assentamento',
|
|
8
|
+
seedHint: 'Determina o padrão aleatório mas reproduzível de caminhos e edifícios.',
|
|
9
|
+
randomSeed: 'Gerar Novo Nome',
|
|
10
|
+
environmentLabel: 'Ambiente Circundante',
|
|
11
|
+
forest: 'Floresta',
|
|
12
|
+
plains: 'Planície',
|
|
13
|
+
coast: 'Costa',
|
|
14
|
+
river: 'Rio',
|
|
15
|
+
mountain: 'Montanha',
|
|
16
|
+
styleLabel: 'Estilo Arquitetônico',
|
|
17
|
+
styleHint: 'Altera telhados, paredes, materiais e vegetação do assentamento.',
|
|
18
|
+
styleTimber: 'Enxaimel',
|
|
19
|
+
styleStone: 'Pedra',
|
|
20
|
+
styleCoastal: 'Litorâneo',
|
|
21
|
+
styleHighland: 'Montanhoso',
|
|
22
|
+
styleMedieval: 'Medieval',
|
|
23
|
+
styleEdo: 'Edo',
|
|
24
|
+
styleSahelian: 'Saheliano',
|
|
25
|
+
sizeLabel: 'Tamanho do Assentamento',
|
|
26
|
+
hamlet: 'Povoado',
|
|
27
|
+
hamletHint: 'Pequena parada',
|
|
28
|
+
village: 'Aldeia',
|
|
29
|
+
villageHint: 'Centro local',
|
|
30
|
+
town: 'Vila',
|
|
31
|
+
townHint: 'Nó movimentado',
|
|
32
|
+
homesLabel: 'Número de Casas',
|
|
33
|
+
homesHint: 'Ajusta a quantidade de casas dentro do tamanho escolhido.',
|
|
34
|
+
servicesLabel: 'Serviços e Pontos de Interesse',
|
|
35
|
+
serviceListHint: 'Escolha serviços padrão ou adicione locais personalizados.',
|
|
36
|
+
newServicePlaceholder: 'Digite um novo local',
|
|
37
|
+
addService: 'Adicionar',
|
|
38
|
+
removeService: 'Remover',
|
|
39
|
+
serviceTavern: 'Taverna',
|
|
40
|
+
serviceSmithy: 'Forjaria',
|
|
41
|
+
serviceTemple: 'Templo',
|
|
42
|
+
serviceMarket: 'Mercado',
|
|
43
|
+
serviceStable: 'Estábulo',
|
|
44
|
+
serviceHall: 'Sede Comunitária',
|
|
45
|
+
generate: 'Gerar Mapa Novamente',
|
|
46
|
+
mapRegionLabel: 'Mapa de Assentamento RPG Editável',
|
|
47
|
+
mapSummary: 'Planta do Povoado',
|
|
48
|
+
buildings: 'Edifícios',
|
|
49
|
+
paths: 'Caminhos',
|
|
50
|
+
services: 'Serviços',
|
|
51
|
+
terrain: 'Água',
|
|
52
|
+
legendLabel: 'Legenda',
|
|
53
|
+
legendHome: 'Casa',
|
|
54
|
+
legendService: 'Serviço',
|
|
55
|
+
legendPath: 'Estrada',
|
|
56
|
+
legendWater: 'Água',
|
|
57
|
+
legendWild: 'Floresta',
|
|
58
|
+
editLabel: 'Edição Direta da Célula',
|
|
59
|
+
toolSelect: 'Inspecionar',
|
|
60
|
+
toolBuilding: 'Edifício',
|
|
61
|
+
toolPath: 'Estrada',
|
|
62
|
+
toolWater: 'Água',
|
|
63
|
+
toolTree: 'Árvore',
|
|
64
|
+
toolErase: 'Apagar',
|
|
65
|
+
serviceSelectLabel: 'Nova Marcação de Serviço',
|
|
66
|
+
clickHint: 'Clique com o botão direito ou mantenha pressionado numa célula para abrir o menu contextual.',
|
|
67
|
+
selectedHint: 'Célula selecionada:',
|
|
68
|
+
shareLink: 'Copiar Link de Compartilhamento',
|
|
69
|
+
linkCopied: 'Link copiado para a área de transferência',
|
|
70
|
+
exportPng: 'PNG',
|
|
71
|
+
exportSvg: 'SVG',
|
|
72
|
+
exportJson: 'Salvar JSON',
|
|
73
|
+
importJson: 'Abrir JSON',
|
|
74
|
+
importError: 'Arquivo de mapa de assentamento inválido.',
|
|
75
|
+
mapData: 'Dados do Mapa',
|
|
76
|
+
readyBadge: 'Pronto para Exploração',
|
|
77
|
+
serviceNone: 'Sem Marcação',
|
|
78
|
+
contextMenuLabel: 'Menu de Ações da Célula',
|
|
79
|
+
contextInspect: 'Inspecionar Célula',
|
|
80
|
+
contextBuilding: 'Adicionar Edifício',
|
|
81
|
+
contextPath: 'Adicionar Estrada',
|
|
82
|
+
contextWater: 'Adicionar Água',
|
|
83
|
+
contextTree: 'Adicionar Árvore',
|
|
84
|
+
contextErase: 'Apagar Célula',
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const faq = [
|
|
88
|
+
{ question: 'O que posso criar com este Gerador de Mapas de Assentamento e Exploração RPG?', answer: 'Você pode gerar plantas detalhadas e claras de vilas, aldeias e povoados para suas sessões de RPG e construção de mundo. Casas, estradas, água e vegetação são dispostos automaticamente de forma lógica.' },
|
|
89
|
+
{ question: 'O layout muda ao alterar a semente?', answer: 'Sim. A mesma semente e configurações recriam exatamente o mesmo mapa inicial. Isso facilita salvar mapas nas suas anotações e compartilhá-los com os jogadores.' },
|
|
90
|
+
{ question: 'Quais tamanhos de assentamento estão disponíveis?', answer: 'Você pode escolher entre três tamanhos: povoado, aldeia e vila. A densidade de casas, caminhos e distribuição de serviços escalam automaticamente.' },
|
|
91
|
+
{ question: 'Posso personalizar o estilo arquitetônico?', answer: 'Sim, há 7 estilos disponíveis: Medieval, Edo, Saheliano, Enxaimel, Pedra, Litorâneo e Montanhoso. O estilo altera telhados, mures e vegetação.' },
|
|
92
|
+
{ question: 'Estão disponíveis diferentes tipos de paisagem?', answer: 'Você pode situar o povoado em floresta, planície, costa, rio ou montanha para integrá-lo naturally ao mapa do mundo.' },
|
|
93
|
+
{ question: 'Como os serviços como tavernas são posicionados?', answer: 'Serviços como tavernas, forjarias e mercados são posicionados com base em pesos lógicos no centro ou nas margens da vila.' },
|
|
94
|
+
{ question: 'Posso adicionar meus próprios pontos de interesse?', answer: 'Sim, você pode adicionar locais personalizados que aparecem como placas visíveis acima dos edifícios e são salvos no estado do mapa.' },
|
|
95
|
+
{ question: 'Posso editar o mapa gerado manualmente?', answer: 'Com certeza. Usando o menu contextual em qualquer célula, você pode adicionar ou apagar edifícios, caminhos, água e árvores diretamente.' },
|
|
96
|
+
{ question: 'Como funcionam as conexões de caminhos e água ao editar?', answer: 'Cruzamentos de estradas e células de água adjacentes conectam-se automaticamente em formas suaves sem bordas irregular.' },
|
|
97
|
+
{ question: 'Como salvar ou compartilhar meu mapa?', answer: 'Você pode copiar um link editável direto ou salvar o arquivo JSON completo para carregar novamente mais tarde.' },
|
|
98
|
+
{ question: 'Quais formatos de exportação são suportados?', answer: 'PNG para uso em VTT, SVG para impressão e edição vetorial, e JSON para preservar todos os dados editáveis.' },
|
|
99
|
+
];
|
|
100
|
+
|
|
101
|
+
const howTo = [
|
|
102
|
+
{ name: 'Escolha uma semente', text: 'Use o nome gerado ou digite sua própria palavra para definir o padrão base.' },
|
|
103
|
+
{ name: 'Selecione a paisagem e o estilo', text: 'Ajuste o ambiente e a arquitetura para combinar com o tom da sua campanha.' },
|
|
104
|
+
{ name: 'Defina o tamanho do assentamento', text: 'Escolha entre povoado, aldeia ou vila e ajuste a quantidade de casas.' },
|
|
105
|
+
{ name: 'Adicione serviços', text: 'Ative edifícios padrão ou adicione pontos de interesse personalizados.' },
|
|
106
|
+
{ name: 'Edite célula por célula', text: 'Use o menu contextual para modificar diretamente estradas, casas ou água.' },
|
|
107
|
+
{ name: 'Exporte e compartilhe', text: 'Copie o link ou salve o mapa como PNG, SVG ou 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: 'Gerador de Mapas de Assentamento e Exploração RPG', operatingSystem: 'All', applicationCategory: 'GameApplication', description: 'Gerador web de mapas de assentamentos RPG com sementes determinísticas e edição por célula.' };
|
|
112
|
+
const howToSchema: WithContext<HowTo> = { '@context': 'https://schema.org', '@type': 'HowTo', name: 'Como criar um mapa de assentamento 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: 'gerador-de-mapas-de-assentamento-e-exploracao-rpg',
|
|
118
|
+
title: 'Gerador de Mapas de Assentamento e Exploração RPG',
|
|
119
|
+
description: 'Gere mapas de exploração para aldeias e vilas RPG com sementes determinísticas, 7 estilos e edição de células.',
|
|
120
|
+
ui,
|
|
121
|
+
seo: [
|
|
122
|
+
{ type: 'title', text: 'Crie Assentamentos Vivos para suas Sessões RPG', level: 2 },
|
|
123
|
+
{ type: 'paragraph', html: 'Desenhe povoados completos, aldeias e vilas com redes de estradas, praças e pontos de interesse para suas aventuras e campanhas de fantasia. Este gerador no navegador cria mapas vistos de cima onde casas, caminhos, praças centrais, corpos d\'água e vegetação formam um local coerente, rico em detalhes e pronto para ser explorado pelos jogadores. Ideal para uma pausa na viagem, uma vila cheia de facções rivais, a base principal da aventura ou um centro regional repleto de segredos, oportunidades e missões para seu grupo de RPG. Tudo isso de forma rápida, intuitiva e sem complicações.' },
|
|
124
|
+
{ type: 'title', text: 'Sementes Determinísticas e Reproduzíveis', level: 2 },
|
|
125
|
+
{ type: 'paragraph', html: 'Cada assentamento gerado baseia-se em uma semente memorável de palavras. A mesma semente e configurações recriam exatamente o mesmo mapa inicial sempre. Isso é perfeito para Mestres do Jogo que desejam salvar suas anotações para sessões futuras ou compartilhar mapas com jogadores sem que haja diferenças na estrutura básica do povoado. Ao trocar a semente, você descobre instantaneamente um traçado urbano inédito, mantendo controle total sobre a criação do mapa e suas variações.' },
|
|
126
|
+
{ type: 'list', items: ['Nova semente gera um padrão único dentro do tamanho escolhido.', 'Totalmente reproduzível para o Mestre do Jogo e notas de campanha.', 'Mantém a lógica urbanística e as proporções espaciais.', 'Fácil de compartilhar com jogadores como ponto de partida da campanha.'] },
|
|
127
|
+
{ type: 'title', text: 'Escala do Povoado à Vila Movimentada', level: 2 },
|
|
128
|
+
{ type: 'paragraph', html: 'Escolha entre pequenos povoados, aldeias estruturadas ou vilas movimentadas com densidade e padrões de ruas ajustados ao tamanho do assentamento. Cada tamanho tem sua própria lógica de construção e intervalo de moradias, criando o cenário ideal para o nível e objetivos da sua aventura.' },
|
|
129
|
+
{ type: 'table', headers: ['Tamanho', 'Casas', 'Caráter', 'Uso em campanha'], rows: [['Povoado', '3 a 18', 'Pequeno e isolado', 'Parada de viagem ou comunidade distante'], ['Aldeia', '4 a 28', 'Centro local', 'Base principal e ponto de partida'], ['Vila', '6 a 42', 'Denso e comercial', 'Hub regional ou local de investigação']] },
|
|
130
|
+
{ type: 'title', text: 'Sete Estilos Arquitetônicos para Atmosfera', level: 2 },
|
|
131
|
+
{ type: 'paragraph', html: 'Dê a cada assentamento uma identidade visual única e marcante. Medieval, Edo, Saheliano, Enxaimel, Pedra, Litorâneo e Montanhoso alteram os telhados, cores de parede, materiais e vegetação ao redor para refletir a cultura e geografia da região no mundo de fantasia. Cada estilo adiciona autenticidade e riqueza visual à exploração dos jogadores durante as sessões.' },
|
|
132
|
+
{ type: 'list', items: ['Medieval e Enxaimel para vilas de fantasia clássica e vilarejos florestais.', 'Pedra e Montanhoso para áreas elevadas, fortalezas e locais rochosos.', 'Litorâneo para a costa com vegetação praiana e clima marítimo.', 'Edo para inspiração oriental, construções em madeira e telhados distintos.', 'Saheliano para clima árido, estruturas de barro e oásis do deserto.'] },
|
|
133
|
+
{ type: 'title', text: 'Posicionamento Inteligente de Serviços e Placas', level: 2 },
|
|
134
|
+
{ type: 'paragraph', html: 'Tavernas, forjarias, templos e sedes comunitárias são distribuídos com lógica urbanística entre o centro e as vias de saída com base em pesos ponderados. Locais personalizados adicionados por você aparecem diretamente como placas claras acima dos telhados dos edifícios, facilitando a orientação e a imersão na partida.' },
|
|
135
|
+
{ type: 'title', text: 'Integração com a Paisagem do Mundo', level: 2 },
|
|
136
|
+
{ type: 'paragraph', html: 'Situe a vila em áreas de floresta, planície, costa, rio ou montanha para integrá-la naturalmente à natureza circundante e aos blocos do mapa do seu mundo. A vegetação e os cursos d\'água ajustam-se automaticamente ao ambiente escolhido.' },
|
|
137
|
+
{ type: 'title', text: 'Edição Direta por Célula no Navegador', level: 2 },
|
|
138
|
+
{ type: 'paragraph', html: 'Altere caminhos, casas, água e árvores diretamente clicando com o botão direito ou toque longo em dispositivos móveis. Modifique o mapa gerado para atender às necessidades específicas do seu cenário de aventura, adicionando pontos essenciais para a história. Isso garante total flexibilidade sem depender de outros programas.' },
|
|
139
|
+
{ type: 'list', items: ['Adicione locais importantes, torres de vigia ou empalissadas.', 'Edite sem programas extras ou software complexo.', 'Salva todas as alterações manuais diretamente no estado do mapa.', 'Funciona perfeitamente em PC, laptops, tablets e telas sensíveis ao toque.'] },
|
|
140
|
+
{ type: 'title', text: 'Caminhos e Água Dinâmicos e Conectados', level: 2 },
|
|
141
|
+
{ type: 'paragraph', html: 'Cruzamentos e corpos d\'água conectam-se automaticamente em formas suaves, estéticas e naturais sem bordas irregulares, gerando um mapa com acabamento profissional para seus jogos.' },
|
|
142
|
+
{ type: 'title', text: 'Salvar e Compartilhar para Próximas Sessões', level: 2 },
|
|
143
|
+
{ type: 'paragraph', html: 'Copie facilmente o link editável ou salve o estado completo em arquivo JSON para carregar novamente mais tarde e continuar editando em partidas futuras sem perder nenhum detalhe importante.' },
|
|
144
|
+
{ type: 'title', text: 'Formatos de Exportação para Cada Necessidade', level: 2 },
|
|
145
|
+
{ type: 'table', headers: ['Formato', 'Uso', 'Conteúdo'], rows: [['PNG', 'Mesa virtual e notas rápidas', 'Imagem em alta resolução pronta para exibição'], ['SVG', 'Impressão e edição vetorial', 'Vetores nítidos sem perda de qualidade'], ['JSON', 'Edição futura e backup', 'Dados completos editáveis de todas as células']] },
|
|
146
|
+
{ type: 'tip', title: 'Dica de Preparação para o Mestre', html: 'Ajuste o estilo, tamanho e ambiente, adicione pontos de interesse principais e finalize com o editor direto antes do início da partida.' },
|
|
147
|
+
],
|
|
148
|
+
faq,
|
|
149
|
+
bibliography,
|
|
150
|
+
howTo,
|
|
151
|
+
schemas,
|
|
152
|
+
};
|