English version follows
Hned po pořízení HP LX jsem zjistil, že programů a her není tolik, co bych si přál a protože nadšení bylo velké, vznikla tahle jednoduchá hra. Hned na začátku jsem si ale řekl, že musí obsahovat něco navíc než textová verze to něco má být následující:
- bohatá grafika (vzhledem k rozlišení 40×16 znaků)
- běh v reálném čase (nebo nastavitelnou rychlostí)
- volba obtížnosti daná minimálně množstvím paliva
- několik scénářů konce
- a to vše s takovými požadavky, aby to NEC na 6MHz zvládnul.
Jako jazyk jsem vybral Basic a na pomoc mi přispěchal qbasic verze 2.01. No a tak jsem se pustil do práce, brzo vznikla první testovací revize 0.1, na které jsem se ujistil, že to HP 95LX dokáže rozhýbat v reálném čase s frekvencí alespoň 1 snímek za sekundu.
Bohatá grafika
Je to samo o sobě vtipné, ale podařilo se mi do hry dostat nejen nějaké pozadí (krajinu a hvězdy), ale také pohybující se meteority a samotnou loď. A k tomu se podařilo vměstnat na obrazovku i všechny potřebné informace. Zdá se to jako snadný úkol, ale těch 40×16 znaků není moc.
Nezdá se to jako moc, ale ono na procesoru 8088 toho za jeden průběh nelze spočítat zrovna moc, takže není snadné spočítat jen změny rychlostí a pohyb i jen dvou asteroidů a všechno to k tomu vykreslit. Lákalo mě počítat srážky s lodí, ale to je asi reálné až na HP 200LX.
Běh v reálném čase
Nakonec jsem se na reálný čas dostal oklikou – dle výkonu stroje lze zvolit počet snímků, které se spočítají za sekundu. Díky tomu lze na rychlejších strojích hrát rychlostí 4 snímky za sekundu a na pomalých třeba s jedním. Ve všech případech se ale správně započítává spotřeba paliva a změna rychlosti. Pozor – dle nastavení je reálný (a maximální – musí ho být procesor schopen spočítat) počet snímků za sekundu roven 1 / zobrazená hodnota. Zobrazený čas je tam „frame time“.
Volba obtížnosti
Nakonec jsem se dopracoval pouze k množství paliva. Už ale neřeším při kalkulacích hmotnost lodi a zároveň neřeším ani změnu gravitace s výškou nad povrchem (místem přistání, nad mořem). Počítáno s gravitací ale je po celou dobu (1.5m/s).
Zároveň je přistávací modul od počátku v pohybu ve dvou směrech – nejen že padá, ale padá z Orbity. Je třeba tedy regulovat jak rychlost pádu, tak zpomalit z rychlosti na orbitě. Jako základní hodnoty jsem vzal počáteční vertikální rychlost -25m/s a počáteční horizontální rychlost 250m/s.
Základní množství paliva je 750kg, je možno zvolit i 500, 1000 a 5000kg. Maximální výkon motorů je +/-5m/s v horizontálním směru a 5m/s ve vertikálním směru.
Různé konce
Samozřejmě se lze rozbít o měsíc, lze i dobře přistát. Ale přidal jsem i možnost odletět mimo lokaci přistání.
Ovládání
Ovládání je pomocí kláves 2 a 8 pro změnu vertikálního tahu a 4 a 6 pro změnu horizontálního tahu. Dále je v menu možno využít nápovědy pod klávesou H, nastavení pod klávesou O a zobrazení informací pod klávesou I. Klávesou M lze zapnout/vypnout zobrazení meteorů a pomocí kláves L a K lze upravit rychlost vykreslování.
Výsledek
Výsledkem je celkem plynulá hra s parádní dobovou grafikou, která zároveň má pouhých 380 řádků kódu a většinu z něj tvoří textová grafika. Ostatně se stačí podívat na přiložení screeny a video.
Vše je zde možnost stáhnout a upravovat, pouze prosím respektujte, že by bylo dobré nechat tam uvedeného původního autora (třeba v informacích). Samozřejmě si nepřeji, aby s výsledkem bylo jakkoliv komerčně zacházeno bez svolení mě jako autora programu.
Co dál
Inu má to své mouchy, od nastavení „frame time“ přes třeba menší množství konců hry až po možnost počítat průběžně gravitaci a započítat i hmotnost lodi. Jako demonstrace toho, že přistání na měsíci nemuselo na 286 procesoru a dále fungovat pouze v textovém režimu to ale stačí.
English version (short)
Here is a short English version of the page. After acquiring the HP 95LX, of course, I was looking for some games. Unfortunately, due to the screen resolution, PC games cannot run. So I wrote a Moonlander for HP 95LX in 40×16 resolution.
Now I have released it completely free of charge for personal use. Including source codes. All versions are available for download (at the bottom of the page). You can edit the source code. I will be glad if you mention the original author in the new version.
I apologize for the very short English version, you can try google translator (here).
Na závěr celá galerie obrázků
Vyhráli jste! Loď na kousky Odlet do vesmíru
Video ze hry
Download
Soubory ke stažení najdete v přiloženém archivu zde – LL.zip.