Dostala se mi do rukou věc! Miloslav Heřmánek, kterého můžete potkat zde na HV pod přezdívkou MilasPce, a který se podílel na vývoji real-time strategie Paranoia!, mi zaslal balíček se vskutku zajímavým obsahem.
Jde o hru MaxiDuna, a již od prvních momentů po spuštění znalci zajisté odhadnou, odkud vítr vane. Ano, díváte se na tvar, který ve finále v Paranoiu vykrystalizoval. MilasPce k balíčku se hrou připojil i pár postřehů z vývoje, které naleznete na konci článku. Nyní k MaxiDuně:
Na první obrazovce, ještě předtím, než se spustí jednoduché intro z AutoDesk animatoru, jsme upozorněni, že jde o pracovní verzi, která se nemá šířit. Tak snad nepřijdu do pekla ;)
Naopak na obrazovce finální se můžeme dozvědět, že jde o program MAXIDUNA ve verzi 1.3 z produkce Rasoft. Rasoft = Radek Ševčík, hlavní programátor Paranoie.
A takle nás hra vítá v první misi. Nemusí se to na první pohled zdát, ale MaxiDuna skutečně obsahuje "kampaň", tedy po sobě jdoucí sled map se vzrůstající křivkou obtížnosti. Minimálně v prvních misích máte k dispozici hromady tanků, což tak nějak souzní s onou "pracovní verzí", tady se ještě spíše testovalo, než hrálo. GUI je funkční, hra se dá ovládat, co zatím chybí jsou ikonky v pravém panelu, místo nich se zobrazují "rozbité" shluky pixelů.
Chcete-li si předchůdce české RTS Paranoia! zkusit, můžete, viz balíček Maxidune - Paranoia. Přiložil jsem i návod zkonvertovaný do UTF-8, původní je v kódování bratří Kamenických. Jak také jinak ;) V balíčku naleznete též ICONDRWO, ve kterém se schovává jednoduchý editor grafiky. V DosBoxu doporučuji nastavit vyšší počet cyklů, kolem 10 tisíc, a hru v nastavení přepnout na nejrychlejší.
A na závěr slíbené postřehy od MilasPce:
- Inteligence nepřátel jde ošulit a počítač si může naklikat útoků kolik chce. Trochu se přizpůsobit výkonosti hráče by nemělo být problém.
- Oříšek bylo programování také zvukové karty Sound Blaster. Bylo zjištěno, že pokud se přehrávané samply lámou přes blok 64kB, tak se hudba zasekne. Při alokaci bufferu pro přehrávaní se muselo zjišťovat, kde buffer přesně leží, a v případě chyby ho naalokovat znova.
- Největší problém spočívá v algoritmu pohybu vozidel. Počítání přesunu pro všechny pohybující se objekty. Jak to dělat? Kdy přepočítávat trasu, dyť to zabere celý čas procesoru. Najít cestu a bodu A do bodu B. Brát v úvahu okolní pohybující se předměty, zvláště, když se jede v koloně. První nápad, jak najít cestu, bylo dělat postupné kruhy od obou bodů A i B - až se obě kola potkají, tak to je asi ta nejkratší cesta. Najít si nějaký bod na půl cesty a jet nejprve k němu. Někdy se to ale zvrtne a kolona objede celou mapu po kraji a nikdo neví proč. Pro hráče to pak vypadá jako tajné komando, tak se ta chyba přeci nebude opravovat. Je to zajímavé zpestření.
- Logika programu je taková, že kombajn si pamatuje, kde sbírá, tak se tam vrací, když tam dojede a v blízkém okolí nic není, tak stojí. Bylo to zvoleno z důvodů dorůstání, které v Duně není. Jinam nejede proto, že když všechno vysbíral, tak nakonec jel k sbírat k nepříteli, ten ho zničil a to bylo horší, než se o sběrače starat. Mohl by se místo zastavení vrátit na základnu to zas jó. Na druhou stranu je super zjistit “Ajo zapomněl jsem na sběrače a nemám peníze”
- No a takové jsou začátky snahy o programování realtime strategy.
Podílel je silné slovo. Hlavní dík patří opravdu Radkovi Ševčíkovi. Já jsem mu do toho jen kecal, maloval sprajty, programoval síťovou hru přes RS232 a pak jsem programoval protikopírovací systém, který počítal a zapisoval kontrolní informace na 81 stopu mimo běžný formát dat. Ale v titulkách na mě nezapoměli.
Skromnost stranou, to, co popisuješ, mi přijde jako solidní kus práce! ;)
Ještě chci dodat, že je to napsané v Borland C.
Budú zverejnené aj zdrojové kódy ?
Odehrál jsem 3 mise, pak to bohužel spadlo – chyba 17. Je to zajímavý prototyp a vlastně to docela baví i v téhle podobě. Tuší někdo kolik to má misí?
Milas Pce : komenty me vazne pobavily. Hlavne postrehy bugu. V kazdem.pripade drzim palce s pokracovanim vyvoje ;)
Jen tak dale, to je to co drzi tuhle komunitu v perpetualnim stavu nostalgie.
Ja by som chcel k Paranoii dodať len toľko, že hral som dvojku a skončilo to tak, že posledný level je nehrateľný. Skôr ako vytvorím základňu, tak mi ju počítač raketami zbombarduje. Videl som video na yt, kde to dotyčný prešiel, ale netuším ako. Vedel by mi niekto poradiť?