Několik zásad pro tvorbu lokací

Několik zásad pro tvorbu lokací

Ne, nebudu se snažit učit vás, jak se vytvářejí lokace v Toolsetu. Na to tady existují již jiné, kvalitní návody. Chtěl bych zde pouze. Předpokládejme na chvíli, že již vytvořit nějakou lokaci umíte.
Rád bych se s vámi podělil o několik poznatků, které vám jistě přijdou vhod, pokud se chcete tvorbou v NWN zabývat obšírněji a pracovat v týmu na nějaké persistentním světě (PW).

Příprava

1. Mapa světa

Vždycky jsem byl zastáncem toho, aby se svět v NWN nevytvářel jen tak spontánně, ale aby vzhled a prostředí lokací na sebe navazovalo a dávalo to nějaký smysl (příklad: aby třeba nebyla jedna lokace s pouští, hned vedle lokace s močály a za tím lokace se zasněženými horami). Na začátku bychom si tedy měli nějak rozvrhnout, jak by měl takový svět vypadat. Pokud se bude jednat třeba o Underdark, budou lokace vypadat jinak než když se bude jednat o starosvětský model středověké evropy, kde je spousta lesů, luk a sem tam něco jiného. Na základě tohoto námětu bychom si měli nakreslit nějakou mapu, aby zhruba odrážela naši představu. Mapu samozřejmě lze postupně dokreslovat a dodělávat.

Pro vytvoření takové mapy lze použít některý z editorů map pro různé hry. Velmi oblíbeným nástrojem bývají editory pro Heroes of Might and Magic 2 nebo 3. Existují také profesionální programy na tvorbu map, ale tam už to chce člověka znalého práce s tímto druhem programů. Troufáte-li si, můžete si zhotovit takovou mapu sami v nějakém kreslícím programu. Mapa vypadá velice efektně, originálně, ale logicky, dá to mnohem více práce. Na druhou stranu, pak nejste ničím omezeni.

Takže, máme hotovou mapu světa, kterou potřebujeme pro získání reálné představy, jaký typ lokací zvolit, přibližné rozvržení terénu, polohu měst, vesnic, lesů, řek, jezer, moří, hor atd. Pro menší světy do 50ti lokací nám taková mapa bohatě postačí.

Máme-li větší ambice a chceme vytvořit velký PW a konkurovat světům jako je Alhambrie, Arkhalie nebo Demona a hlavně, pokud chceme pracovat v týmu a vést nějakou kvalitní dokumentaci, aby na lokacích mohl pracovat kdokoliv i když někdo z týmu odejde, musíme kromě kreslené mapy vytvořit ještě mapu pracovní (pouze pro oči tvůrců, ne pro oči hráčů).

V praxi se nám osvědčilo vytvořit pracovní mapu v Microsoft Excel nebo jiném, stejně dobrém tabulkovém programu. Jednotlivé buňky lze pak používat buďto v poměru 1 buňka = 1 lokace nebo 1 buňka = 1 čtverec. V Alhambrii a Mintace byl pro tvorbu lokací použit systém 1 buňka = 1 lokace. Výhodou totiž je, že si můžeme vytvořit souřadnicový systém. Každá lokace má svoji vlastní souřadnici.

2. Souřadnicový systém

Při obrovském množství lokací (více než 100) oceníte, pokud budete schopni při testování či ladění bugů ve hře nějakou lokaci rychle a bez problémů najít. V Alhambrii jsme totiž občas narazili na problém, že některé lokace měly stejný název (napřiklad 3x Zelený les). Pak bylo těžké identifikovat, o kterou lokaci se jedná zejména, když lokace měly tagy téměř identické a nic neříkající názvy. Občas se taky stávalo, že tagy měly jiné názvy než resref (jméno souboru). A pak se také stávalo, že nefungovaly některé přechody a my jsme nevěděli, který přechod kam přesně vede (při opravě je často nutné znát jméno lokace, kam vede, aby se dal opravit i na druhé straně).

Pravidla pro souřadnicový systém

  1. Všechny lokace mají stejný rozměr (kvůli zmenšení lagů mají rozměr buď 12×12 nebo 16×16 ne víc a také kvůli tomu, aby seděly souřadnice)
  2. Každá lokace má jedinečnou souřadnici (třeba AH27 nebo Z14)
  3. Tag a ResRef lokace musí být identický (aby bylo možné hledat fyzický soubor, pro lehčí identifikace a pro zabránění zaměnitelnosti)
  4. Tag lokace by měl obsahovat souřadnici (v Alhambrii jsme používali tagy typu AL_AH64, OR_ZX27, AR_C13, kde první dvě písmena značila jméno autora a za podtržítkem byla souřadnice na pracovní mapě).
  5. Při testování je dobré, aby souřadnice byla obsažena i v názvu lokace (velmi doporučeno), později se dá z názvu odstranit.
  6. Ihned po vytvoření lokace v toolsetu je potřeba tuto změnu v modulu zapsat do pracovní mapy a tu postnout na server (nebo nějakým podobným způsobem). Ostatní WB pak budou vědět, že tam je nová lokace a že pozice je obsazená.
  7. Při vytváření přechodových oblastí (modré obdélníčky, na které když hráč klikne, tak ho to přenese do jiné lokace) je potřeba dbát na to, aby v tagu této přechodové oblasti byla souřadnice. Pro pozdější ladění modulu je to nedocenitelné.

Výhody souřadnicového systému

  • DM vás může informovat podle souřadnice (protože vidí v DM klientovi i tag lokace), která lokace vykazuje chyby
  • WB se podívá do mapy na souřadnici a ihned ví, o kterou lokaci se jedná
  • WB může plánovat velmi snadno nové lokace na prázdná místa na mapě
  • WB při propojování lokací bude vždy vědět, v jaké lokaci bude vyústění tohoto propojení
  • Ostatní WB, kteří nejsou obeznámeni s tím, které lokace jsou v modulu (je těžké udržovat v hlavě všechny informace, když s modulem pracuje více lidí) a kde přesně se nacházejí podle souřadnicové mapy budou schopní takovou lokaci identifikovat a provádět v ní úpravy.
  • Souřadnice mohou pomoci také pro vytvoření dobře fungujícího pracovního plánu. Hlavní WB například může přidělovat lokace jednotlivým WB podle souřadnic, čímž je to jasně dáno a předejde se tak omylům.
  • Jednotlivé lokace přesně navazují na sebe a nepřekrývají se.
  • Celkově je práce s modulem mnohem přehlednější

Nevýhody

  • Musí se dělat lokace se standardní velikostí ve tvaru čtverce. Nelze dělat atypické rozměry lokací (Schopný WB toto omezení dokáže obejít tím, že rozmístí překážky v terénu jako skály nebo třeba vyvýšení a tím opticky zmenší oblast jak je potřeba).
  • Hlavní WB má občas problémy s línými a nedbalými WB, kterým se nechce spolupracovat na tvorbě kvalitní a přehledné dokumentace (věčná bolest) 
  • Zabere to trochu času navíc

Možnosti jak využít souřadnicovou mapu

Do jednotlivých buněk v tabulce lze zapisovat různé údaje. Informace, které by tam neměly chybět:
  • Souřadnice (ze souřadnice lze snadno odvodit i tag) nebo rovnou tag (tag = resref)
  • Název lokace (pro snadní vyhledávání v Toolsetu)
  • Použitý tileset
  • Typ lokace (louka, město, vesnice)
  • Spawn (dobré je napsat, že v lokaci jsou třeba medvědi, vlci, skřeti, draci atd. Pomáhá zejména při přípravě a plánování nových lokací, aby WB věděli, jaký spawn v lokaci udělat)
  • Poznámku, je-li lokace již hotová, neexistuje, nebo je rozpracovaná.
  • Doporučeno je také lokace barevně odlišit. Buď podle tilesetu a nebo podle typu (město, vesnice, důl, les, hřbitov atd)
Souřadnicová mapa nám poskytuje perfektní informační systém a zároveň kvalitní dokumentaci i pro případ, že spousta WB z projektu časem odejde a jejich místa nahradí jiní WB. Pro ty je taková dokumentace nedocenitelným zdrojem informací. Alhambrie tento systém používala pouze pro venkovní lokace. Interiérové mohly být atypické a nemusely v tagu obsahovat žádnou souřadnici. Avšak, co je mi známo, tak Mintaka začala aplikovat podobný systém i pro Underdark, což je interiér.
Pokud trváme striktně na atypických rozměrech lokací, nelze souřadnicový systém používat. Ale i přesto lze mapu v tabulkách aplikovat pomocí sloučených buněk. Jen to není tolik přehledné a jsou větší problémy s identifikací.

3. Vlastní tvorba

Předpokládám, že jste si vzali k srdci mé rady viz. výše. Při vytváření jakékoliv lokace je dobré znát její souřadnici a tu vložit do tagu. Nejjednodušší je při vytváření nové lokace vložit při dotazu na jméno rovnou tag. Toolset pak vygeneruje tag a resref přímo z názvu a my pak na konec ve vlastnostech jen změníme podle potřeby název. Tag a Resref nám již ale zůstane. Stejně se postupuje při vytváření přechodových oblastí (transiting areas).

4. Dokumentace
Kromě grafické mapy (návrh světa + může sloužit i pro představu hráčům) a pracovní (souřadnicové mapy) je dobré vést i další dokumentaci:

Pracovní plán jinými slovy, kdo na čem pracuje. Franta dělá na lokacích AB12, CD34 a EF56. Pepík dělá na lokacích X1, X2, Z1 a Z4. Což znamená, že když na jedné lokaci pracuje jeden člověk, nikdo jiný na ní nesmí dělat, aby si navzájem nepřemazali své změny. Informace doplnit o to, zda-li je už lokace rozpracovaná, nezačal na ní pracovat, hotová. Dále termíny dodání. Ideálně také poznamenat, co v dané lokaci bude WB dělat. Stačí rámcově (oprava bugů, dodělat spawn, vytvoření nové lokace, doplnění NPC a dialogů…)
Termíny – Hlavní WB by měl říct, do kdy musí všichni svou práci dodat a kdy bude termín dalšího update modulu. Nemá asi smysl dělat nové verze modulu každý den. Lepší je dělat další termín po několika týdnech nebo třeba každý 1 den v měsíci. WB nejsou tak stresovaní, mají více času práci dokončit a otestovat. Pokud některý WB termín prošvihne, neměl by odevzdávat nedodělek, ale měl by pokračovat a odevzdat práci až v dalším termínu. Ihned po update by se měly testovat chyby a ty by se měly opravit přednostně pokud to jde a teprve pak dělat na dalších novinkách.
Bug list – jinými slovy, seznam chyb v modulu. Šéf beta-testingu nebo jiná pověřená osoba by měla zpracovávat poznámky a dotazy od hráčů, testerů, DM nebo WB a doplňovat seznam. Měl by ověřovat informace (název lokace, případně souřadnici, o jaký bug se přesně jedná a pokud je to složitější, tak sám bug otestovat třeba i v přítomnosti hráče, který jej avízoval a pak ho vyfotit a doplnit velmi podrobným popisem. Jednodušší problémy stačí popsat stručně). Každý bug by měl mít vlastní identifikační číslo a jednoduchý, ale výstižný název. Tento člověk by měl také kontrolovat, v jaké fázi tento bug je (vyřešen, nevyřešen) a snažit se popohánět WB, aby ho vyřešili. Zejména jednodušší a snadno odstranitelné bugy by se měly odstraňovat co nejrychleji.

Wish list – seznam přání hráčů. Je dobré si na to zavést nějaký systém a WB z něj pak mohou čas od času čerpat nápady pro svoji další práci.

To Do list – seznam věcí, které je potřeba dodělat/udělat. Jakmile některý WB už nemá nic dalšího na práci, vybere si danou věc a pustí se do ní. Je dobré snažit se dělat nejprve jednodušší věci a pak ty složitější. Zároveň by se nemělo řešit 100 věcí najednou, ale všichni by se měli zaměřit na každou jednotlivou věc a dělat je po jedné. Nenechávat je nedodělané.
Komentáře ke skriptům – často opomíjená věc. Skriptéři by si měli uvědomit, že oni s tou prací často brzy praští a po nich přijde někdo další, kdo pak neví, co jejich skripty vlastně dělají, hlavně, pokud používají odlišné metody. Nebudu tu rozebírat, jak by měl správně vypadat skript (vhodné názvy funkcí a proměnných, struktura atd), ale určitě by měly skripty obsahovat stručné, ale výstižné popisky celkově pro každý skript a také, je-li obsáhlejší, popisek jednotlivých procedur, funkcí, případně proměnných/konstant, pokud je zřejmé, že s nimi bude i nadále někdo pracovat. Je také dobré, pokud jsou skripty součástí nějakého systému, který by mělo být v budoucnu možné i nadále používat, např. systém na tvorbu perzistentních questů, tak i popisek, jak vytvořit další nový quest. Kromě toho je také dobré mít někde databázi skriptů, kde bude popsáno stručně, k čemu skript slouží nebo alespoň, součástí jakého vyššího celku je (třeba ATS, Guild System atd). Je dobré používat standardizované hlavičky pro jednotlivé skripty, kde bude také jméno autora, způsob aplikace/instalce (např. do jakého objektu a do jaké události) a datum poslední úpravy. Název skriptu by měl jednoznačně ukazovat, kdo byl autorem nebo k jakému systému patří a také, o jaký skript se jedná. Např. ats_config = skript pro crafting ATS a obsahuje nějakou konfiguraci, pgs_pwtime = skript pro Player Guild System a řeší perzistentní čas.

No, doufám, že jsem nic dalšího nezapomněl.

Tohle je asi tak všechno, co jsem k tomuto tématu chtěl všem WB říct. Jedná se o nějaký způsob práce vycházející z mých dlouholetých zkušeností. Sám jsem se mnohokrát spálil kvůli nedostatku nějakých informací nebo jsem narazil na nějaká omezení, která se nedala později vyřešit. Určitě tento způsob nebude ten nejlepší existující a pokud najdete lepší, budu rád, když ho tu publikujete. Doufám, že vám moje zkušenosti nějak pomohou a přeji vám všem hodně štěstí a pracovních úspěchů nejen v NWN.

One response on “Několik zásad pro tvorbu lokací

Napsat komentář