pondělí, dubna 03, 2006

Takzvané zlo

Pustil jsem si po čase zase KOTOR2 a chvíli jsem zkoušel hrát, tentokráte ovšem jako záporná postava, která se přiklání k temné straně. A musím říct: I když zrovna KOTOR2 je v tomto směru spíše světlou vyjímkou (má pár opravdu pěkných okamžiků) drtivá většina her se, pokud jde o zlo, nevzmůže na nic lepšího než jsou projevy brutální blbosti. Nebo rozdíl mezi dobrým a zlým spočívá v tom, že ten dobrý nedělá zajímavé věci (jako třeba ve Fable -- ale o tom jsem jen četl, hru jsem nikdy nehrál).

Víte co myslím: pokud má být postava zlá, musí se nejvíce ze všeho chovat jako idiot, každého hned rozsekat na kusy a nejméně jednou za půl hodiny se ďábelsky zasmát. Přitom zlo vůbec není jen mučení a prvoplánové zabíjení. Existuje ještě to druhé, elegantní zlo, které vás s úsměvem odvede na šibenici, nebo vás přesvědčí abyste špinavou práci udělali za něj.

Takového (řekněme reálného) zla, je v počítačových hrách pomálu. Připisuji to jednak tomu, že herní designéři jsou vesměs dobří lidé, a nejsou prostě fyzicky ustrojeni k tomu, aby osnovali opravdu zlé plány, jednak skutečnosti, že programovat vychytralé zlo, které se dvě hodiny hracího času tváří jako dobro, aby pak provedlo něco obvzlášť odporného, je mnohem těžší, než napsat 3D engine, který bude krásně renderovat rozstřikující se krev a vyhřezlá střeva.

Otázkou samozřejmě zůstává, zda by někdo, kromě opravdu nemocných lidí, chtěl hrát opravdu zlou hru. Ale fakt, že ve hrách můžete být buď dobrý, nebo pitomý, je dost tristní.

V KOTOR2 je pár ukázek takového skoro-skutečného zla (třeba se vaší light saber můžete prosekat až k dívce kterou máte zachránit, abyste ji pak prodali do otroctví, nebo pošlete nemocného nakažlivou chorobou odpočívat mezi ostatní uprchlíky), ale většinou se musíte jen chovat jako idiot, všechny hned rozsekat na kusy a každou chvíli se ďábelsky zasmát.

2 komentáře:

Q řekl(a)...

Tedy, hezky komentar, jen male ALE.

Clovek by mel asi zacit spise od konce, mozna diky kouzlu nechteneho se podarilo vyjadrit jadro pudla ZDE:

...pokrytectví a "dělání blbců" z uživatelů...
...Myslím si, že model uživatele, s nímž pracuje dominantní firma, je (zbytečně) vychýlen směrem k podprůměrnému uživateli s nižším IQ. Je to logické -- lidé, kteří konktaktují uživatelskou podporu, většinou k této skupině patří a je tak výhodné ušetřit náklady, pokud jich bude co nejméně.....
>>>
Podle meho (a podle celkem verejneho mineni te one dominantni firmy) ma byt pocitac beznym vybavenim domacnosti a nikoliv hrackou v rukou nekolika (radoby)intelektualu, kteri si diky hrabani se v neprehlednych logach, manech a howto dodavaji pocit vyjimecnosti a alespon nejake prevahy nad tim okolnim lidskym odpadem, ktery PC - predstavte si to - chce hlavne POUZIVAT. Diky narustu mnozstvi a kvality uzivatelskych softu snad ve vsech odvetcich lidske cinnosti je PC vec, ktera by mela maximalne ulehcit praci beznym uzivatelum a ne je nutit perfektne zvladat nejake dalsi odvetvi, ktere se treba nekdy ucit ani nechteji. Bezny uzivatel je,prosim, architekt, hudebni skladatel, doktor, ale i treba ten proklinany franta s horni dolni, ktery se diva na vyvolene a pije pivo a ktery si chce precist nejake info na webu, proti kteremu je ve spravnych skupinach v mode se spravne vymezit. Tenhle uzivatel se nechce neustale hrabat nekde v zaplavach logu. Bud to proste neumi a ucit se to nechce, nebo je pro nej hledani chyby nekde v X MB textovem souboru velmi nerentabilni zalezitosti (lide jsou placeni za svoji praci a ne za praci nekoho jineho). Skoro se mi evokuje predstava ridice auta, ktery je prece naprosto nesvepravny, kdyz nezna zpameti presne pomery vzduchu a paliva striknuteho do valcu, orientacne nezna regulacni tabulky ridici jednotky a v pripade problemu s autem si nedokaze doma na koleni z RJ vytahnout pamet chyb. No a vidite - i takovi lide jezdi auty. Dekadence? Nikoliv.
Predstava, ze by timto "workaroundem" MS setril NAKLADY je zcela scestna. MS to nic nestoji, helpdesk resi regionalni zastupci (samostatne subjekty) a pripadne problemy by resil nejaky najaty admin, ktery by dostal zaplaceno a MS by na tom nebyl ani v plusu, ani v minusu.
Zajimavy je take pohled na komunitu kolem linuxu. Z mych zkusenosti vecnou slavu linuxu hlasaji pouze uzivatele opensource SW, kteri za nej nemusi nic platit a jejich (vetsinou velmi nizke) naroky na jeho vyuzivani a pak take komunita adminu, ktera si nasazovanim SW sloziteho na ovladani dokazuje, ze jeste stale k necemu je. Vyvojari uz jsou vetsinou stridmejsi. Ono vyvijet open source SW beznaroku na odmenu ve svem volnem case je vec krasna a uslechtila. Bohuzel ten volny cas a vyvojove prostredky jsou zaplaceny z casu,ktery onen vyvojar travi praci pro ty fasisticke firmy, co si za vyvoj sw nechavaji odzakazniku platit a - povazte - zdrojove kody zverejnit nechteji! V tomto kontextu mi neni take zcela jasne vyzdvihnuti toho, ze jeden ze systemu ma zverejnene zdrojove kody hned v prvni vete. Jakou vyhodu to, prosim, da koncovemu uzivateli, ktery v zivote programovani nevidel?Zvlaste vesele jsou take zminky o systemu, "na ktery se musi cekat". Je pravda,ze open source je SW neplaceny a proto za nej nikdo nema odpovdnost a nikdo nenese za nic zavazek, takze se tam nikdy a na nic neceka. Proste az se novy kernel (s uz treti verzi MemManagmentu) napise, tak bude. Budou v nem veci, na ktere cekate? Hura. Nebudou? Napiste si je, je to zadarmo,tak co chcete? Ze se release OpenOffice sliboval temer rok? Ze se nekdy slibuje tak dlouho, az se projekt zastavi? Cha, ale jdete.
Pak take nenapadne zminky o jakesi zpetne kompatibilite, ktere mi vzdy vyheveruji usmev tak vysoko, ze kdybych nemel usi, odpadne mi hlava. V teto souvislosti vzdy tvrdim, ze u linuxu jsou sources nutnosti, nikoliv vysadou. Priklad - zkuste spustit software vytvoreny na windows 95 na windows vista - uspech na 95% (zbytek jsou SW z ery DOSu s primym pristupem na porty zarizeni prelozene do okynek). Zkuste to stejne s binarkou prelozenou na slackware s kernelem 2.x a nejakou adekvatni Xlibc na nejake soucasne distre a pak mluvte o kompatibilite, prosim.
A jeste jedna malickost - ta krasa API - jen jeden krasny priklad za vsechny - cekani na zarizeni/zamek je pomerne abstraktni cinnost - cekat muzete uplne stejne na eventu, mutex, semafor i na souborovou nebo socketovou I/O operaci. Proc tedy u *nixu musite na kazdy objekt cekat pomoci jine funkce a tak se nevyhnete onem prstum zalomenym v zadku, kdy na jedno zarizeni ceka jedno vlakno, na socket druhe vlakno, na eventu od fronty dat treti vlakno a ctvrte vlakno tomu dela supervizi, kdyz u win to jde tak kraaasne pomoci jedne WaitForMultipleObjectEx()? Ano, neni nad krasu API. Pravdou jest, ze *nixy implementuji spoustu dalsich veci, ktere *win nikoliv nebo je implementuji lepe.
Co se tyce spoluprace jednotlivych vrstev - pokud maji vrstvy tvorit jednolity celek, rikejme mu treba operacni system, musi holt spolu komunikovat. Kdo prosim rozhodl, ze zapis do logu je ok, kdezto zobrazeni MsgBoxu uz nikoliv? Pricemz oboji se odehrava stejnym zpusobem, jen poslete message jinemu procesu, pokud chcete, aby SW interaktivne reagoval, posune se hlaseni do jine vrstvy (listing souboru na SMB resi az pomerne vysoke vrstvy OS, ktere jsou v prime interakci s GUI). Toto je veci designera SW a take meritu veci - orientace na cilovou skupinu, cimz se dostavame asi k poslednicasti, ke ktere bych chtel neco rict.
Totiz tlachy o "technicke dokonalosti" a podobne. Ono mit super technickou vymozenost, makat na malinkem kousku kodu a nikdy ho nepustit do uzivani, protoze vzdycky, kdyz ten kus dopisu, tak zjistim, ze jsem to mohl udelat jeste o neco lepe je myslenka zcela kontraproduktivni. Stejne tak i myslenka "nejak to tedka upatlam, hlavne at to funguje a co bude za tyden at vezme cert" - to je pouze druhy extrem stejne veci. Bylo spravne receno, ze je treba najit kompromis, ktery umozni pouziti softu "cilovymi uzivateli", kteri jsou ale u kazdeho z nich ponekud jini, zaroven umozni jeho budouci modifikovatelnost a jeste ke vsemu by mel designerovi zpusobit radost, ze to udelal hezky, elegantne a ciste. Nicmene "ciste a elegantne" naprosto neznamena a ani NESMI znamenat, ze preneseme nekterou z cinnosti vyvojare na koncoveho uzivatele - napr. pri zjisteni nefunkcnosti nechat uzivatele tapat a hledat v logu jestli a kde chyba byla. Vyvoj softu uz leta jde presne opacnym zpusobem - pocitac je zde proto, aby za cloveka resil veci, ktere muze vykonat a nechal cloveka soustredit se pouze na to, co stroj vykonat nemuze.
Co tim vsim ale chci rict - un*xy a windows maji zcela rozdilne cilovani uzivatelu - windows jsou urceny primarne pro KONCOVEHO uzivatele, ktery chce na PC pracovat a pokud k problemu dojde, pak by o nem mel byt minimalne informovan, ale predpokladaji, ze koncovy uzivatel neumi nebo umet nechce detailne a do podrobna se stourat v ruznych nastavenich a tak se mu snazi ovladani jednotlivych dilcich celku maximalne zjednodusit. Coz ale neznamena, ze to nastavit nelze. Naopak un*xy primarne predpokladaji serverove nasazeni, kdy je pocitac povetsinou mimo kontrolu uzivatele a sam si zpracovava nektere ulohy, pokud se neco stane, pak prima informace nema smysl (kdyz u pc nikdo nesedi) a u uzivatelu se ocekava jista erudice, se kterou je schopen detailniho a syroveho nastaveni a ovladani jednotlivych casti.Soucasny prudky rozvoj unixu maji na svedomi velke firmy typu sun,IBM a podobne, ktere je podporuji jakozto vlastni reseni proti "konkurencnimu" MS (prodaji reseni za stejnou cenu a rozdil v nakladech dany NEzakoupenim dalsiho SW jim zustane) a zvolna premysleji o tom, jak tomu opensource zatnout tipec a cely vyvoj uzavrit pod sva kridla. Pro priklady nemusite chodit daleko - MySQL, castecne OpenOffice a jeho staroffice predchudce, RedHat....
Na obou systemech vice nez deset let vyvijim a oba systemy administruji a proto si troufnu tvrdit, ze mam apliakce, kam bych dal pouze windows a unixy ne a naopak aplikace, kam dam jedine unixy. Fanaticke trvani na nasazeni toho "jedineho spravneho" systemu na jakoukoliv aplikaci a jakekoliv okolnosti mi prijde stejne zvrhle, jako neustale zabomysi valky o to, jestli je lepsi ten nebo onen system a oboji povazuji za jistou zanmku rekneme "nedostatku informaci",slovu omezenost se zamerne vyhybam. Dle mych zkusenosti jsou sily v obou taborech velmi vyrovnane, oba systemy lze nastavit nebo na nich provozovat aplikace tak, ze se svoji funkcionalitou vyrovnaji, pricemz v nekterych dilcich aspektech ma navrch ten system, v jinem onen - oba systemy se stale vyvijeji a priblizuji se navzajem, ale jeste hodne dlouho to nebude tak, ze by jeden byl schopen plne nahradit druhy.
Omlouvam se jIRImu za tak dlouhy komentar, ale nemohl jsem si pomoci.

Q řekl(a)...

Pomoc, to jsem ale trotl, kam jsem napoprve ten komentar hodil? jIRI, prosim, jestli je to mozne, smazte ho. Diky.