On-Game je server určený hrám zvláště pak těm, které jsou označovány jako on-line. Poskytuje ale i diskusní skupiny, kde se člověk dočte leckterého zajímavého názoru. Když ale ta diskusní fóra pročítám, napadá mne jedna otázka. … Je on-game věnováno hrám, nebo je to rubrika „Chci udělat hru, jak to mám udělat?“…
Asi jako mnoho uživatelů tohoto serveru, už mne prostě nebaví psát jedno a to samé kolem dokola a proto jsem se rozhodl, že o tom napíšu článek. Ačkoliv v tomto směru jistě nejsem ten nejpovolanější.
„Na počátku bylo slovo a to slovo znělo…“ … má oblíbená věta, která se hodí vždy, na začátek. To slovo totiž znělo „nápad“. Ano, bez nápadu to prostě nejde. Echm. Jistě se teď najde mnoho a mnoho čtenářů, kteří budou oponovat tím, že třeba StarGate má mnoho a mnoho zpracování… uznávám, že mají pravdu. Má mnoho zpracování, ale je to pořád jen jedno a to samé. Efekt je pak podobný jako když máte lžičku soli a rozpustíte ji ve sklenici vody. Zdá se slaná. Vylijte ji do litrového džbánku. Ještě stále budete cítit nějakou sůl. A teď ten džbánek vylijte do desetilitrového kýblu s vodou. Myslím, že celá lžička soli je ta tam. Stejně to je i s nápadem. Tvůrci StarGate vymysleli bezpochyby (vlastně bych měl mluvit o jednom konkrétním člověku) zajímavý námět. A o jeho zajímavosti právě svědčí i množství zpracování. Jenže stejně jako ona lžička soli, nápad samotný ztratil na zajímavosti s každým novým zpracováním. A dnes? Když vidím hru na motivy StarGate, říkám si „Už zas?“ . Oproti tomu, když někdo přijde s neotřeným nápadem, má jistě vyšší šanci na úspěch. Už jen proto že přináší něco neohraného. Což ruku v ruce přináší nejen nutnost větší snahy pro dosažení úspěchu ale také určitou neposkvrněnost. Dobrý nápad zároveň přináší obrovské možnosti, které lze neustále opracovávat. A tím se dostáváme k druhému nutnému předpokladu.
Stejně jako sochař opracovává kámen, architekt a hned po něm programátor opracovávají vzniklý nápad. Stejně jako sochaři stačí chvíle nepozornosti a kámen praskne, opomenutí architekta nebo chyba programátora může zbořit celý projekt. Proto je pro tvorbu nejen hry ale jakékoliv aplikace, stejně jako pro tvorbu sochy, potřeba určitá úroveň znalostí. Pro tvorbu hry je třeba znalostí, troufám si říct, více než pro konvenční aplikaci. U hry je nutné nejen předpokládat případné útoky, ale prakticky je to fakt, který nelze jen předpokládat. Vaše hra, ať už chcete nebo nechcete, bude vystavena zkoumání a různým druhům útoků. A motivací útočníka je odměna ve formě zmanipulování průběhu hry. A vaším protivníkem budou různě vyspělí jedinci, zpravidla ale studenti s dostatkem času a prostoru pro to, aby vám dokázali pořádně zavařit. Dalším faktem, který hraje proti vám je to, že útok vedený zprvu jedincem se velmi rychle může stát útokem celé skupiny a stačí k tomu jedna přestávka ve škole, kde se prostě oni jedinci domluví. Aby vaše aplikace dokázala takovému útoku čelit, je třeba ji postavit jinak a odolněji než jiné běžné aplikace. Dalším důvodem je pravděpodobnost, že oni útočníci se pokusí provést velké množství dotazů na vaší aplikaci ve snaze projít co nejvíce kombinací vstupů ať vědomě nebo nevědomě bude tedy vaše aplikace vystavena DOS útoku, aby obstála co nejlépe, musí již od začátku být psaná tak, aby každý její modul úspěšnost takového útoku sám o sobě blokoval. Celá architektura pak musí nutně být psaná s maximální pečlivostí. Aby autor dokázal těmto nebezpečím čelit, musí především vědět, čemu má čelit a jakým způsobem. Musí znát některé praktiky a techniky a musí mít praktické zkušenosti a znalosti.
Určitou míru úspěchu může přinést i zvolená platforma. Každá platforma má svá pro i proti. Na jedné straně jednoduchost a pružnost je často vyvažována vyššími nároky při zátěži a nezřídka i mnoha omezeními. Rozhodnutí o použití té či oné platformy je proto nutné učinit již na počátku vývoje aplikace a pro takové rozhodnutí musí být kromě zkušeností právě i detailní představa o samotném fungování aplikace. Pokud je k dispozici znalost platforem na jedné a znalost aplikace na druhé straně, je možné vybrat tu nejlepší platformu. I když zpravidla, přiznejme, nejlepší platformou se stává zpravidla ta, pro kterou se nám píše nejlépe nebo je pro nás nejzajímavější. Chyba v tomto rozhodnutí je zákeřná právě kvůli tomu, že často se projeví až v pozdějších fázích vývoje nebo dokonce až během provozu aplikace. Typicky výkonové problémy plynoucí z toho či onoho zvoleného postupu se nemusí projevit celé měsíce a pak vám v rozmezí pár dnů několikrát shodí servery. Technologická rozhodnutí jsou ošemetná také proto, že chyby v nich se nejen špatně opravují, ale zejména ještě hůře detekují.
Vůbec na konci samotného vývoje a testování pak bývá nasazení do provozu. Volba cílového prostředí pak je dalším strategickým rozhodnutím provozovatele. U webových aplikací je toto rozhodnutí klíčovým pro finální úspěšnost projektu. I ta nejlépe napsaná aplikace propadne, pokud jí podrazí nohy hostující prostředí. Nebo naopak ani super hosting nezachrání vaší aplikaci před propadákem, pokud v ní jsou fatální chyby. Pro výběr provozního prostředí je rozhodující nejen porovnání potřeb aplikace na jedné a nabídka prostředí na druhé straně. Je nutné přihlédnout k referencím, technickým parametrům a limitům, které vás mohou na cestě k úspěchu zabrzdit.
Aby vznikla opravdu dobrá hra, musíte ke všemu, co jsem zde napsal přidat nekončící řadu dlouhých večerů strávených u počítače psaním kódů, kreslením grafiky, laděním výkonu a procesních postupů, optimalizací a přepisování. Přidejte také ošklivé pohledy partnerky čekající na to, kdy si na ni uděláte čas. Nesmíte zapomenout na věčné hledání na internetu a čtení různých článků o řešení problémů, které ani neumíte pojmenovat natož vyřešit.
Proto to vše a ještě více mne na jedné straně dokáže rozesmát ale také donutit k zamyšlení každý, kdo napíše na fóru „Chci udělat online hru, jak to mám udělat?“ . Bohužel už jen samotné položení této otázky ukazuje na to, že dotyčný nemá dostatek zkušeností na to, aby se do takového velkého úkolu pustil. Takovým lidem se dá odpovědět jednou větou…
„Učit se, učit se, učit se….“



