|
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 |
|