StarTrekGames      StarCraft Encyklopedie      TrekGame.org

 

19.7. 2004

Po naprogramování systému maskování jsem se pustil do poslední velké položky na seznamu. Poškození subsystémů. Šlo to opět o něco snadněji, než jsem čekal, což mě příjemně překvapilo. Během několika málo hodin jsem tedy zavedl metodu pro přepínání mezi zaměřenými subsystémy (trup, torpédomety, pulzní zbraně, paprskové zbraně, motory, štíty, zdroj energie, vlečný paprsek, senzory a maskovací zařízení). Samozřejmě, že u lodi, která nemá pulzní zbraně, nebo maskovací zařízení příslušná možnost nebude. Pak jsem přiřadil každé poškoditelné věci jednu proměnou, která může nabýt 4 stavů, podle stupně poškození. Zjednodušeně řečeno jsou to tyto stavy : ---funčkní---, ---poškozený/opravitelný ale funkční---, ---poškozený/opravitelný ale nefunkční--- a ---poškozený, neopravitelný a nefunkční---. Při zásahu jakoukoliv zbraní tedy dochází k poškozování těchto systémů (pokud je máte zaměřené a už jste se dostali skrze štíty a pancéřování). Je proto výhodné se např. u Akiry zaměřit primárně na torpédomety, protože tím její palebnou sílu výrazně zredukujete. Poškozené systémy jsou automaticky opravovány a pokud jsou opravitelné, budou časem opět uvedeny do provozu. Zaměření na konkrétní systém sice zmenší poškození, které způsobujete zaměřené lodi, ale může se to vyplatit. Systémy jsou náhodně poškozovány i pokud žádný není přímo zaměřen a to tím víc, čím víc je poškozen trup lodi. Tzn. že na skoro zničené lodi už toho moc fungovat nebude. Když jsem se pak včera večer chystal s programováním skončit, hra se mi po jedné bitvě sekla. Bohužel to bylo během dvou posledních dnů už podruhé, což nutně muselo znamenat nějakou chybu. Původně jsem tomu nevěnoval pozornost, protože se to neopakovalo, ale teď už jsem musel. Šel jsem spát dost zneklidněný, protože tou chybou mohlo být tařka cokoliv a hledat takto zřídka kdy se projevující chybu na 7000 řádcích kódu nebude snadné. Druhý den už jsem k tomu ale sedl a pečlivou analýzou a betatestingem (měl jsem podezření na souvislost s maskovací AI) se mi podařilo chybu odhalit, což mi opět vylepšilo náladu. Taky jsem se rozhodl, že vyzkouším, jaké má maskování vliv na kvalitu AI. Vyzkoušel jsem tedy 5 bitev se Sovereignem proti Negh´Varu s maskováním a 5 bitev se Sovereignem proti Negh´Varu bez maskování. Ze začátku to tak nevypadalo, ale statisticky se ukázalo, že AI používající maskování je o něco efektivnější. Zjistil jsem také, že při střetu dvou stejně manévrovatelných lodí je AI schopná manévrovat tak, že bitvu končí se stejnoměrně poškozenými štíty - tedy je využívá co nejefektivněji. Ještě jsem vyzkoušel dvě bitvy Sovereign vs Sovereign (obě lodě ovládány AI) a výsledek 1:1 mě přesvědčil o ucházející kvalitě umělé inteligence :-) Poté co jsem si zarelaxoval u pečení kakaového dortu (a spálil si při tom ukazováček pravé ruky, takže odteď moje lodě zatáčejí výhradně doprava :-), jsem pokračoval v poškozování subsystémů. Udělal jsem poškození motoru a vlečného paprsku. Loď s poškozeným motorem se (jak nečekaně :) pohybuje pomaleji (nebo vůbec). Nečekaný problém opět vyvstal u zpomalování rychlost lodi s poškozeným pohonem. Člověk by nevěřil, kolik přinášejí 3 různé vzdálenosti pohledu problémů. FW2 se blíží mílovými kroky k dokončení. 

Unimatrix325

Diary 17.7. 2004

Diary 12.7. 2004

Diary 17.2. 2004

Diary 3.2. 2004