Castle Master

1990 - Incentive

akció, freescape

Enterprise

Amstrad CPC

 

 

 

 

Az Incentive nem csak a Spectrum és Commodore 64 tulajdonosokat "boldogította" freescape játékaival, hanem az Amstrad CPC tulajdonosokat is. Persze az Enterprise tulajdonosok is ismerhetik a Driller, Dark Side (ebből csak egy nagyon rossz minőségű átirat készült), Total Eclipse, Total Eclipse II., sőt a Castle Master II. részének Spectrum verziójának átiratát is, azonban a Castle Master kimaradt a sorból. István már inkább a CPC változatot írta át, hisz ez "rendes" 4 színű képernyőt használ, tehát színes a játék (az egyes helyszínek különböző színpalettában pompáznak) és nagyobb is a képernyő. A kezelés és a feladat természetesen azonos a Spectrum változatnál megismertekkel. Egyetlen különbség, hogy a betöltés után 3 féle nyelv (angol, francia, német) közül választhatunk.
Gyors ismétlés a kezelőbillentyűkről:

  • A mozgáshoz bármelyik botkormányt használhatjuk, vagy a következő billentyűket: O - előre, K - hátra, Z - balra, X - jobbra, 0 - tűz, (a beépített botkormányt használva is ezzel tudunk lőni). U-val hátrafordulhatunk,
  • a nézőpontot a P / L billentyűkkel állíthatjuk fel-le. F-re visszaáll egyenesbe.
  • A lepés méretét a W (WALK, azaz séta) és R (RUN, azaz futás) állíthatjuk, a legkisebb lépést a C (CRAWL, azaz mászás négykézlábon) eredményezi - ez utóbbi választása után tudunk bemászni olyan helyekre, ahova állva nem lehetne.
  • A SPACE megnyomása után a mozgatóbillentyűkkel (vagy a kiválasztott botkormánnyal) a célkeresztet irányíthatjuk a kívánt helyre (a ';'-vel ki/be kapcsolhatjuk).
  • Új funkció az A billentyű az akció-billentyű, ezzel lehet azokat a tárgyakat felvenni, használni, "működtetni", feliratokat elolvasni, amire a kurzor mutat.
  • Az I billentyűre megjelenik az input / output-menü, ahol játékállást menthetünk, - tölthetünk vagy kiléphetünk a játékból.
    Itt látható az is, hogy hány kulcsot gyűjtöttünk össze idáig (KEYS COLLELTED), hány szellemet nyírtunk ki (SPIRITS DESTROYED), milyen az erőnlétünk (STRENGHT MIGHTY / STRONG / HERCULEAN) és hány pontunk van (SCORE).

Már megszokhattuk, hogy István átiratainál extrákat is kapunk!
Ha már a játék nem igazán éri el a mai szemnek kívánatos sebességet, sikerült a CPC verzióhoz képest kicsit gyorsítani a programon! Ezt elsősorban egyszerű aritmetikai rutinok gyorsabbakra cserélésével sikerült megoldani:

  • 542Dh: előjeles szorzás: AHL = A * HL
  • 5483h: előjeles szorzás: DEHL = DE * HL
  • 54F1h: előjeles osztás: AHL = AHL / DE, DE = maradék (a legtöbb időt talán itt sikerült nyerni, ez egy sokat használt, és lassú rutin)
  • 5578h: előjeles szorzás: HL = H * L
  • 63F2h: előjeles osztás: DEHL = DEHL / BC a legközelebbi egész (a többivel ellentétben nem 0) felé kerekítve, BC = maradék
  • 56F7h: 60 byte feltöltése azonos byte-al (36C6h-nál található az új feltöltést végző 30 PUSH utasítás); ez csak a külső területeken használt, a szobákban nem.

Ezen kívül sikerült gyorsítani a megszakítási rutin módosításával, és néhány egyéb kisebb változtatással. A legtöbbet azonban annak a rutinnak az optimalizálásával sikerült elérni, amely a megjelenítendő sokszögeket rendezi a láthatóság szerint (azaz hogy a távolabbiak rajzolódjanak ki először, és ezeket aztán megfelelően takarják a közelebbiek). Ez a művelet bonyolultabb / lassabb részeknél akár 25% időt is felhasználhat (a futásideje a sokszögek számának a négyzetével arányos).
Mindennek eredményeként a játék kiindulópontjánál a legelső képkocka időtartama ezredmásodpercben:

CPC
Ep (4 Mhz)
Ep (6 Mhz)
Ep (7.12MHZ)
795
502
337
288

Érdemes tehát a programot turbósított gépen futtatni, hiszen a célzás (célkereszt mozgatása) és az idő mérése a video megszakításhoz szinkronizált, és ezért fix sebességű. Mint a táblázatból látható, a magasabb órajel gyakorlatilag pontosan az órajellel arányos gyorsulást jelent, ami arra utal, hogy a program memória hozzáféréseinek a nagy részét a normál RAM teszi ki, és csak kevés ideig tart a pixel rajzolás (a video RAM nem gyorsul az órajellel arányosan, mert ott fix 889846 Hz-es frekvenciához kell szinkronizálni a hozzáféréseket). Emulátoron tetszőleges értékre lehet beállítani a processzor órajelét, itt célszerű használni játék közben az alábbi funkcióbillentyűket:

  • F1: Alapértelmezett mód. Eredeti lépésméret, 5.56 fps maximális képfrissítés (ezt ugyan normál sebességű gépeken ritkán éri el).
  • F2: a lépésméret és fordulási sebesség 2/3-ra csökken, 8.33 fps.
  • F5: a lépésméret és fordulási sebesség 1/3-ra csökken, 16.67 fps.

Emulátort használva, a processzor órajelét 40 MHz-ra beállítva már kellően pörgős játékban lehet részünk...

Betöltés után többféle csalást választhatunk:

  • F1 - végtelen idő,
  • F2 - a szellemek nem árthatnak,
  • F3 - ha leesünk, nem sérülünk meg,
  • F4 - a lezuhanó felvonóhíd nem árt,
  • F5 - mind a 10 kulcs megvan már a játék kezdetén (csak új játék indításakor van hatása, régebbi, csalás nélküli játékállások betöltésénél nem).
  • F6 - Az árokba esve nem fulladunk meg. Ez a funkció kissé bugos: ha engedélyezett, akkor a vízbe esés mindig a várárok egy bizonyos pontjára teleportálja a játékost egyenesen lefelé nézve - innen csak a legnagyobb lépésmérettel és futás (R) módban lehet kimászni, és előfordulhat, hogy például a fáklyák és egyéb eredetileg ártalmas tárgyak érintése/használata sem okoz energiacsökkenést.