Již brzy vyhlásím další kolo soutěže ve tvorbě hry pro DOS. Za zdržení se omlouvám, obvykle soutěž začíná někdy v červnu / červenci, ale prostě se to tak z mnohých důvodů sešlo. V každém případě se soutěží můžete na 100% počítat ;) V mezičase je vhodné připravit si nářadí. Pokud je vaší volbou Cčko a rádi pracujete s enginy, které řadu otravných věcí vyřešily za vás, možná vás bude zajímat projekt Little-Game-Engine-for-VGA.
Jak už název napovídá, LGEfVGA je skromný engine pro tvorbu VGA her pod DOSem. Jelikož používá pokročilé možnosti VGA adaptéru, je nenáročný na výkon CPU, a tak si např. shora viděná a do všech stran skrolující "jako Zelda" vystačí i s procesorem 8088.
Hry běží v 320x240 / 60 fps a mohou používat sprajty ve velikostech 8x8, 16x16, 32x32 a 64x64, s průhledností a animacemi. Engine také umí načíst tile mapy z nástroje Tiled, pracovat s BMP soubory o 256 barvách apod. Kompletní popis vlastností naleznete na GitHubu.
Minimálními požadavky jsou CPU 8088 4.77 MHz, RAM 512kB a VGA grafika. Doporučené pak CPU 8088 9 MHz / NEC V20 8 MHz / 286ka 6 MHz, RAM 640 kB. Samozřejmostí je podpora zvukových karet Adlib / Sound Blaster. V setupu si nastavte VGA 256 barev, v módu EGA / VGA 16 to nebude fungovat.
To nevypadá vůbec zle, teď ještě jaké bude zadání soutěže, aby VGA nebyla moc hi-tech
Každý rok se setkávám spíše s tím, že na zadání se brblá, takže letos to nejspíš nechám volné :)
Mimochodem, v téhle souvislosti jsem si vzpomněl – často nacházím tvrzení puristů, že do XTčka (či XT klonu) nepatří VGA karta, že se to historicky míjí, že tam patří CGA / Hercules / při nejhorším EGA apod. A já tvrdím – blbost! Při prolézání starých zahraničních časáků jsem nejednou viděl pozdější XT turbo klon prodávaný na přelomu 80/90. let, který měl VGA přímo od výrobce. Hádám, že pak bylo jednodušší pořízení s monitory :)
Přesně tak. VGA karty se podceňují. Hardwarových kouzel umí dost. Hardwarový plynulý scrolling do stran a dokonce rozdělení obrazu na dva buffery z nichž jeden je scrolovací a druhý ne.
Tohle všechno uměla původní VGA karta a pak bylo vždy otazné, jak se s tím poperou její klony (resp. SVGA karty). Z druhé strany ale většinou SVGA karty uměly (umí?) leccos z těchto kouzel i ve VESA módech.
Geniální výklad zde: http://dee.cz/texty/c_scrol.txt
Praktické použití pak v knihovně CiA: https://github.com/StepanHrbek/CiA
Knihovna CiA ale není koncipovaná tak úplně na hry, spíš na diskmagy.
Tedy, nemám tušení, jak by si poradila s dynamicky se měnícím obsahem. (oproti statickým diskmagům)