The Magician’s Curse

Základní informace

  • datum vydání poslední verze na PMD-85: 13. 2. 2019
  • portace původního kódu pro Commodore 16, Commodore Plus/4
  • využití RAM: (ve vývoji)
  • podpora modelů: všechny verze PMD-85 (1/2/2A/3)
  • barvy: monochrom (2)
  • hudba/zvuky: (ve vývoji)
  • ovládání: klávesnice, volitelně joystick A nebo B

Status

  • úvodní demo pro ověření funkčnosti vykreslovacích algoritmů

Ovládací klávesy

  • (prozatím pohyb do stran kurzorovými šipkami, SHIFT zrychluje pohyb na maximum)

Popis hry a její vlastnosti

(ve vývoji)

POKE

(ve vývoji)

Soubory ke stažení

The Magician’s Curse – Soubor virtuální MGF pásky pro emulátor PMD-85 od RM-TEAMu

Galerie obrázků

 

demo

Demoverze

 

 

 

 

 

3 komentáře u „The Magician’s Curse

  1. Libor L.A.

    Úvodní testovací demo pro ověření funkčnosti a rychlosti vykreslovacích rutin. Rychlostní rezerva pro ostatní objekty je prozatím dostatečná. Ale to se uvidí po jejich kompletní implementaci. Funkčně to vyhovuje, snad jen vykreslování postavy hráče za objekty v popředí (studna, zábradlí mostů) neumí stejně kvalitní jednopixelovou mezeru po jejich obvodu, tak jak to je vidět u postavy hráče na pozadí. Ale možná se to podaří vyřešit. A i kdyby ne, je to spíše okrajový problém.

    V tomto případě je výzvou fakt, že originál běží v textovém režimu a testuje si průchod paprsku CRT obrazovky, aby kreslil zaručeně synchronně s rozkladem obrazu a nedocházelo tak k trhání animací. Jinými slovy, pro vykreslení postavy hráče na obrazovku tak stačí zapsat 12 bajtů (3×4) do videoram, i když se pravda ty „znaky“ o velikosti 4×8 pixelů průběžně redefinují. Na originále hra běží v režimu 160×200, přičemž vodorovné pixely mají dvojnásobnou šířku oproti jejich výšce. Průhlednost je dělána pomocí barvových registrů, tedy ne programově. Proto originál ani nepotřebuje kreslit postavu hráče pomocí masky, aby vytvářel jednopixelový obrys. Přece jen bílý hráč na bílém pozadí musí být nějak ohraničen, aby se neztrácel. Jedním z pilířů této hry je algoritmus, který do jednoho bajtu umí zakódovat informaci o libovolné kombinaci 6 pixelů videobajtu, kde každý pixel může nabývat možnosti: zhasnutý, rozsvícený, potlačený (pak se zobrazuje pozadí za ním). Druhým stěžejním pilířem je schopnost nadefinovat vybrané části pozadí tak, aby se při průchodu postavy hráče chovaly jako popředí (studna, zábradlí mostů).

    Hra už nyní běží v multitaskovém režimu, kdy pohyb hráče zabírá pouze 50% strojového času. Zbylých 50% bude vyhrazeno pro „přehrávání“ primitivních zvuků, něco na způsob Arkanoidu během hry.

    Vývoj pro PMD-85 začal 19. 1. 2019.

  2. Libor L.A.

    Vyřešen problém obrysu objektů v popředí. Kříže, studna, zábradlí mostu a do budoucna i voda, které jsou v popředí, budou nyní lemovány tenkou oddělovací jednopixelovou mezerou. Jejich vizuální detekovatelnost, když za nimi prochází postava hráče, se tím výrazně zvýšila.

    Doplněn modul hvězdné oblohy, i když tam ještě dojde k „roztažení“ hvězdné oblohy do stran. Originál jsem zapomněl vynásobit koeficientem 45/40, který je dán počtem znakových sloupců obrazovky, do kterých se kreslí.

    Bylo rovněž dodefinováno několik dlaždic, hlavně těch pochozích, abych mohl začít vyvíjet pohybový modul. Ten stávající umožňuje pouze prohlížení bočních sousedních místností. Nyní budu převádět a modifikovat originální pohybový modul, který umožní plnohodnotný pohyb po všech místnostech, tedy i těch „nahoře“ a „dole“ a „uvnitř“ budov. Tedy i včetně pohybu po žebříku a včetně skoků a pádů.

    Hra má už v sobě obsaženy všechny místnosti. I ty, do kterých se momentálně nelze dostat. Celkem jich hra obsahuje 48.

  3. Libor L.A.

    Dnes zprovozněna další část modulu, zodpovědného za pohyb hráče. S hráčem lze nyní chodit vlevo a vpravo, přičemž jeho výška již kopíruje terén. Pohyb není výškově tak plynulý jako u originálu. To je však dáno tím, že zatímco originál má stoupání v rámci modulu 32:64 pixelů (tedy rovnoměrně 1:2), tak na PMD-85 vychází stoupání 32:54. A číslo 54 má za prvočinitele spíše samé trojky než dvojky. Tam ten pohyb při stoupání či klesání bude vždy trhavý, s tím z principu nic udělat nepůjde. Alespoň lze nyní vidět efekt přechodu přes most, na ten jsem se nejvíce těšil. Nyní je na řadě dokončení pohybového modulu, tedy iniciace skoků, šplhání po žebříku a volný pád.

    Po započtení všech stávajících i připravovaných modulů vychází časová bilance hry následovně: v rámci jedné animační periody (20ms~1/50Hz) zabírá animace postavy hráče 8,9ms, a například animace laserových pásů v nejnáročnější místnosti vychází (prozatím) teoreticky kolem 3ms. Takže hra bude pomocí limitního časování UARTem rozdělena na dva bloky po zhruba 10ms, čímž se rychlostně vyrovnáme originálu. Zvuky však zcela jistě nepůjde řešit jako u Arkanoidu, na to nám nezbude výpočetní výkon. Ale napadlo mě řešení s využitím hardwarových frekvencí 1kHz a 4kHz. A taky by se slušelo udělat konečně další hru pro MIF-85. Ale to až nakonec, podle zbylého místa.

Napsat komentář

Vaše emailová adresa nebude zveřejněna.