Hogyan kerültem a Valve-hez, milyen itt lenni és mivel foglalkozom Írta: Michael Abrash
Az egész a Snow Crash cyberpunk regénnyel kezdődött. Ha nem olvastam volna, sosem szeretek bele a Metaverzum ötletébe. Ha emiatt nem jövök rá, mennyire közel van a számítógépes hálózatba kötött 3D a valósághoz, vagy ha nem gondoltam volna magamban, hogy ezt meg tudom csinálni, de ami ennél is fontosabb, nem gondoltam volna, hogy ezt akarom csinálni, sosem indultam volna el azon az úton, amely végül a Valve-ig vezetett. 1994-ben már néhány éve a Microsoftnál dolgoztam. Egy este, míg a lányom a Sammamish Plateau-n a Little Professor könyvesboltban nézegette a könyveket, megakadt a szemem a Snow Crash-en a polcon. Felkaptam, beleolvastam; úgy döntöttem, megveszem, és még aznap éjszaka ki is végeztem. Azon kezdtem gondolkodni, hogyan működhetne a könyv nyolcvan százaléka már akkor is, és soha nem akartam még ennyire megcsinálni semmit, amihez számítógépnek köze volt – egész életemben sci-fi-t olvastam, és ez volt a legjobb esélyem, hogy a sci-fit valóra is váltsam. Meg is próbáltam elindítani egy hálózatba kötött 3D-motor készítésével foglalkozó projektet a Microsoftnál. Nagyjából egy időben azzal, amikor egyértelműen kiderült, hogy a projektből nem lesz semmi, John Carmack, aki az Id Software-nél éppen akkor fejezte be a Doom írását, meglátogatta Seattle-be az édesanyját. El is mentünk vacsorázni a Thai Chef-be. Addig Johnnal csak egyszer találkoztam személyesen, viszont ismertük már egymást: mikor még a PC-programozást tanulta, olvasta a PC-grafikával foglalkozó cikkeimet, párszor eszmét is cseréltünk az M&T BBS-en. Az első találkozásunkkor meglepett: megkérdezte, hogy nem akarok-e az Id-nél dolgozni. Nemet mondtam neki, mert épp a Windows NT piacra dobásának kellős közepén voltam, és a Microsoft nagylelkűen bánt a részvényopciókkal. Tudtam, hogy most is rá fog kérdezni, és azt is, hogy ismét nemet fogok mondani, mert még jobban el
voltam havazva a cégnél, és mert még több részvényopcióm volt. John viszont semmi ilyesmit nem mondott az első két órában. Az internetes perzisztens játékszerverekről beszélt, emberekről, akik a saját pályákat csinálnak, saját szervereket üzemeltetnek, aztán arról, hogyan lenne lehetséges ezeket összekötni, hogy egész virtuális világ nőhessen ki belőlük. Rájöttem, hogy igazából a Metaverzumról beszél – nem annyira ragyogóan, mint Neal, de elképesztően, diadalmasan és hihetetlenül valószerűen. És mikor végül megkérdezte, hogy nem akarok-e mégis az Id-nél dolgozni, rájöttem: most nem szalaszthatom el az esélyt, hogy ezt a látomást valóra váltsam. Johnnal dolgozni olyan volt, mint a Mátrix azon jelenete, amikor Neo agyába az egyik harcművészet után töltik a másikat. Esténként bénultan tántorogtam ki az Id Mesquite-beli irodájának, a Black Cube-nak a parkolójába, és onnan vezettem fél órát haza Planoba. Próbáltam lépést tartani Johnnal abban, hogy egy teljesen új programozói környezetet találjunk ki – 3D-s, internetes kliens-szerver többszereplős játékot, modokat, szkripteket, mindent, hiszen csak mi voltunk ketten programozók. [Vajon Abrash szándékosan felejtette ki John Romerót és John Casht? – a ford.] Minden villámsebesen történt, nem volt idő hátradőlni és tűnődni – a Quake érkezésem után tizenhat hónappal már a boltokban volt. És persze az egész megérte – nem csak én fejlődtem elképzelhetetlen mértékben programozóként, hanem a Quake maga is alapvető játékká nőtte ki magát; nyilván nem volt a világ egyik legjobb játéka, de műszakilag mindenképpen áttörésként nevezhető (le kell szögeznünk, hogy ennek John volt az ötletgazdája és a hajtóereje), olyannak, ami lehetővé tette egy máig erős közösség és játéktípus létrejöttét. Például, mikor a Valve-nál kezdtem, kiderült, hogy az ottani munkatársak tucatjai kezdték a karrierjüket Quake-modok készítésével, vagy a Quake motorjára épülő valamilyen játékokon dolgoztak – valamilyen módon tehát én hoztam létre a saját állásomat 15 évvel később. 1996-ban az Id-t meglátogatta Mike Harrington és Gabe Newell, akik épp akkor hagyták ott a Microsoftot, hogy megalapítsák a Valve-et. Licencelni szerették volna a Quake forráskódját, hogy arra építsék az első játékukat. Az Id-nél különösebben senkit nem érdekelt ez a dolog, még szóba sem akartak állni velük; én azonban ismertem Mike-ot és Gabe-et még a Microsoftból (igazából amikor elkezdtem alvállalkozni a Microsoft-nak 1992-ben, Mike nagyon sokat segített nekem
önzetlenül, nem is éltem volna nélküle túl), úgyhogy közbeléptem, és segítettem, hogy legyen a licencelésből valami. Ez jó ötletnek bizonyult majdnem minden résztvevő számára: az Id később sok pénzt keresett a játékmotor licenceinek eladásaival, a Valve pedig a kódra építve készítette el a Half-Life-ot. Én személyesen nem profitáltam az üzletből (talán csak nagyon hosszú távon), mivel röviddel ezután úgy döntöttem, hogy otthagyom az Id-t. A tervem az volt, hogy visszamegyek a Microsofthoz. Mike és Gabe persze megkérdezték, nem akarok-e a Valve harmadik alapítója lenni. Sokat gondolkoztam rajta, de végül úgy döntöttem, hogy egy darabig elegem van a kis játékfejlesztő cégekből, és csatlakoztam a Microsoft emberi nyelvekkel foglalkozó csoportjához, ahol eltöltöttem még egy-két kitűnő évet (rengeteget tanulva a nyelvekről), mielőtt rájöttem volna, hogy ezek a problémák nem valószínű, hogy még az én életemben megoldódnak. Vitathatatlan, hogy a Microsofthoz visszamenni nem volt a világ legjobb döntése, de legalább nem volt végleges sem. A Valve hosszútávra tervez: az évek során sok Valve-ossal voltam kapcsolatban, és egyikük-másikuk időről időre megkérdezte, hogy csatlakozom-e végül hozzájuk. Tizennégy évvel később (említettem már, hogy a Valve hosszútávra tervez?) befejeződött az Intel Larrabee projektjén végzett munkám. Tudtam, hogy a Valve klassz játékokat csinál és nagyon sikeres, és ismerek ott egy csomó embert, akiket szeretek és tisztelek: ez elég volt ahhoz, hogy megérje megpróbálni. Elmentem tehát a Valve-hoz úgy, hogy majd’ semmit sem tudtam a vállalat kultúrájáról vagy szervezeti rendjéről, valami olyasmire számítva, hogy olyan lesz, mint azok a helyek, ahol korábban dolgoztam. Óriási meglepetés várt rám.
A Valve más, mint a többiek Rengeteg cégnek dolgoztam sokféle helyzetben az elmúlt harminc évben. Voltam programozási tanácsadó, írtam folyóiratokba, írtam könyveket. Dolgoztam játékokon egyedül, cégtárssal és különféle cégekben is. Dolgoztam operációs rendszereken, meghajtóprogramokon, förmvereken, emberi nyelv értelmezésen, konzolokon és processzortervezésben is. Rengeteg tanácsot adtam, illetve
dolgoztam egy sor induló és kis cégnek, foglalkozzanak akár szoftverrel, akár hardverrel. Dolgoztam a Microsoftnak, az Id-nek, és a RAD Game Toolsnak. Mind érdekes volt és nagyszerű élmény, lehetőség a tanulásra, egyik-másik kifejezetten emlékezetes hely volt. Röviden, rengeteg mindent láttam abból, hogy mit kínál a technológia. De a Valve más. Gabe ezt így magyarázza: amikor a kilencvenes évek elején a Microsoftnak dolgozott, felmérést készített arról, hogy mi az, a szoftver, amit telepítve van a gépeikre. A második legtöbbször telepített szoftver a Windows volt. Az első pedig a Doom. Gabe-nek a gondolat, hogy egy tíz fős, huszonéves fiatalokból álló cég a texasi Mesquite-ből olyan szoftvert készít, amely több gépre van telepítve, mint a piacvezető cégé, valami alapvető dolgot változtatott meg a termelékenység természetét illetően. Amikor megvizsgálta a szervezet múltját, azt találta, hogy a hierarchikus menedzsmentet alapvetően katonai célokra találták föl, ami tökéletesen megfelelt arra a célra, hogy 1000 embert felküldjenek egy hegyre, hogy ott pedig halomra lőjék őket. Az ipari forradalom idején a a hierarchikus menedzsment ismét jó választás volt, ugyanis a menedzsment célja az volt, hogy minden embert egy komponensként kezeljen, akik ugyanazt a folyamatot hajtják végre újra meg újra. A Doom sikere nyilvánvalóvá tette, hogy a helyzet megváltozott. A dolgok akár csak kétszer ismétlése értéktelennek bizonyult, ugyanis az érték mindig valaminek a megalkotása során keletkezett. A Doom kiadása után programozók és művészek ezreinek adatott meg a lehetőség, hogy hasonlót alkossanak (és sokan közülük meg is tették), de egyik próbálkozás sem ért még csak a közelébe sem az eredeti hatásának. Teljesen analóg módon, ha programozó vagy, akkor nagy valószínűséggel minden képességed megvan ahhoz, hogy megírd az új Facebookot, a Google keresőmotort, a Twittert vagy akár egy böngészőt. Kiráznád a kisujjadból a Tetrist, az Angry Birds-öt, a Words with Friends-et, a Farmville-t, vagy bármely másikat a többszáz siker közül. Kevés érték van azonban
másodiknak lenni, és ez itt a lényeg: az Internet korában a szoftverek sokszorosítása szinte ingyen van, jelentős a hálózati hatás, mindezt pedig egy pozitív visszacsatolási spirál jellemzi, ami végeredményben azt jelenti, hogy az első mindent visz. Ha a kezdeti kreatív tevékenység képviseli a legtöbb értéket, nincs sok haszna a hagyományos hierarchikus szervezetnek, amit arra terveztek, hogy ugyanazt a dolgot állítsa elő újra és újra, mégpedig úgy, hogy az egyes verziók között minimális különbségek legyenek. Ami igazán számít, az az elsőnek levés, a termék pozitív visszacsatolású spirálba juttatása a folyamatos kreatív innováción keresztül. A hierarchikus menedzsment nem segíti ezt a folyamatot, az innovációban szűk keresztmetszetté válnak a hierarchia tetején elhelyezkedők, nincs okunk azt gondolni, hogy ezek az emberek mindig kreatívak tudnának lenni a jelenlegi termékektől jelentősen különböző új termékek megalkotásakor, sőt ennek pont az ellenkezője igaz. A Valve tehát olyan céggé szerveződött ami vonzza azokat az embereket, akik a kezdeti kreatív lépéseket képesek megtenni, hagyja ezeket az embereket kreatívan alkotni és igyekszik meg is tartani őket. A Valve-nél sem formális menedzsment, sem hierarchia nem létezik. Legbelül talán senki nem hiszi el az előző mondatot. Én legalábbis nem hittem el, amikor előszor hallottam. Hogyan működhet egy 300 fős cég formális menedzsment nélkül? Tapasztalataim szerint egy új alkalmazottnak kb. 6 hónapjába kerül mire elfogadja azt a tényt, hogy senki sem mondja meg neki, hogy mi a dolga, nem fogja egy menedzser értékelni a munkáját. Itt nincsenek kinevezések, fix beosztások vagy meghatározott szerepek (vannak viszont a munkatársak által meghatározott mértékű, nagyvonalú fizetésemelések és bónuszok a cég értékétől függően). Csak és kizárólag az alkalmazottak határozzák meg, hogy mihez kezdenek a cég legértékesebb erőforrásával – az idejükkel – mégpedig úgy, hogy kitalálják mi lehet a leghasznosabb dolog a cég számára, aztán ezen dolgoznak. Ha úgy döntenek, hogy valami mást szeretnének csinálni, egy menedzser sem fogja őket lebeszélni; csak áttolják az asztalukat az új csapatukhoz (az asztalok kerekeken gurulnak és a számítógépek vannak rögzítve rájuk), aztán nekilátnak az új dolognak. (Nyilván ezt ésszerűen kell csinálni, mindkét csoporttal egyeztetve megfelelő időpontot választani a váltáshoz, de ez inkább az ésszerűségből adódik, és egyáltalán nincs erőltetve.) Minden résztvevő
hozzátesz valamit a projekthez, kódol, rajzol, pályát tervez, zenét szerez stb, beleértve a a projekt vezetőit is; nincsenek tisztán menedzseri, szoftvertervezői vagy dizájneri szerepkörök. A cég bármelyik része egy hirtelen ötlettől vezérelve bármikor irányt válthat, mert nincsenek a területükhőz és a beosztottaikhoz görcsösen ragaszkodó menedzserek, nincs szükség átszervezések megtervezésére, vagy költségvetések átcsoportosítására. Vannak olyan feladatok is, amiket Gabe nagyon szeretne, ha a cég csinálná, de senki sem kezdte még el csinálni. Amit a legnehezebb elhinni, az a bizalom mértéke. A bizalom mindent áthat. A Valve összes anyagát a “Perforce” cég verzió és asset management rendszerében tárolunk, ami minden alkalmazott számára elérhető, sőt, módosítható. Bárki bármin dolgozhat, amiről úgy gondolja, hogy van értelme, a Steam Workshop a legfrissebb eredménye ennek a hozzáállásnak. Az alkalmazottak szinte mindent megtudhatnak arról, hogy hogyan és mit csinál a cég; a cég teljesen átlátszó az alkalmazottai számára. Másokkal ellentétben a Valve nem állít szervezeti korlátokat az alkalmazottai elé, egyszerűen megbízik bennük, és hagyja őket értéket teremteni. Persze tisztázzuk, a Valve nem írta felül varázsütésre a termékek fejlesztésének és kiadásának valóságát. Mi is emberből vagyunk, a csapaton belüli előfordulnak viták (néha eléggé szenvedélyesek) arról, hogy mit és hogyan csináljunk, de az emberek tisztelik egymást és végül mindig egy működő konszenzus alakul ki. Ahogy a termékek kiadási ideje közeledik, jellemzővé válik a stressz és a rugalmatlanabb folyamatok, különösen amikor a konzolokra való jóváhagyás miatt szűk határidőket kell tartani (bár a PC-re való kiadás sokkal rugalmasabb a Steamnek hála). Az emberek, vagy akár egész csapatok néha olyan utakon haladnak, amik nyilvánvalóan nem működhetnek, ilyenkor a többiek feladata, hogy figyelmeztessék és helyes útra tereljék az eltévedteket. Természetesen ne higgyük, hogy az emberek bejönnek dolgozni és azt csinálják, ami éppen eszükbe jutt. Az nem lenne elfogadható, ha egy programozó bevonulna egy üres szobába és szalmakalapot kezdene szövögetni (bár az már teljesen helyénvaló lenne, ha fejlesztene egy eszközt, ami virtuális szalmakalapok szövését és kereskedelmét tenné lehetővé). Az emberek csatlakoznak projektekhez, a projektek önszervezőek, és bár vannak vezetők, de a csapat őket informálisan
választja meg. A kinevezés nem jár pénzzel vagy tekintéllyel, a pozíció ideiglenes – a vezető a következő projektben lehet, hogy csak egy egyszerű csapattag lesz. A vezetők hatásköre nem terjedhet ki másra, mint arra, amit mindenki jóváhagy, hogy segíteni fogja őket a projektben. A résztvevők választják meg a tesztelés mikéntjét és mértékét, a kód Perforce-ba kerülésének szabályait, hogy milyen gyakran legyenek a meetingek (nem túl gyakran), és hogy mi a projekt célja, valamint azt is, hogy hogyan érhetik el a célt. És persze minden projekt más és más. Alig hihető, de működik. Számomra ez valami olyasmi, mint az evolúció: zavaros, rengeteg hatékonytalansággal (ami normális cégek esetén hiányzik) – de mindezek ellenére figyelemreméltó eredményeket képes felmutatni, olyasmiket, amik egy normális, hierarchikus menedzsment esetén nem jöhettek volna létre. A játékok magukért beszélnek, és persze ott van a Steam is (nem, a Steamnél sincs hivatalos menedzsment). A Valve sikereinek hosszú sora, amik közül több is valódi úttörő dolog volt, ékes bizonyítékai azon elmélet helyességének, hogy a kreatív emberek a siker kulcsai. A Valve ezen kreatív emberek köré szerveződése sikeres volt. És, majdnem definíció szerint, ez egy nagyszerű munkahely a megfelelő kreatív emberek számára.
Amiken most dolgozom Hogy mi az eddigi személyes tapasztalatom? Ahogy korábban írtam, amikor ide kerültem, keveset tudtam a Valve munkamódszeréről, és az első napjaim sem úgy teltek, mint ahogy vártam. Arra számítottam, hogy sok technikai munkát zúdítanak majd rám – például láthatóságszámításokat a Source motorban vagy “fog of war” számításokat a DotA 2-ben (később tényleg dolgoztam ezen, de csak mellékesen – érdekes kis optimalizálás volt, amiről hamarosan majd írni is fogok). Ehelyett néhány ötletet kaptam olyan területeket illetően, amikről a kollégák azt gondolták, hogy érdekesek lehetnek a számomra, persze konkrétumok nélkül.
Akkor kerültem legközelebb ahhoz, hogy utasítást kapjak, amikor a Source engine csapat a Portal 2-t optimalizálta. Én sok ilyesmivel foglalkoztam, így Jay Stellynek javasoltam, hogy talán én is be tudnék segíteni. Jay azt válaszolta: “Rendben, akár dolgozhatsz ezen is, de igazából ezt meg tudjuk oldani magunk is”. Néhány hasonló beszélgetés után rájöttem, hogy ezzel azt akarta mondani, hogy gondoljam végig, hogy tényleg ez lenne-e a leghasznosabb dolog, amit csinálhatok. Addigra már a Source motor optimalizálásában több jártas ember is a Portal 2-n dolgozott, így azon kezdtem el gondolkodni, hogy milyen nagyobb kaliberű dolgokat tudnék csinálni, amit senki más nem tud. Néhány további beszélgetés a cég különböző tagjaival megváltoztatta a gondolkodásmódom, és elvezetett egy meglepő helyre: a wearable computing, azaz a “viselhető számítógép” területére. Ez alatt a mobil számítástechnikára gondolok, ahol a számítógépes grafika és a való világ könnyedén összefonódik; nincs különálló kijelző a kézben (gondoljunk a Terminátor filmre). A trendek is azt mutatják, hogy az asztali gépektől a laptopokon át a tabletekre váltottunk, mert egyre több helyen, egyre többször akarjuk a számítástechnikát használni. A logikus végpont a számítástechnika bárhol, bármikor – ez a viselhető számítástechnika – és nem kételkedem benne, hogy 20 év múlva mindez már mindennapi lesz, valószínűleg szemüvegeken vagy kontaktlencséken keresztül, de az is lehet, hogy valamilyen közvetlen idegi kapcsolaton keresztül. Elég magabiztos vagyok benne, hogy ez a váltás egyébként jóval hamarabb fog bekövetkezni; szinte biztosan 10, de könnyen történhet 3-5 éven belül is, mert azon kulcs területek fejlődése – bevitel, feldolgozás, energiaellátás, méret, kimenet –, amik szükségesek a viselhető számítástechnika számára, noha hagynak kívánnivalót maguk után, már ma is szépen alakulnak. Persze, a hardver csak annyira hasznos, mint a rajta futó szoftver, bonyolult problémák hálózata vár megoldásra a hardver-szoftver rendszerek működésével kapcsolatban. Hogy fog kinézni a viselhető UI, és hogy fog kapcsolódni a viselhető bevitelhez? Honnan fogja tudni a számítógép hol vagy és mit nézel? Amikor az emberi látószerv két egymásra helyezett képet lát, egy valósat és egy virtuálisat, mit fog elfogadni és mit fog elutasítani? Mennyire hasznos a kiterjesztett valóság – ha egyáltalán, mennyire éri meg terméket csinálni belőle a közeljövőben? Milyen hardver szükséges a szoftver futtatásához? És így tovább - tiszteletreméltó kihívások vannak minden irányban (remélem hamarosan írhatok néhányról);
engem mindez a Quake-re emlékeztet nagyobban, ahol ki kellett találnunk a 3D grafikát, kliens-szerver kapcsolatot, fájl formátumokat, mindent a semmiből. Szerintem megvan benne az erő, hogy egy technológiai inflekciós pont legyen, akárcsak a Quake, ami után minden megváltozott. Ez a technológia nagy lépés a Snow Crash felé. Nem csinálnám ezt a Valve-nál – talán a Valve nem is foglalkozna ezzel – ha a Snow Crash nem vitt volna az Id felé először. Miután átgondoltam ezeket és rengeteg kutatást is végeztem, arra jutottam, hogy megérné kideríteni tehet-e valamit a Valve a viselhető számítástechnika fejlődése során. Megfuttattam az eredményeimet sok, általam tisztelt kollégával is. Arra a megegyezésre jutottunk, hogy megéri kísérletezni a viselhető számítástechnikával; a fő kérdés magának a kísérletezésnek a megszerkesztése volt, hogyan tudjuk vizsgálni a sikert és sikertelenséget, hogy hasznos információkat szerezzünk ezekből. De senki sem mondta meg, hogy hogyan csináljam, nem voltak hivatalos feladatok, ajánlások; miután összegyűjtöttem elég információt és átgondoltam az egészet saját értékrendem szerint, nekifutottam a projekt indításának. Álljunk meg egy pillanatra és nézzük meg ezt a saját munkánk kapcsán. Mennyire fantasztikus az, hogy ez a projekt csaknem egy éjszaka alatt jött létre csak azért, mert én úgy gondoltam, hogy ez a legértékesebb dolog amit a Valve-nél létre tudok hozni? Csak hogy tisztán lássunk, ez kutatás-fejlesztés. Ezen a ponton még szó sincs semmilyen termékről és sokáig nem is lesz, ha lesz egyáltalán, szóval jobb lenne elkerülni a pletykákat a Steam szemüveg E3-on való bejelentéséről. Ez egy kezdeti kutakodás egy meglehetősen érdekes és ígéretes területen, ami inkább a kutatás mintsem a fejlesztés témakörébe tartozik. A Valve metodika szerint kísérletezünk, a kísérletekből tanulunk. A bukás elfogadott mindaddig, amíg időben vesszük észre, tanulunk belőle, továbblépünk, a megszerzett tapasztalatot pedig felhasználjuk a következő kísérletnél. A folyamat gyors és iteratív, még csak az elején járunk. Hogy milyen messzire és milyen irányba halad tovább a kutatás, az a megszerzett tapasztalatoktól függ.
Attól is függ a dolog, hogy ki végzi a kutatást. A csapat növekszik és jól haladunk, de rengeteg dolog van és szükségünk van okos emberekre. Rengeteg okos emberre. Hardveresekre, szoftveresekre, förmveresekre, játékfejlesztőkre, UI fejlesztőkre, egyszerűen csak kiváló programozókra és problémamegoldókra, ipari terverzőkre, gépészmérnökökre, villamosmérnökökre, rendszerprogramozókra, számítógépes látással foglalkozó emberekre, optika mérnökökre és még sorolhatnám.
(eredetileg megjelent a Valve blogján 2012. április 13-án) A magyar fordítást a Plastik médián publikáltuk 2012. április 21-én. A magyar fordításban részt vett: Tilla, Snail, Csaba K, frimen és angelday.