Dev Watercooler: World of Warcraft Classic

  World    Warcraft    Classic   

Blizzard po několika měsících konečně promluvil o tom, jak pokračuje vývoj World of Warcraft Classic, který byl oznámen na loňském BlizzConu. Dlouhou dobu v komunitě panoval názor, že vývojáři chtěli hráčům jen ‚zavřít klávesnice pod zámek‘, protože hráčská komunita volala po World of Warcraft Classic již mnoho let. Konečně ovšem máme novinky, které vysvětlují, proč vývoj trvá tak dlouho.

 

Blizzard Entertainment - zdroj


Vítejte! Vývoj World of Warcraft Classic stále probíhá a byli bychom velice rádi, kdybychom vám mohli sdělit několik výzev a řešení, na které jsme ve vývoji narazili. Jak jsme již zmínili na posledním BlizzConu, restaurování klasické hry není přímočarý  proces a je pro nás velice důležité udělat všechno správně – to zahrnuje přehrávání mnoha verzí hry, dat a kódů. Tím prozkoumáme všechny změny, které jsme za ta léta provedli. Pro ujištění: WoW Classic tým tvrdě pracuje na tom, aby se slib stal skutečností, a právě nyní jsme v bodě vývoje, kdy s vámi můžeme sdílet některé věci, na kterých jsme pracovali.

WoW Classic: První prototyp

První velice důležité rozhodnutí, které jsme museli učinit, bylo o tom, na jakou verzi hry se zaměříme. Mnozí z vás si jistě budou pamatovat, že v základní hře jsme za dva roky udělali mnoho změn. Hlavní novinky, jako třeba Battlegroundy, byly představeny v aktualizacích až po samotném vydání hry. Změnilo se také mnoho u jednotlivých povolání. Po dlouhém a důkladném zvažování jsme tedy vybrali Patch 1.12: Drums of War, protože představoval nejkomplexnější verzi tehdejší hry.


Jakmile jsme získali náš výchozí bod, mohli jsme začít pracovat na kódu a zjišťovali jsme, co všechno je možno vyřešit, včetně obnovení původní vývojové databáze z našeho archívu. Po spojení několika hlavních věcí, jsme měli verzi hry, která fungovala na patchi 1.12, a mohli jsme ji začít interně testovat. Tým mohl vytvořit nové postavy, splnit základní úkoly, získávat nové úrovně a samozřejmě umírat, což se nám stávalo často. Z důvodu testování samozřejmě.


Naše počáteční testování odhalilo hned několik (očekávaných) problémů. Hra často padala a nedokázala rozeznat nové grafické karty. Systém také nebyl připraven na náš současný systém přihlašování. Samozřejmě chyběla také podpora jakéhokoli moderního zabezpečení a anti-cheat systém. Je tedy asi jasné, že na nás čekalo mnoho práce, abychom zajistili, že hráči dostanou klasickou dávku kvality, kterou od Blizzardu očekávají.

Cesta vpřed: Druhý prototyp

Pokud se podíváme na technickou stránku věci, tak zjistíte, že World of Warcraft je řízen daty. To znamená, že základní kód je flexibilní a jeho chování je řízeno informacemi obsaženými v databázi. Věci, jako jsou úkoly, příšery, předměty a všechna související pravidla, jsou určitým způsobem určena v datech tak, jak chtějí vývojáři.


Takže jsme se sami sebe zeptali, zda by nebylo možné hráčům dodat autentický zážitek z klasické hry i přesto, že bychom použili náš současný kód se všemi vylepšeními a změnami, jen bychom ho přetvořili tak, že by zpracovával data z patche 1.12. Zatímco se to může zdát nepředstavitelné, ve skutečnosti by systém obsahoval staré systémy, jako třeba schopnost ovládat zbraně, staré úkoly, staré zóny, talenty a tak dále. Novinky v podobě Transmogu a třeba Achievementů by chyběly, protože v datech kompletně chybí. Po několika týdnech výzkumu a vývoje, zkoušení a vytváření prototypů, jsme přišli na to, že bychom mohli dodat klasický WoW obsah bez toho, aniž bychom museli obětovat 13 let vývoje.


Naše počáteční úsilí nám dopomohlo k tomu, že víme, jaký zážitek chceme hráčům poskytnout. Pokračování ve vývoji nám ukázalo, jak se k tíženému výsledku dostat. Začínáme s moderní architekturou hry, se všemi zabezpečovacími prvky a změnami ve stabilitě hry. To vše znamená, že se tým může soustředit hlavně na poskytnutí právě těch zážitků, které všichni chtějí. Všechny změny v chování mezi našimi vývojovými cykly a patchem 1.12 mohou tak být katalogizovány a opraveny, přičemž stále budeme fungovat pod stabilní a zabezpečenou verzí vývojového kódu.

Jak fungují data?

Takže co je potřeba, abychom vytvořili autentický herní zážitek, který bude fungovat pod moderním herním systémem? Začneme s tím, že kategorizujeme různé typy herních dat, které společně tvoří WoW.


‚Table Data‘ – V tabulkách naleznete hlavně čísla. Obsahují informace o tom, kolik životů má určitá bytost, kolik strength dává určitý předmět nebo kdy a kde se objevuje určitá bytost. Všechna tato data jsou uložená v databázích. Díky tomu můžeme tato data ukládat a provazovat je s dalšími daty.


‚File Data‘  - Tyto soubory většinou obsahují data jako třeba 3D modely, textury, animace a terén. Naše uživatelské rozhraní je tvořeno XML a Lua soubory. Mnoho souborů s obrázky nejsou ve formátech, v jakých je dokážou uložit běžné komerční programy. Proto náš systém bere všechna ‚tvrdá data‘ obrázků a překládá je do něčeho, co je hra schopna číst a zpracovat.


‚Lua scripts‘ – Některé herní vymoženosti jsou řízeny Lua skripty, které jsou napsány vývojáři. Umožňují tak lehce definovat specifické chování na serveru.

Jak se změnil vývoj hry?

Jedna z překážek, na kterou jsme narazili, jsou data, která byla vydána při spuštění hry. Formát a struktura dat byly za těch mnoho let změněny a je potřeba všechno upravit tak, aby bylo vše kompatibilní s moderní verzí hry.


Například kouzla mohla v minulosti způsobit pouze tři navazující věci na cíli, který byl zasažen. S vysvětlením pomůže třeba tato tabulka.

6d1ibevvy4_b873acb85759d5cef9d70c2a2a0442ce148f0aef_1529138749_5579.jpg

Jak můžete vidět, mnoho políček obsahuje slovo ‚Nothing‘. V průběhu vývoje jsme náš kód a strukturu dat pozměnili a proto data vypadají nějak takto.

wglntfoquf_b873acb85759d5cef9d70c2a2a0442ce148f0aef_1529138749_5344.jpg

V této tabulce je vidět, že se zbytečně neplýtvá místem a nejsme limitováni třemi navazujícími věcmi. Ale před tím, než nahrajeme všechny staré věci do nových databází, musíme změnit jejich rozložení. A nemluvíme pouze o kouzlech, ale o téměř všech herních systémech (včetně předmětů, bytostí, postav hráčů, objevování nepřátel, a mnoho dalšího).

Pohled do budoucna

Všechna práce, kterou se snažíme odvádět, nám pomáhá k tomu, abychom hráčům poskytli co nejlepší herní zážitek ve hře, která bude optimalizovaná a bezpečná. Chceme zajistit, aby neměli hráči problém s odezvou a aby jim hra běžela stabilně. Další moderní vychytávky budou obsahovat anti-cheat / botting detection systém, současný systém zákaznické podpory, integraci Battle.netu a další věci, které ovšem nijak neovlivní herní obsah jako takový.


Těšíme se na další výzvy, které na nás čekají, a vaše očekávání nás žene kupředu. Každé ověření nebo opravení kódu nás přibližuje k dodání oněch autentických zážitků, které chcete (a chceme). 


Chcete si povídat o World of Warcraft? Připojte se na náš Discord. Rádi vás uvidíme.

djmetla
Patrik Hoffmann

djmetla je autorem 1114 článků. Více článků tohoto autora najdete na tomto odkazu. Pro více informací navštivte profil tohoto autora.

Diskuze

barrny 18.06.2018 15:41

No to bude řevu, až casual zjistí, že vanila byl těžký grind a bez párty žádnou elitu jen tak nesejmou natož fialový gear :-))) to bude brekotu ...

Tonino 18.06.2018 11:38

na mna tento clanok moc nezaposobil. Cakal som nieco uplne ine. Spravili to, ze sice pustili do sveta informacie a to dost vela, ale v podstate nic presne napovedali. Zamlzuju technickymi zalezitostami ako napriklad sposob ukladania udajov v tabulkach, co v podstate hracov nema dovod zauimat, aky maju datovy model. Ale to co je potrebne nenapisali. Kludne by mi stacilo, keby napisali, ze prerabka je tazka, ze sa snazia pouzit novy engine na stare data a ze odhaduju, ze to spustia napriklad v tretom kvartali 2019. Ale to podstatne - teda odhadovany cas nikde ani v najmensom nespomenuli.

Ale nevadi, uvidime, ako to pojde dalej,. dufam, ze uz teraz nebude zas pol roka ticho a ze budu troska viac informovat

Ellendway 18.06.2018 11:42

Počítám, že oni sami netuší, kdy bude hra dostupná. Časovou osu sice určitě mají, ale řekl bych, že momentálně je pro ně důležité, aby přetvořili databáze tak, aby fungovaly bez jediného problému.

Necris_ 16.06.2018 19:56

Nech uz je to tu, neskutocne sa tesim, hlavne preto, ze som s WoW skoncil pred CATA a odvtedy som nemal zaujem to hrat, takze to bude pre mna druha sanca a rovno si to prejst od zaciatku. Nejak v tichosti dufam, ze z toho casom vznikne progresivny realm a dockame sa aj ostatnych datadiskov. Samozrejme nie som z tych co odsudzuju aktualny WoW, ale predsa som 90"s kid a Classic ma pre mna velku (aj citovu) hodnotu, pretoze aj na nejake tie udalosti v mojom realnom zivote mala tato srandovna hra vplyv. Snad zaciatkom buduceho roka nam to naserviruju.

Lockdaar 16.06.2018 14:20

No já teď jen pevně doufám, když to vidím a čtu kolik to dá práce (a že je to snad i náročnější než vývoj novýho datadisku) že to fakt ty lidi, který po tom tak moc řvali, budou skutečně hrát a že se ten vývoj aspoň trochu vyplatí. Jinak si myslím, že to bude snad největší ztráta drahocenného času a financí na projekt v historii Blizzardu, kdyby tohle celý nevyšlo. Nemluvě pak vůbec o tom, do čeho všeho jiného by se ten ztracený čas a finance mohli investovat...

Martins911 16.06.2018 15:52

Náročnější jak nový datadisk? tvl si děláš prdel ne

Lockdaar 16.06.2018 16:17

@Martins911 četl sis ten článek co to všechno obnáší? Musejí snad všechno přepisovat, aby to sedělo na jejich nynější systém s novodobým zabezpečením + budou pak muset ještě dodatečně vyřešit bugy, které ta původní verze měla... Já osobně moc programování nerozumím, ale slyšel jsem dost názorů od lidí, kteří se v tom pohybují a každý říká, že tohle přepisování kodů atd. dost náročná práce je. Trochu bych to přirovnal k restaurování nábytku - bývá mnohem jednodušší vyrobit novou skříň než opravovat starou rozbitou...

Martins911 16.06.2018 17:47

@Lockdaar četl ale v práci nejde o to kolik je množství té věci ale za kolik hodin práce se to udělá nehledě na to že ty zkušenosti můžou využít i jinde.

Zullis 16.06.2018 18:31

Jakožto člověk co se v tomhle pohyboval(pracoval s databázi, zdrojovým kódem i DBC souborama) V podstatě s celou struktůrou serveru pro sprovoznění hry(krom uživatelských dat co mají hráči ve složce) se k tomu taky tedy vyjádřím. Z toho co napsali že potřebují opravit, upravit, přidat, či udělat kompatibilní to nevidím ve zkušeném teamu na práci víc než opravdu maximalně rok a to už asi i přeháním. ROZHODNĚ to je min práce jak vytváření nového obsahu, ale na druhou stranu na něm pracuje víc lidí). Nejdelší práci pro ně bude nejspíš asi jak dali tu ukázku, což je v podstatě to, že chtějí inovovat DBC soubory, potřebují např. rozdělit to do víc tabulek pro přehlednost a lepší orientaci a nejspíš i stabilitu. Coz když pozmění, musí i přepsat zdrojový kód a databázi trošku. Vše je propojeno se vším(WoW bych přirovnal k malému výtvoru života). Každopádně když tyhle věci mění, bude to v podstatě téměř stejné struktury jako nové datadisky(databázi a DBC jak se zdá hodlají udělat totožnou) a tím pádem se jim otevře hodně možností(kupříkladu možnost vyexpit postavu ve starém obsahu a převést si jí pak kdyby člověk chtěl na nový datadisk) a zjednoduší se jim i orientace v tomhle starém obsahu hry. A kdoví co plánují, třeba i nějakou provázanost větší staršího datadisku s novým pro nějaké eventy či achievementy. V jednoduchosti ale Blizz chtěl říct teda, že si udělá vlastní úpravy uvnitř serveru, přidá možnosti blizz podpory(kdoví, možná i možnost přepnout na nové modely a jiné věci co se nedotknou funkčnosti hry), udělá lepší bezpečnost proti hackování, ale všechny hodnoty ve hře nepozměněné, takže hráči nic nepostřehnout, jen budou mít vše stabilní a s podporou blizzu.

HonkL 16.06.2018 21:22

@Zullis Víš tady je každý zaměstnaný v IT oboru. Nejlépe u blizzardu a přesně tomu rozumí a ví přesně a proč to tak je .. S tím musíš počítat můj teda názor je jako tvůj že to potrvá cca rok a dělá na tom daleko menší team než by dělal vůbec nový datadisk. Je to jenom prostě piplačka než kdyby dělali nový datáč.

K3ks 17.06.2018 10:58

@HonkL Osobne sa tiež pohybujem v IT prostredí, vývojár/tester. Ešte to aj študujem . Samozrejme je to nadsázka ale prerobiť potrebné veci skutočne nie je jednoduchá vec. Nie síce tak ako vytvorenie nového contentu, predsa len tvoria sa modely, doprogramujú potrebné komponenty, vytváranie textúr, nového obsahu, príbehu atď. Ale práve zmeny, ktoré vytvárajú v DB ovplyvňujú veľmi aj zdrojáky a prepisovanie starého kódu (a nie len prepisovanie) je skutočne pracné a nebol ďaleko od toho, že to môže byť rovnako náročné ako tvorenie nového DLC. A ako tu už bolo spomenuté, blizz týmto krokom pripravuje práve možnosti rozšíriteľnosti. Pochybujem, že tam nechajú staré textúry, to nie je vábne už naozaj pre nikoho. Poupravia mechaniky, budú debugovať. Určite predávať aj herný obsah, určite aj achievmenty prídu. Prenos postáv atď. Osobne sa teším na Classic s novými featurami.

Silveralius 17.06.2018 12:29

Osobně si myslím, že vývoj potrvá taky tak rok ještě. Takže se dostaneme na dobu přibližně stejnou jako trvá vývoj nového datadisku.
Tedy přetvoření staré velice komplexní hry do nové je skoro stejná náročné jako nový datadisk.
A to z několika důvodů.
1) DirectX a věci na něj navázané.
2) Formát databáze. A nejde jenom a sloupce v databázi, ale celkově o její strukturu. Vazby mezi tabulkami, různé funkce a procedury popřípadě ještě pohledy jestli využívali.
3) Formát textur. Není tajemstvím, že od Vanily se formát textur změnil. Částečně už nějaké mají převedené určitě, ale kupa jen nahrazená.
4) Formát (Struktura) DBC souborů se taky změnila. A nejenom DBC, kdo někdy zprovoznil wow server ví, že jsou tam ještě mapy a mapy textur a ostatního ve světě.
5) Technologie se dost změnily a vývoj programovacího jazyka taky šel taky dost do předu. Není výjimečné, když něco co jste zkompilovali na jedné verzi C++ nefunguje na jiné.

Některé věci určitě dokáží obejít a zvláště jestli budou používat nové jádro tak verze C++ je nebude příliš trápit. Ale stejně to nebude lehký úkol.
Uvidíme jestli vynaložený čas bude stát za to.

HonkL 17.06.2018 17:48

@K3ks Já neříkám že to je easy.. já říkám že to je piplačka.. a jsem si vědomý co to obnáší a ano taky studuji IT a měl jsem možnost koukat i do vývoje jednoho free serveru.. Však taky s tím počítám že to bude tak ještě rok. Musí starý kod dát do nového a optimalizovat na rok 2018 - 2019 můj osobní názor je takový že to dělá pár lidí oproti hlavnímu teamu který se stará o vývoj nového datáče Taky jsem s tím počítal že to vyjde tak v roce 2019 léto/podzim..

HonkL 16.06.2018 13:48

Mohu videt ted ty pochybovace a kecy typu ze Blizzard nemel zalohovany kod atd ? Tento post od Blizzardu jasne dokazuje ze i stare hry si firmy jako Blizzard nechava zalohovat i roky po tom co nefunguji..jinak jsem rad a konecne se tesim se to bude

Hromovapest 16.06.2018 13:07

Přesně tak. Mrhání drahoceného času a peněz.Nakonec ti hráči co po tom volají to zahrají pár dní a zjistí že raději půjdou zpátky na nejnovější verzi.

corpsen 16.06.2018 14:06

Přečti co si napsal, ohlédni se kolem sebe a pak si rovnou dej Hromovoupěst...

Hromovapest 17.06.2018 14:06

@corpsen Žvatlal je tady.

Zvejkyn 16.06.2018 12:55

Nechci se nějak dotknout lidí kteří ten classic chtějí hrát, ale přijde mi to jako zbytečný mrhání času i peněz. Nevím jaký je financování projektů Blizzardu, ale proč to jednoduše nemohli nechat tak jak to je tzn. nějaký freeservery s tím, že by si to Blizzard nějakým způsobem hlídal, kontroloval popřípadě i okrajově spolupracoval. Takhle mohli peníze vrhnout na vývoj například Diabla 4, mnohem většího obsahu do stávajícího WOW nebo úplně něco novýho
Každopádně díkec za článek.

Esperanta 16.06.2018 12:58

Tady jde hlavně o to, že Blizzard naslouchá fanouškům a ti to chtěli. Haló okolo toho bylo velké a vyeskalovalo to kauzou Nostalrius. Blizzard to, co ty říkáš, asi ví. Ale prostě jde o to, že chce vyjít vstříc fanouškům. Tedy alespoň tak to podle mně je.

Zvejkyn 17.06.2018 08:40

@Esperanta rozumím a souhlasím, ale šlo to řešit podle mě i jinou cestou

Esperanta 17.06.2018 09:40

@Zvejkyn Tak to netuším jakou. Pamatuji si, že tým Nostalriu se i sešel s Blizzardem a probírali to. Dle mého probírali celkem dost možností. Navíc co se jako lepší cesta mohla zdát jiným, to se zase nezdálo těm druhým. Museli přistoupit na zlatou střední cestu. Nemyslím si, že by všechno neprobrali do detailů než se do toho pustili. Hráči řvali po Vanilla serverech dlouho, takže si nemyslím, že by neprobrali všechny možnosti.

K3ks 17.06.2018 10:52

Tieto dve veci spolu vôbec nesúvisia. Blizzard si musí byť vedomí do čoho dal peniaze a je si istý, že svoje financie prerozdeľuje správne. Keby aj tento projekt nevznikal nie je isté či by tie isté peniaze šli zas do vývoja inej hry.

Pro napsání komentáře musíte být přihlášený.
Přihlásit se
nebo
Zaregistrovat nový účet