Scorch Blaster
Scorch Blaster je projekt z roku 2003, který byl zároveň mým zápočťákem a ročníkovým projektem.Podařilo se mi ho úspěšně odevzdat, ale kvůli nedostatku času jsem musel zastavit vývoj a bohužel některé chyby (i koncepční) zůstaly neopraveny. Také je to proto, že celý kód začínal poněkud připomínat spatlaninu, na kterou se nabalují další a další věci a začínal být poměrně nepřehledný. Možná že myšlenku udělat 3D síťovou hru zase někdy opráším, ale to bych pak začal vývoj od začátku a poučil se z chyb, které jsem udělal už v návrhu enginu a které se hodně blbě napravují. A taky bych to dělal v C++ a ne v C.
Takže k této hře je nyní k dispozici:
Uživatelská dokumentace
Seznam příkazů do konzole
a dále odkazy na download:
source.tar.bz2 | 486 Kb | Zdrojové kódy včetně programátorské dokumentace. |
sb_data.zip | 1060 Kb | Data, jsou potřeba ke spuštění hry na Windows i na linuxu |
sb_win32.zip | 289 Kb | Binárky pro windows, rozbalte do stejného adresáře jako data |
sb_linux.zip | 124 Kb | Binárky pro linux, rozbalte do stejného adresáře jako data |
sb_oalib.tgz | 82 Kb | Alternativní OpenAL knihovna |
Nicméně všechny kdo se chtějí vrtat ve zdrojácích varuju: jsou dosti chaotické a je to spíše příklad jak by se 3D engine dělat neměl.
Co to je:
3d hra, kříženec mezi starým dobrým DOSovým Scorchem a Dyna Blasterem. (běhají tam panáčci a hází po sobě bomby)
Hra běží pod Windows i Linuxem (portování na jiné systémy by mělo být snadné), používá OpenGL a OpenAL.
Hra poběží i na starších konfiguracích, stroj na kterém to ladím a kde to bez problémů funguje je Duron 800 a TNT2 Ultra
Může hrát libovolné množství hráčů na jednom počítači (avšak víc než 6 až 7 lidí se u jedné klávesnice asi rychle utlučou, takže až tak neomezené to není).
3d engine je můj vlastní, je napsaný v C, není úplně doladěn a má (zatím) dost chyb.
Textury nahrává ve formátu JPG a TGA, umí nahrávat data ze zip archivů, umí nahrávat .map formát z Quaka.
Momentálně je hra už hratelná, neboli v mapě se může procházet více hráčů, můžou po sobě házet bomby, zdi vybuchují a rozpadají se na cihličky ....
Nicméně je tam stále dost chyb.
Největší chyby a nedodělávky jsou teď v počítání kolizí - neboli, že bomby (a i jiné objekty) občas procházají zdmi, nebo se občas odrazí tak nějak divně...
Další věc je, že jsem to zatím neoptimalizoval pro rychlost - takže je tam dost algoritmů s kvadratickou složitostí (n2), které budu muset nahradit algoritmy se složitostí n*log(n) (hlavně kolize), dále rendering není ještě optimalizovaný, atd ....