První generace konzole Xbox

První generace konzole Xbox

Revoluce s Xboxem se povedla, tablet snů mu v Microsoftu zařízli

  • 7
Otto Berkes stál u zrodu úspěšné herní konzole Microsoft Xbox. Počátky ale byly velmi rebelské a jeho tým musel jít proti firemní kultuře Microsoftu. Jaké výzvy čekají na programátory dnes?

Herní konzole Xbox je od Windows 10 pevnou součástí operačního systému. Byly ale doby, kdy tomu bylo právě naopak. „Práce na Xboxu byla zpočátku spíše taková rebelie,“ vzpomíná Otto Berkes, americký programátor, který působil v Microsoftu, Autodesku a vedl také technickou sekci HBO.

Nyní působí v mezinárodní technologické firmě CA Technologies jako její technologický šéf. „Baví mě pohlížet na platformy systémově a navrhovat nejen software, ale i systém, jak tento software vyvíjet a udržovat,“ řekl v rozhovoru pro Technet.cz během své návštěvy v Praze.

Počátky počítačové grafiky

Otto Berkes, CTO u CA Technologies

Většina našich čtenářů vás nejspíš zná díky konzoli Xbox. Jak jste se dostal k jejímu vývoji?
Vystudoval jsem vývoj softwaru a programováním jsem strávil většinu kariéry. Dlouhou dobu jsem se zabýval počítačovou grafikou, která mě vlastně přitáhla k programování. V 80. letech jsem začínal s počítačovou grafikou na prvních PC, to bylo opravdu vzrušující. Dělal jsem pro několik firem, ale můj největší přesun byl od Autodesku (kde jsem vyvíjel AutoCAD) k Microsoftu. Používal jsem Windows od první verze, ale teprve od Windows 3.1 se pro tento systém dala pořádně programovat grafika.

U Microsoftu jsem pracoval pod Michaelem Abrashem, který byl v té době světovou špičkou v této oblasti. Pracovali jsme společně na grafickém enginu pro Windows NT. Tato verze se zaměřovala na silné počítače a my věděli, že musíme zapracovat na grafice. Koupili jsme licenci na OpenGL, což byla moje další zodpovědnost. Poprvé jsem vedl svůj tým inženýrů. Krátce na to jsem dostal na starost i DirectX, což byla proprietární grafická knihovna Microsoftu.

Pro mě byl DirectX ve své době asi největší soubor, který jsem musel stahovat přes dial-up. Co znamenal pro vás?
DirectX byl vlastně prvopočátkem projektu Xbox, takže byl nesmírně důležitý. Tím, že to byla proprietární technologie Microsoftu, mohlo dojít k dobrému provázání s operačním systémem. Také jsme získali dobrou pozici pro jednání s vývojáři hardware. OpenGL bylo vyvíjeno prostřednictvím komise k tomu určené.

To zní jako pomalý proces.
Ano, většinou ano. Byl jsem zástupcem Microsoftu v komisi pro OpenGL a můžu potvrdit, že to šlo ztuha. S DirectX jsme mohli implementovat cokoli, co jsme potřebovali a kdy jsme potřebovali. Všechno tak bylo jednodušší a mohli jsme udržovat tempo s rapidním vývojem grafických karet v té době.

Tehdy docházelo k revoluci, kterou si dnes sotva představíme. Když se dnes zlepší výkon o 10 fps, hráč to sotva postřehne. Tehdy to byl rozdíl mezi prezentací diapozitivů a hratelnou hrou.
Od té doby jsme se dostali k zákonu klesajícího mezního užitku. Další milion tranzistorů už nemá stejný užitek jako dřív. DirectX nám tehdy dal možnost jít na špičku jak po stránce softwarové, tak po stránce hardwarové. To bylo skvělé a mohli jsme na PC nabídnout hráčům skvělé prostředí.

„DirectX bylo dobré, ale nebyli jsme v obýváku. Potřebovali jsme novou platformu pro hry.“

Ale když jsme se podívali na celý trh, bylo jasné, že máme co dohánět. Nebyli jsme v obývacím pokoji. Hledali jsme, jak zachovat to nejlepší z hraní na PC a přitom nabídnout nový hráčský zážitek. Chtěli jsme navrhnout platformu, na které vývojáři mohou stavět kvalitní hry, lepší, než na konkurenčních platformách.

Jak moc jste sledovali, co dělala PlayStation, a nakolik jste prostě vyvíjeli to nejlepší, co můžete? Měli jste špióny, přátelská setkání?
Nejlepším zdrojem inspirace – a nakonec zdrojem pravdy - byli vývojáři. Právě ti rozhodnou, jestli se funkce a možnosti, které do nové verze zahrneme, dočkají využití. S vývojáři jsme se setkávali, pořádali focus groups a neustále s nimi komunikovali. Měli jsme tak vhled do vývojářského ekosystému, což se nám opravdu hodilo u Xboxu i DirectX.

Hodně kluků sní o tom, že budou programátory počítačových her, a jsou pak překvapeni, jak (relativně) nudná a náročná práce to je. Je pro vývojáře opravdu počítačová hra nějak zvlášť odlišná od řekněme kancelářského balíku?
To je dobrý postřeh. Hodně lidí se zapomene na úrovni uživatelského rozhraní aplikace, ale jakmile jdete trochu pod kapotu, je to velmi podobné programování a záleží na „velikosti“ projektu spíše než na jeho typu. Velká on-line hra bude v mnohém podobný projekt, jako jsou sociální síť nebo mezinárodní platební systém.

Je to byznys. Už třeba jen bezpečnostní opatření. Servery pro on-line hry musí být v podstatě stejně dobře zabezpečené jako servery banky. Různé větve softwarového vývoje mezi sebou mají více společného, než se na první pohled zdá. Potřebujete zabezpečení, škálování, správu uživatelů, podporu, optimalizaci, robustnost... to je všechno stejné.

Jak (ne)vyvíjet revoluční produkt ve velké firmě

Projekt Xbox byl pro Microsoft opravdu unikátním krokem mimo obvyklé zaměření. Dívali se na vás jako na rebely? Jako na jakýsi startup uvnitř firmy?
Přesně tak to začalo, jako rebelský projekt. Sešlo se nás pár, co jsme o herním průmyslu smýšleli podobně, a řekli jsme si: je to příležitost uchopit to lépe, než je naše oficiální strategie. Máme alternativu, která je podle nás lepší. Takže ano, byl to rebelský projekt, který šel proti kultuře Microsoftu. A pak se to formalizovalo do takového startupu pod hlavičkou Microsoftu.

Microsoft Courier

Tablet, který v roce 2010 nadchl fanoušky, se na trh nikdy nedostal

Je to fascinující příběh. Zvlášť když vezmeme v úvahu, jak Microsoft v letech 2000 až 2010 často radikálně zasahoval do nadějných projektů. Třeba když přišli vývojáři se čtečkou elektronických knih...
To myslíte tablet Courier, na kterém jsem také spolupracoval?

Opravdu? Tak to mi musíte říct, proč to nakonec nevyšlo?
Měli jsme opravdu inovativní nápad. Myslím, že tam bylo pár věcí, které by i dneska byly unikátní a užitečné. Myšlenka zařízení s více obrazovkami, ovládání perem, zaměření na gesta a kreativitu. Naším cílovou skupinou byli lidé pracující s texty a s nápady. Úmyslně jsme mířili na malý segment, abychom jim mohli dát o to kvalitnější uživatelský zážitek.

Koncept tabletu Courier na dobovém videu:

Je pravda, že projekt nedostal zelenou proto, že na zařízení neběžely klasické Windows?
To je hodně zjednodušené. Ale dá se říci, že projekt nezapadal do širší strategie společnosti, která v tu dobu vše směřovala hlavně na systém Windows. Navíc to byl příliš úzce zaměřený produkt. A tehdejší verze Windows určená pro malá zařízení nebyla pro Courier schůdná.

Takže místo toho pokračoval koncept Tablet PC, která sice Windows měla, ale jejich použitelnost v praxi byla velmi omezená.
Koncept Tablet PC (Microsoft jej představil v roce 2000, tedy plných deset let před iPadem, pozn. red.) určitě trpěl tím, že chtěl být vším pro všechny. Měl velké ambice a zařízení je nemohlo všechny naplnit. Navíc byl ten systém založen prakticky bez úprav na desktopovém systému Windows, což na flexibilitě nepřidalo. Navíc jsme tehdy neměli úsporné procesory, takže to bylo o to těžší.

Ale Xboxu se dařilo, a to už od začátku. Čím to bylo?
Ano, byl to rapidní start. Jsem rád, že jsem byl u toho. Pomohlo nám, že jsme opravdu od začátku pracovali s vývojáři her a dělali vše proto, abychom jim umožnili dělat skvělé a propracované hry. Důležitou ingrediencí byla také internetová konektivita, Xbox Live byl okamžitý hit.

Budoucnost programování

„Programování vůbec není rutina. Je před námi spoustu výzev: decentralizované systémy, strojové učení, velká data...“

V 90. letech objevovali programátoři úplně nový svět. Je i dnes práce programátora tak dobrodružná?
Samozřejmě. Abych použil srovnání s automobilovým průmyslem, který je tu už mnohem déle: nikdo neříká, aha, všechno, co šlo na autech vymyslet, už bylo vymyšleno v první polovině 20. století. Stejně tak není pravda, že je z programování rutina. Vůbec ne. Jednak jsou tu stále nové výzvy - třeba postavit masivní decentralizované systémy je problém, který je stále aktuální, pořád je co objevovat, zkoušet a vylepšovat. Je tu spousta věcí týkajících se serverového programování, strojového učení, analýzy a ukládání velkých dat (jakkoli je to dneska tak trochu klišé). Programátoři hledají, jak smysluplně a chytře analyzovat přibývající množství dat.

Myslíte, že je ve velkých firmách prostor pro inovace? Nebo se musejí velké firmy držet konzervativních scénářů a lepší šanci na inovaci mají startupy?
I ty velké firmy začaly jako garážové startupy, podívejme se na Google nebo na Minecraft. A jedním z důvodů je právě možnost stavět na již dostupných nástrojích (frameworks), čímž se vyhnete tomu, že pořád dokola vynalézáte kolo. To znamená, že dnes můžete vyvíjet nový software rychleji než dříve.

Což je vlastně i to, co slibuje vaše firma?
Přesně tak, v CA Technologies dáváme klientům zázemí a vycházíme při vývoji aplikací z bohaté škály hotových řešení. Já za svou úlohu považuji i jakýsi pohled do budoucna - v čem bude v příštích letech spočívat vývoj software, kde budou třecí plochy, kde je nový potenciál pro inovace a úspory? Vývoj software pro velké společnosti tak může být individuálnější, než tomu bylo dříve. To je podle mého úspěch. A snažíme se dívat se do daleké budoucnosti. Velmi dobře vím, že s novým produktem lze na trh přijít příliš brzy nebo příliš pozdě.

Když jdete na trh pozdě, tak to poznáte asi snadno - všichni včetně prarodičů už o produktu vědí. Ale jak poznat, že jdete na trh moc brzy? Na ruce máte, jak vidím, Apple Watch. To by mohl být produkt, který šel na trh moc brzy?
Ano, trochu to tak vypadá (smích).