O Sirielovi a ako som hľadal herný engine.

Raz za čas ma prepadne myšlienka, že by bolo fajn znovu spojazdniť Siriela. Siriel, je hra, ktorú som za dávnych časov napísal na strednej. Je to adventúrka inšpirovaná sériou hier, kde bola hlavná postavička vajíčko Dizzy. Túto hru majú na svedomí Code Masters. Veľmi populárna bola hlavne na ZX Spectre a Didaktikoch M a Kompakt.

Prvá PC verzia Siriela bola napísaná v Pascale v neuveriteľnom rozíšeni 320×200 a v pozadí hrala hudba. A tak vznikol Siriel 1. a Siriel 2. Hra Siriel 3. už zostala nedokončená, pretože svet sa predsalen trochu posunul, čo sa týkalo grafiky na 640×480. A Tak začal vznikať Siriel 3.5 (je možné spustiť v DosBoxe). Tentokrát som ho už postavil ako engine, do ktorého sa dali dohrávať datadisky. K dispozícii bol aj level editor, kde si človek mohol nakresliť vlastný level. Počas roku, čo som na ňom pracoval sa mi podarilo vyrobiť tri veľké datadisky: First mission, Cauldron a Golden ball.

No, lenže sláva DOS Pascalu netrvala večne. TPU a assemblerovský kód na správu pamäte bol neprenositeľný a všetky pokusy o kompiláciu tohoto programu pod Linuxom, či Windowsom úspešne zlyhali. Niekoľko krát som sa pokúsil previesť refaktoring a zmeniť základné knižnice. Ale po dňoch úporného zápasenia s mojím stredoškolským projektom, som to vzdal. Predsa len štýl programovanie nebol ešte vybrúsený.

Po márnych pokusoch som si povedal, že Siriela skúsim prepísať do C++. S istým úspechom som sa pohol ďalej, ale objektový návrh nebol úplne dobrý a hlavne neustále pády C++ komplikovali vývoj. Keď si to tak spetne zrovnám, tak Pascalovský kód bol veľmi stabilný. A tak vznikol Siriel 4.

Vďaka C++ však vývoj napredoval pomaly a hra bola síce rýchlejšia, ale vývoj sa spomaľoval a spomaľoval, až ma to prestalo baviť. Po nejakom roku odmlky som si zas povedal, že by možno stálo za pokus napísať Siriela v Pythone. Tak som sa pustil do písania enginu Siriel 5. Tu boli výsledky k dispozícii okamžite a s použitím PyGame to bola radosť vyvíjať.

Voľného času oproti strednej škole však silne ubudlo a tak som musel projekt na dlhú dobu nechať tak. Dnes som mal chvíľku čas. Inšpirovaný Scummvm, na ktorom bežia staré hry pre DOS, som si povedal, že sa pokukám po nete. Či už niekto engine nespravil, že by som doň len nafrkal levely, grafiku a hudbu. Našiel som pár kandidátov.

U väčšiny enginov je problém, že sa snažia byť 3D a taký ja nechcem, mne bohate stačí 2D, ktorý pobeží aj na šuntových počítačoch a nových mobiloch.

Tak a tu sú výsledky prieskumu:

  • Scummvm – staré hry bežia v pohode, je k dispozicíí aj verzia pre Symbian, avšak samotní autori odporúčajú použiť niečo iné na vývoj nových hier.
  • Fenix – sľubný projekt, čo sa týka záberu. Avšak vyzerá, že už je mŕtvy. Namiesto dokumentácie, si človek prečíta MySQL error a posledný release bol 04.2007
  • LÖVE – veľmi prepracovaný projekt s aktívnou komunitou. Ako skriptovací jazyk využíva Lua. Engine je síce postavený nad rýchlym SDL, ale zdá sa, že autori neoptimalizovali vykresľovanie obrázkov.
  • PyGame – nejedná sa síce o engine, ale o knižnicu napísanú v Pythone, ktorá poskytuje wrapper nad SDL. Takže človek môže využiť rýchlosť SDL knižnice napísanej v C a flexibilnosť Pythonu. Takže momentélne je to môj najhorúcejší kandidát, nad ktorým budem pokračovať v stavbe enginu.

Keď to vezmem celé dokola, tak ma prekvapuje, že sa vývoj v oblasti herných ne3D enginov akosi nepohol dopredu. Možno som však len málo googlil 😉

No votes yet.
Please wait...
Voting is currently disabled, data maintenance in progress.

Január 3, 2009 at 8:06 pm - Misc, Uncategorized.