První kroky – znovu a lépe

Po odchodu z TEAMu21 jsme byli velmi nadšení a hned se pustili do práce. Jak už jsem psal v blogu, bylo třeba vytvořit alespoň jednu lokaci od každého typu. Začal jsem teda tím, o čem jsem si myslel, že bude nejjednodušší a tím jsou interiéry.

Pravdou je, že základní level design interiéru nijak extra složitý nebyl. Je to jako hrát si se stavebnicí, kde pracujete s omezeným počtem dílků a když vám opravdu nějaký moc chybí, dá se dovyrobit / dokoupit.

Samozřejmě jsme začali narážet na různé menší i větší problémy. Asi nejpalčivějším problémem jsou světla. Ty zatím nejsou úplně prioritní, ale řešit se samozřejmě budou muset. Otázkou je, kam umístit light proby, kam reflexní proby, co zapékat a co naopak nechat procedurální (dynamické). Jaké intenzity nastavit, jaké shadery použít atd…

Ale zpět od problémů k hotovému. Co vám chci v tomto příspěvku primárně představit je environmnet. Jak už jsem psal dříve, tak grafika se musela dělat úplně od znova. Takže paralelně s tvorbou assets databáze začaly vznikat i první lokace a o tom, že už jich máme celkem dost se přesvědčíte ihned. Z každé jedné lokality, kterou jsem za poslední půl rok vytvořil zde nahodím pár screenů.

Hned první lokaci, kterou hráč uvidí, je podpalubí. Bude se jednat o takový tutorial pro ovládání first person GUI. Hráč zde bude mít možnost vyzkoušet si základní interakci s prostředím, práci se světlem apod…
Podpalubí

Podpalubí_02

Poté hráče čeká první střet s nepřítelem, kde se naučí základní prvky soubojové mechaniky. K tomuto účelu poslouží druhá scéna.

Přepadení piráty - battleground

A nyní už hráče hodíme přímo do hry. V této části se dostane do hlavního města celé hry. Tím je přístavní město Lim. Ten bude nakonec rozdělen do 4 čtvrtí.

Přístavní čtvrť:

Lim's harbor_01
Lim's harbor_02
Lim's harbor_03
Lim's harbor_04
Lim's harbor_05
Lim's harbor_06
Lim's harbor_07

Stará obchodní čtvrť:

Old_town_01
Old_town_02
Old_town_03
Old_town_04
První verze obchodní čtvrti:

Dungeony a interiéry v obchodní čtvrti:

Old_town_interior_01
Old_town_interior_02
Old_town_interior_03
Old_town_interior_04

Limský hřbitov:

Lim's_graveyard_01
Lim's_graveyard_02
Lim's_graveyard_03
Lim's_graveyard_04

Další screeny už nebudu záměrně popisovat, abych toho nevyspoiloval příliš mnoho. Jedná se o scény, které reprezentují nějaký prvek ve hře → dungeony, interiéry, bojové interiéry, battlegroundy, exteriéry, doly, jeskyně a další…

Random_forest_battleground
Farborn village_01
Farborn village_02
Farborn village_03
Farborn village_04
Farborn village_05
Farborn's_dungeons_01
Farborn's_dungeons_02

Ovšem nevznikal pouze level design. Jelikož jsem začal pracovat naplno v Unity, tak jsem záhy odhaloval jeho nedostatky a v průběhu času jsme ve spolupráci s Arbem začali vytvářet nejrůznější nástroje, které práci v enginu výrazně usnadňují.

Jeden příklad za všechny je např. tzv. “RandomPrefabSpawner”. Pokud v unity dáváte jakýkoliv prefab (stavební prvek) na scénu, tak ho vždy taháte z databáze systémem “drag and drop”, poté ho různě posouváte a natáčíte. Tento postup je samozřejmě naprosto v pořádku, pokud vytváříte jedinečné prostředí. Ale pokud chcete dělat např. přírodu, kde chcete rozmisťovat keře, různě měnit jejich velikost a rotaci, tak je to systém velmi zdlouhavý.

Právě proto jsme si vytvořili nový nástroj. Do něj jednoduše natáhnu prefaby, které chci na scénu umístit. Nastavím si pravděpodobnost výskytu, rozsahy náhodné rotace i měřítka a už jen jednoduchým klikáním na scéně jednotlivé prefaby (např. keře, kameny) umísťuji. Když se mi náhodou výsledek nelíbí, funguje i klasické “ctrl+z”. Tento nástroj naprosto razantním způsobem zefektivnil level design. Podobných nástrojů máme ale desítky. Je super, že Unity podobné funkce umožňuje, ale samozřejmě by tomu tak nebylo bez zkušeného programátora, kterým Arbiter rozhodně je.

Jelikož v Aledornu budou hrát světla velkou roli a to zejména v boji, bylo třeba i tyto pravidla převést z papíru do hry. To už se nám povedlo. Hexy mohou mít přesně tři typy osvětlení. Žádné světlo, částečné světlo a plné světlo. Tento efekt primárně ovlivňuje šanci na zásah při souboji na dálku, ale je toho mnohem více. Výpočet těchto světel vychází ze vzdálenosti a počtu zdrojů světel, ty se dokonce i mezi sebou sčítají, takže pokud je na scéně třeba více zdrojů světel, které poskytují částečné osvětlení, tak na některých hexech může dokonce vzniknout i osvětlení plné. Lépe to ukazuje následující gif.

Lights spreading

Pokud si připomeneme i pasáž ohledně nedostatků našeho dvojčleného týmu v minulém blogu, tak si jistě vzpomenete, že tím hlavním problémem jsou postavy a oblečení. V této oblasti jsme se intenzivně snažil sehnat někoho, kdo by nám s danou problematikou pomohl. Ke konci předchozího blogu jsem psal, že se k týmu připojil Václav a dokonce se vrátil i Jarda. Ohledně složení týmu mám tedy několik aktulalit.

Ačkoliv Jarda ze začátku sršil nadšením, tak po nějaké době se rozhodl, že na projektu vlastně už dělat nechce, takže jak rychle se vrátil, tak zase odešel. S Václavem to vydrželo o něco déle, ale bohužel ne o moc. Václav se rozhodl, že chce udělat kompletní postavy a pro ně pak oblečení, bohužel si v průběhu práce našel práci na plný úvazek a nic z toho nedokončil. Takže jsme byli opět na nule.

S Arbem jsme si tedy sedli a udělali brainstorming ohledně toho, jak vyřešit tuto nepříjemnou situaci. Bylo potřeba si vyjasnit do jaké míry se dokážeme bez další pomoci obejít. Rozhodli jsme se tedy pro cestu nejmenšího odporu. Postavy nakonec budou vytvořeny pouze a jen z programu “makehuman”, který je free a dá se říci, že i postačující. Postavy, které z něj dostaneme jsou sice o něco horší než z programu Mixamo či dokonce ručně dělané, ale je to velké usnadnění naší práce.

Charackters_makehuman

Posledním problémem tedy bylo oblečení, zde jsme zkusili zapátrat v asset databázích, jestli se situace v průběhu vývoje nezměnila a kupodivu ano. Opravdu jsme našli pár ucházejících databází lehkých a těžkých zbrojí. Nejsou sice kompletní, ale tak z 60% pokryjí naše požadavky. Nicméně stále jsme potřebovali někoho, kdo by zbytek domodeloval či nějak dodělal tak, aby to s assety ladilo.

Zde jsme měli štěstí, že se nám ozvala, dnes již naše nová kolegyně, Daniela. Ta začala na armorech okamžitě pracovat a pokud jí elán vydrží, tak budeme schopni veškeré postavy ve hře bez problémů obléci. Nevím, jak je to možné, ale věhlas projektu možná mírně stoupá, jelikož nedávno se nám ozval další začínající grafik Honza. Ten již s námi asi měsíc spolupracuje a mimo jiné vytváří zavazadla do hry (batohy, torny apod…), které jsme též vůbec neměli. Záhy se připojil k Daniele a společně začali připravovat oblečení. Tak plně doufáme, že jejich spolupráce povede ke zdárnému cíli.

Armores_in_progress

Prvek, který vám představím na závěr je nově udělaný Day/Night cyklus. Ten funguje i v interiérech. Tzn. světlo, jdoucí z oken, se mění v průběhu dne. Zároveň ovlivňuje i veřejné osvětlení ve městech, které automaticky zhasíná a rozsvěcuje podle denní doby. Do tohoto cykle jde zařadit i jakékoliv světlo ve hře, tzn. že můžeme nastavit např. i automatickou změnu luceren a lustrů v závislosti na poloze slunce

Plně doufám, že jsem vás tímto updatem trochu nasytil a do srdcí zbylých podporovatelů zasel semínko naděje, že si jednou Aledorn opravdu zahrají.

za team NoEZgames
Nefarit

Překlad