StarTrekGames      StarCraft Encyklopedie      TrekGame.org

 

17.7. 2004

Za těch posledních 5 dní se toho zas tolik zajímavého neudálo, ale pár věcí přeci ano :) Konečně jsem předělal vlečný paprsek z pracovní verze do poněkud lepší grafiky. Dlouho jsem přemýšlel, jak ho udělat. Další textura (použitá za těchto okolností) by výrazně zpomalovala hru. Snažil jsem se tedy kýženého grafického efektu dosáhnout pomocí programových nástrojů. Výsledek si můžete prohlédnout sami na jednom ze dvou nových screenshotů. Od původního tractoru se zas až tak neliší, ale myslím si, že vypadá o něco lépe a snesitelněji. Možná se k němu ještě jednou vrátím a zkusím ještě nějaké finty, ale zatím mi celkem vyhovuje. Také jsem si pohrál s barvami hvězd, které teď mají různé odstíny, vypadá to přirozeněji. Nejdůležítější věcí, na které jsem pracoval byl však problém maskování. Možnost maskování hráčské lodi už ve hře dlouho byla, ale bez reakcí ze strany nepřítele a AI lodě maskování nepoužívali. Nejdříve jsem naprogramoval senzorový průzkum. Když se hráč zamaskuje, nepřátelské lodě zahájí tachyonový scan oblasti a dříve nebo později (řádově desítky sekund) hráče odhalí. Toto je závislé na hodnotě SENSORS, kterou má každá loď. Vědecké lodě mají tuto hodnotu velmi vysokou, takže je proti nim maskování takřka nepoužitelné. I průzkumné lodě a lodě palebné podpory mají poměrně kvalitní senzory, ale nic co by hráče ohrozilo, pokud bude opatrný a nebude s opětovným demaskováním a zapojením do bitvy otálet příliš dlouho. Ostatní lodě mají senzory spíše symbolické, ale i tak je zajištěno, že loď nemůže zůstat maskovaná neustále (výjimku samozřejmě tvoří Scimitar). Pokud je loď tachyonovým scanem odhalena, nepřátelé na ní mohou pálit, jako by nebyla maskovaná. Je tedy velmi žádoucí, aby v takovém případě dal kapitán pokyn k demaskování a zvedl štíty, jinak může loď utrpět velmi vážná poškození. Navíc tachyonový scan provádí vždy loď s nejlepším senzorovým vybavením, čímž je zajištěno, že maskované lodě budou odhaleny co nejdříve. To trochu ospravedlňuje přítomnost lodí jako je Nova na bitevním poli, protože ta odhalí maskovanou loď do 5 sekund. Pak jsem naprogramoval systém maskování i pro AI lodě a naopak možnost tachyonového scanování pro hráčskou loď. Šlo to nad očekávání lehce. Jedinými problémy bylo zajistit, aby se po zamaskování vypnuly všechny ukazatele, šipky, tečka na radaru atp. Jako velmi obtížné se ale ukázalo definovat KDY se má loď zamaskovat. Jedná se totiž nečekaně o poměrně kmplikovaný řídící problém. Rozhodující je mnoho kritérií (pozice obou lodí, jejich vzájemný úhel, vzálenost, nabití zbraní, síla štítů...), která člověk snadno vyhodnotí, ale těžko se sepisují do algoritmů. Špatný algoritmus by nevyhnutelně vedl k destrukci výhody, kterou má maskování být a změnil by jí v nevýhodu, protože loď, která se maskuje, nebo demaskuje za nevhodných okolností je snadným cílem a tento okamžik může být rozhodujícím pro celou bitvu. Nad tímto problémem jsem strávil den a půl. Nakonec se mi podařilo definovat poměrně zajímavý a přitom relativně jednoduchý systém, který maskování řídí. Teď jen zbývá ho dostatečně otestovat (zde už pravděpodobně také přijdou na řadu betatesteři). Dost možná se k němu budu muset ještě vrátit. Nebuďte ale překvapeni, že lodě maskování moc nevyužívají (jednou, nebo dvakrát za bitvu). Přeci jenom se skutečně nejedná o moc velkou výhru a maskovací zařízení není koncipované primárně pro boj (vzhledem k mezifázi kdy je loď nechráněná štíty). Maskováním kapitán mnohdy může ztratit víc než získá. V podstatě je pouze možné získat výhodnou palebnou pozici. V tomto ohledu se zdá být AI funkční už proto, že hráč loď prostě nevidí, a tak nemůže nastavovat nejsilnější štít očekávanému útoku. Snaha nastavit ho v okamžiku, kdy se nepřítel odmaskuje, aby pálil, nemusí být úspěšná a následující dopady torpéd na trup lodi mohou být vcelku nepříjemné, zvlášť když by je štít na druhé straně zvládnul absorbovat.

Unimatrix325

Diary 12.7. 2004

Diary 17.2. 2004

Diary 3.2. 2004