přejít na obsah přejít na navigaci

Linux E X P R E S, Rozhovor: David White

Konference Cloud computing v praxi

Rozhovor: David White

David White je zakladatel a původní programátor populární strategie Bitva o Wesnoth. Rozhovor s ním připravil někdejší vedoucí českého lokalizačního týmu Lukáš Faltýnek.


reklama

Četli jste už recenzi hry Bitva o Wesnoth?

Ahoj Davide, klasická otázka na začátek. Můžeš se prosím ve zkratce představit našim českým čtenářům? Řekni jim pár základních informací o své osobě. Odkud jsi? Věk, práce, zájmy a tak?

Je mi 25, jsem ženatý a čekáme právě na narození děťátka. Pocházím ze Sydney v Austrálii, ale nyní žiji v Dallasu v Texasu se svou americkou manželkou. V současnosti mě živí návrh softwaru. Pracuji na produktu, který bude sloužit k vyhledávání levných letenek. Vedle programování a jiných počítačových zájmů rád trávím čas se svou ženou a psy. Také se zajímám o záležitosti našeho kostela.

David White se ženou

Jak jsi se vlastně k programovaní/tvorbě her dostal? V kolika letech jsi začal programovat?

No, chtěl jsem již několik let napsat počítačovou hru. Popravdě řečeno jsem již v Basicu navrhoval jednoduché hry. To když mi bylo takových 7 nebo 8 let. Na programovaní jsem ale po teto zkušenosti zanevřel, neboť jsem si nepřipadal příliš dobrý a také jsem nedisponoval dostačujícím hardwarem, což pro mě bylo velmi frustrující.

Ještě že jsi nezanevřel natrvalo. Kdy jsi se k programování vrátil?

V patnácti jsem se rozhodl naučit C, protože jsem slyšel, že se v tomto jazyce programují hry nejvíc. Naučil jsem se C a napsal jednoduchou textovou adventuru. V té době jsem ještě nevěděl, jak psát hlavičkové soubory nebo jak předávat parametry do funkce. Celou moji hru tedy tvořil jeden zdrojový soubor s globálními proměnnými, které jsem používal pro komunikaci mezi funkcemi. Opravdu odstrašující.

Později jsem se chtěl naučit pracovat s grafikou. Nemohl jsem ale pochopit, proč má kniha o C o grafice mlčí. Vždyť přeci každý grafiku potřebuje. V té době jsem nevěděl nic o tom, že různé platformy mají rozdílné API a že kniha o standardu C toto nemůže zahrnovat. Po pár pokusech jsem se na to vše na rok vykašlal.

Co bylo dál?

Pak si můj bratr a kamarád koupili nový kompiler Watcom C/C++, o kterém jsme slyšeli, že byl použit k naprogramování mnoha her. Za každou cenu jsem se pak chtěl naučit C++, ale nemohl jsem si dovolit koupit si o něm knihu. Všechny základy jsem se pak naučil jen díky přístupu na internet.

Začal jsi tedy pak pracovat na Wesnothu?

Ne. Mou další hrou byla jednoduchá automobilová hra. Cílem v ní bylo ukořistit vlajky. Toto byla snad má první hra, která byla dokonce zábavná. Mohl jsem si to už tehdy uvědomit, ale domníval jsem se, že stále není dost dobrá. Přestalo mě to opět bavit a na další rok jsem na vývojařinu zanevřel.

Pak ses už tedy dostal ke strategickým hrám?

Ano. Když jsem hrál Civilizaci III, našel jsem na ní mnoho prvků, které by se daly zlepšit. Především umělou inteligenci. Pokoušel jsem se vytvořit hru podobnou Civilizaci, ale neúspěšně. Nakonec jsem se rozhodl zvolit si něco strategického, ale zároveň jednoduššího. Nyní jsem již věděl, že jsem dostatečně dobrý programátor. Ještě aby ne. Měl jsem již vystudované počítače a také jsem se jimi živil. Mou ideou bylo navržení jednoduché zábavné hry na principu těch, které jsem tak rád jako dítě hrával. Technicky se mi to již zdálo snadné.

Jak tedy tvorba Wesnothu začala a co tě inspirovalo?

Pamatuji si na dvě zábavné hry. Warsong, známý též jako Langrisser, a Master of Monsters. Šlo o tahové hry s fantasy námětem. Warsong měl propracovanější děj, ale Master of Monsters měl lepší funkčnost a ovladatelnost. Postupně jsem vybral z obou her prvky, které jsou již dávno zapomenuty. Také jsem nechtěl, aby šlo o pouhou kopii, tak jsem Wesnoth zasadil do jiného světa. Vymyslel jsem jiná pravidla a mnoho dalších vlastností.

Ani ne za pár týdnů vývoje jsem vydal verzi 0.1. Měla příšernou grafiku, ale jednoduché hrací vlastnosti, díky kterým byla zábavná a funkční. Během několika dnů mi můj první přispěvatel, Francisco Munoz, poslal několik velmi dobrých návrhů na zlepšení grafiky. A tak byl celý projekt Wesnothu na světě. Vše se začalo hýbat.

V jakém jazyce a pod jakým operačním systémem je primárně Wesnoth vytvářen?

Wesnoth je napsán v C++. Když jsem celý vývoj začínal, používal jsem převážně Linux, ale dnes již používám Windows. Wesnoth není postaven na žádném určitém operačním systému, je napsán v portovatelném C++ a používá knihovny jako SDL, které pracují na všech operačních systémech. Díky tomuto návrhu Wesnoth bez problémů běží na třech hlavních platformách: Windows, Linux a MacOS X.

Samozřejmě běží i na mnoha dalších platformách, jako jsou BSD, Solaris a dokonce i Amiga. Ať tak či onak, mým hlavním cílem bylo vyvinout Wesnoth co nejrychleji. A tak jsem použil nejnovější technologie a vlastnosti C++. Díky tomu jsem nemusel mnoho času trávit věcmi jako minimalizace paměti, kterou Wesnoth zabírá. A nebo se snažit dělat něco ohledně jeho rychlosti. Toto však limituje jeho kompatibilitu a je obtížné ho rozchodit na systémech s limitovanou pamětí. I když někteří lidé ho už rozchodili i na svých PDA.

S jakými obtížemi ses při vývoji Wesnothu setkal?

Potkalo nás mnoho komplikací a překážek. Problémy s právy ohledně několika použitých materiálů. Každý chtěl přidat víc a víc vlastností právě v okamžiku, kdy bylo nutné vydat stabilní verzi. Vypadá to tak, že je-li software připraven k vydání s označením "verze 1.0", stojí za tím také dokonalá debata. Osobně se domnívám, že v okamžiku, kdy projekt vypadá kompletně a stabilně a má i nějaké zajímavé rysy, musí se rychle vydat jako stabilní 1.0.

Od zrodu Wesnothu uběhlo již téměř dva a půl roku. Můžeš nám prosím říct, jaká je nyní tvá úloha v tvorbě Wesnothu? Čím se nyní zabýváš?

Popravdě řečeno je velmi těžké oddat se projektu bez toho, aniž by člověk nepomyslel na konec. Nyní se opravdu na hře nepodílím tolik jako dříve. Naštěstí se našla spousta vývojářů, kteří se na celém projektu podílí. Stále trochu kóduji, ale převážně se teď podílím pouze na kontroverzních rozhodnutích a schvaluji velké změny.

Kolik hodin denně ti práce na Wesnothu nyní zabere? Jak tvou práci na Wesnothu chápe tvá rodina - nechybí jim tvůj čas?

V tuto chvíli na Wesnothu mnoho hodin nepracuji. Když jsem začínal na celém projektu pracovat, tak mi to zabíralo třeba i celé dny. I přes víkendy jsem na tom strávil tak 8 hodin. Tehdy jsem ještě nebyl ženatý. Jinak by to bylo mnohem komplikovanější.

Později, když jsem se přestěhoval do Spojených států a oženil se, tak mi vláda nepovolila po dobu osmi měsíců pracovat. To kvůli schválení mého občanství. Během této doby mě podporovala má žena a já se mohl věnovat osm i více hodin denně jenom vývoji.

Když jsem dostal práci, začal se můj čas trávený prací na projektu zkracovat. Ale i tak není snadné na jakémkoliv projektu pracovat nepřetržitě několik měsíců. Má žena mě tehdy také velice podporovala. Však i ona si Wesnoth ráda čas od času zahraje.

Postupem času se Wesnoth stal celosvětově známou hrou. Kdy nastal zlom a začal jsi tušit, že se Wesnoth stane jednou z nejlepších free her? Jaké jsi z toho měl pocity a jaké je máš dnes?

Myslím si, že jsme hodně nedostatků vychytali již v začátcích a již od počátku byl Wesnoth hlavně zábavnou hrou s dobrou grafikou v porovnání s ostatními volně dostupnými hrami. Od samého počátku se hra velmi rozšířila. Přidáním multiplayeru jsme tuto hru mohli představit i těm, které single player příliš neuspokojuje.

Nedávno byla s úspěchem vydána dlouho očekávaná verze 1.0. Jaké jsou plány do budoucna? Plánují se ve hře nějaké převratné změny nebo rozšíření?

Od verze 1.0 jsme vývoj rozdělili do dvou větví. Někteří lidé preferují hraní stabilních a komplexních her. Pro ně tedy máme stabilní větev, která jim zajistí dobrou konzistentní a kompletní hru.

Jiní lidé ale chtějí vyvíjet nové věci. Experimentovat s novými pravidly, jednotkami, kampaněmi a tak dále. Pro ně máme vývojářskou větev, kde je implementována právě tato nová funkcionalita.

Jak početný tým se dnes na tvorbě Wesnothu podílí? Není obtížné tento tým řídit/koordinovat, zvlášť když jeho členové mohou být z celého světa?

Vývojářský tým je velmi proměnlivý. Máme pár kmenových přispěvatelů, kteří podstatně přispěli k celé hře. Kolem nich jsou ostatní, kteří se nepatrně podílí na menších variacích. Celá koordinace je občas velkým oříškem. Jedním z nejtěžších úkolů je ocenit ty, kteří se svou měrou o vývoj podělili. Celé je to občas takový blázinec, že snadno přehlédnete něčí zásluhy a to může vést k frustraci jednotlivců. Ve zkratce: je to obtížné, ale my to zvládáme.

Ve srovnání s počtem komerčních her je dobrých open-source her málo. Proč si myslíš, že tomu tak je? Kde vidíš největší překážky, které jejich vzniku brání?

Domnívám se, že je zcela přirozené porovnávat kvalitu všech her s komerčními, neboť ty mají jasnou převahu. Dle mě je to zcela normální. Mělo by se ale na jednu věc přihlížet, a to na faktory porovnávání. Příliš mnoho kritiků se uchyluje k porovnávání grafiky. Není se čemu divit, však je to nejjednodušší způsob. Grafiku dokážete zkritizovat i bez samotného hraní dané hry. Stačí vám jen vidět krátkou ukázku.

Komerční hry se poslední dobou velice zaměřují na grafiku. Léta investovaná do lepších a lepších grafik - výsledkem je to, že komerční hra pro svůj úspěch potřebuje hlavně rozsáhlý tým grafiků. Takže prodejce zajímá hlavně grafika. Ta přece hru prodává.

Myslím si, že grafika má být jen jednou důležitou součástí hry, ne její podstatou. Open-source hry mají velmi rozdílnou prodejní hodnotu. Zaměřují se hlavně na vývojářské publikum než na širokou klientelu, která hru dostatečně neocení.

Open-source hry budou více a více směřovat k tomu, aby se u nich vyvíjel hluboký příběh a zážitek ze samotné hry pro lidi, kteří se na jejím vývoji podílí. Možná i pro víc lidí. V podstatě, je-li toto našim cílem, grafika musí být dostatečně dobrá pro lidi, kteří hru hrají, ale ne až tak perfektní, aby byli hráči okouzleni samotnou grafikou scény, která ale, hrána po padesáté, přestává být totálně záživná. Již teď toho pár volně dostupných her docílilo. Není jich však příliš mnoho. To by se ale mělo časem zlepšit. Doufejme.

Co bys doporučil začínajícím tvůrcům open-source her? Čeho by se měli vyvarovat? A kde by měli hledat povzbuzení pro svou tvorbu?

Aby se přespříliš nezaměřovali na design. Nezkoušeli mít vše perfektní. Vydávali to, co udělají, do oběhu co nejrychleji. A vydávali to často. Aby nikdy nepřidávali další vlastnosti, dokud program obsahuje závažné chyby, kvůli kterým třeba padá. Nejprve se musí tyto chyby odstranit.

Motivací by měla být skutečnost, že si můžete zahrát svou hru velmi rychle po začátku jejího vývoje. Hra by v žádném případě neměla být napodobeninou komerční hry. Inspirací by převážně měly být ty hry, které vás osobně překvapily svými rysy, ale nebyly širokou veřejností dostatečně přijaty. Přidávejte hodnotu tomu, co děláte.

Podílel ses (podílíš se) ještě na jiných projektech? Ať už komerčních, či nekomerčních?

Mým jediným dalším projektem je to, co mi zadá můj zaměstnavatel. Hraji ale Civilizaci 4 a zaslechl jsem, že bude vydána C++SDK pro tuto hru, která umožní napsání vlastní umělé inteligence. Až vyjde, může se stát, že si s tím budu chvíli hrát a napíši si vlastní umělou inteligenci pro Civilizaci 4.

Co pro tebe osobně celosvětový úspěch Wesnothu znamenal/znamená?

Popravdě se domnívám, že nejen mým cílem, ale i cílem všech ostatních vývojářů je být spojován s hrou, kterou sami rádi hrajeme a kterou uznávají i ostatní vývojáři. Největší výhodou většího týmu lidí je možnost lidi více začlenit do samotného vývoje. Celé je to pak větší zábava pro všechny. Samozřejmě, že více než potěšitelné je pro mne to, že velký počet lidí hraje rádo hru, na které jsem se sám podílel.

Děkuji za rozhovor.

Opravdu jste recenzi hry Bitva o Wesnoth četli?
Originální anglická verze rozhovoru.


Nahoru

Top články z OpenOffice.cz

Přidat téma diskuse

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Lukáš Faltýnek

Lukáš Faltýnek

Vystudoval informační management na Univerzitě Hradec Králové. Pracuje jako analytik/programátor. Láskou k počítačům vzplanul v roce 1986, kdy dostal svůj první počítač Atari 800 XL. S Unixem se poprvé setkal před dvanácti lety. Chvíli nato pak s Linuxem, který si pro jeho svobodu zamiloval. Je ženatý a má dvě děti. Mezi jeho koníčky patří literatura, kinematografie a cestování.


  • Distribuce: Ubuntu

| blog