Hogyan írjunk ZX Spectrum játékot

Módszerek, módszertanok alkalmazása Spectrumon...
Avatar
Zozosoft
Hozzászólások: 781
Csatlakozott: 2012.01.06. 14:03
Kapcsolat:

Re: Hogyan írjunk ZX Spectrum játékot

Hozzászólás Szerző: Zozosoft » 2013.11.26. 13:50

Pgyuri írta: addig mindig azt szoktad írni, hogy "Bárcsak lenne egy olyan jó visszafordító, ami magától kielemzi a kódot, az adatot elkülöníti a kódtól, a nem használt rutinokat kiemeli és könnyeddé teszi a fordítható forrás előállítását."
Nem ezt szoktam írni!
Én azt szeretném, ha az utasítás folyamba belekevert adatbájtokat (pl RST vagy CALL hívás utáni paraméter bájt/bájtok) könnyedén ki lehessen válogatni, ne képezzenek hamis utasításokat azzal, hogy ráfut a disassembler. A számítógépet arra találták ki, az ember helyett dolgozzon, különösen ilyen jól körülírható feladatokban!
A SpeccyDOS-nál vagy 2 napom ment el azzal, hogy mindegyik verzióban, minden egyes RST hívás után be DB-zem a bájtokat. Pedig egy perc alatt leírható lenne a szabály. Az így megnyert időt szívesebben fordítaná az ember arra, hogy az X vagy Y szubrutin működésén töprengjen.

Avatar
Pgyuri
Alapító tag
Hozzászólások: 538
Csatlakozott: 2012.01.06. 13:34

Re: Hogyan írjunk ZX Spectrum játékot

Hozzászólás Szerző: Pgyuri » 2013.11.26. 14:12

Üdv,

Elnézést a pontatlan idézésemért. Az RST, .db témában tudtam, hogy ez a fő gondod a rendszerszintű programkód visszafejtésnél, de látod, 2 nap alatt elvégezhető volt és közben mennyi jó gondolat fogan meg az ember fejében, míg a kódban a gép helyett cserélgeti a szöveget a forráskódban. Szerintem pont ezért nem érdemes sietni.

Játékokban is van olyan, hogy elcsúszik a belépési pont egy utasítás közepére, de majd odaérek és kijavítom.

Amikor visszafejtek egy játékot, akkor ugye a grafika helyén értelmetlen programkód sorakozik. Sikerült megfejteni, hogy az grafika, akkor először számokká alakítom át azt a területet, utána mikor megértem a grafika rész felépítését (pl. egy sprite hányszor hány byte-os), akkor áttördelem a számsorokat annak megfelelően, sőt van, amikor utána binárissá alakítom, hogy szépen látható legyen a sprite képe. Persze ehhez néha írok egy töredelő miniprogramot, de nem épp user-friendly, hanem a célnak épp megfelelő. És még egyszer se merült fel bennem, hogy miért nem gép csinálja meg, hisz pont ez adja meg a szépségét a végén a jól végzett munkának :)

Még egyszer elnézésed kérem a nem megfelelő idézetért :)

Pgyuri

Kapitany
Hozzászólások: 148
Csatlakozott: 2013.01.05. 10:03
Tartózkodási hely: Budapest

Re: Hogyan írjunk ZX Spectrum játékot

Hozzászólás Szerző: Kapitany » 2013.11.26. 15:14

Nem értek egyet ezzel a szemléletmóddal. Én ismerem a megértés örömét, valóban csodálatos dolog az, ha valaki megért valamit, pláne ha segítség nélkül. Miért is kellene segítség, ha egyszer nem sietünk valahová...

...ellenben ha így fognánk fel a dolgot, hogy sosem használjuk fel a mások által megszerzett és összegyűjtött, összegzett, kivonatolt tudást, akkor mindenkinek folyton fel kellene találnia a kereket és a tüzet, és sosem jutnánk előrébb, az emberiség még a középkorban lenne, mert nulláról egy emberöltő alatt csak olyan szintű találmányok születnének. Ha mindenki nulláról kezdené a Speccy-s programozást, csupán próbálkozással és esetleg jutalomból binárisból diszasszemblált kódok böngészésével, az emberek nagy többsége megkeseredne és elmenne a kedve az önálló alkotástól, mert fáradtságos volt feltalálni az eszközöket. Nem szeretném feltalálni a kalapácsot, a szöget és a fűrészt ahhoz, hogy megépítsem az első kutyaházamat! :)

A ZX Spectrum Programozása könyvből egy mondat: "Nem kell feltalálnunk a spanyol viaszt!". Szerintem igenis érdemes mások összegyűjtött, tömörített formában elérhető tudását használni, erre épül az oktatás. Hogyan lennének magas szintű nyelven programozók, ha előtte mindenkinek fel kellene találnia a JAVA-t? :) A Csillagkapu nagy film lehetne a példája ennek, egy nép, amelyiknek az uralkodója megtiltotta számukra az írást és olvasást, hogy ne örökíthessék egymásra magvas gondolataikat hosszú távon, nagy számban terjesztve.

Vissza a konkrét dologra: szerintem a Gazdálkodj Okosan nem egy olyan társasjáték - legalábbis számomra -, amit úgy játszik az ember - ajánlott korcsoportból adódóan sem -, hogy valószínűségeket számol az elérhető mezők belépését illetően, számon tartja fejben vagy papíron a kiment szerencse kártyákat, stb... Ha erre vágyom, akkor pókerezem, sakkozom, ultizom, nem pedig egy 6+ éveseknek szánt játék kapcsán idézem elő az agykitörésemet. :) Tökéletesen elegendő egy nem annyira bonyolult AI - nem azért mert nem tudnék bonyolultabbal előállni, mindkét diplomamunkámat a mesterséges intelligencia területén írtam -, hanem mert a gépi játékosoknak a neve nem véletlenül kisöcsi és nagymama lesz. :)

A grafika tényleg hosszadalmas, de ennek ellenére sem az a célom, hogy örökké csak saját magamnak fejlesszem, azért szeretném ha egyszer azt mondhatnám, hogy kész, elfogadható, olyan amilyen - de azért remélem nem szörnyű -, lehet fogyasztani. :)

Azért fordítgatom majd a cuccot, aki szeretné használni a felhalmozott tudást, tegye, aki maga kísérletezik, kellemes időtöltést ahhoz is. :)

kpbendi
Hozzászólások: 66
Csatlakozott: 2012.01.09. 14:42

Re: Hogyan írjunk ZX Spectrum játékot

Hozzászólás Szerző: kpbendi » 2013.11.26. 17:35

Az egyik legjobb könyv spectrum gépi kód programozásból szerintem a Mastering Machine Code on Your ZX Spectrum

http://www.worldofspectrum.org/infoseek ... id=2000237

Ez tényleg totál kezdőknek szól és csak a spectrum basic alapszinten való ismeretét követeli meg, minden mást lépésről lépésre elmagyaráz.
(Régi vesszőparipám amúgy, hogy magyar nyelven _nincs_ használható kezdő szintű oktatóanyag szinte _semmilyen_ témában. :twisted: )

Avatar
Bali
Alapító tag
Hozzászólások: 2291
Csatlakozott: 2012.01.06. 13:34
Tartózkodási hely: Budapest III.
Kapcsolat:

Re: Hogyan írjunk ZX Spectrum játékot

Hozzászólás Szerző: Bali » 2013.11.26. 17:51

Kapitány majd úgy készülj, hogy a sorozatot a portálra is felnyomjuk...
-= Bali =-
(c) 1983-2017 Evil-Soft

Avatar
Bali
Alapító tag
Hozzászólások: 2291
Csatlakozott: 2012.01.06. 13:34
Tartózkodási hely: Budapest III.
Kapcsolat:

Re: Hogyan írjunk ZX Spectrum játékot

Hozzászólás Szerző: Bali » 2014.09.29. 18:21

Jó hírrel szolgálhatok, elkezdődött a cikksorozat fordítása, az első fejezetet már olvashatjátok is magyarul:
http://sinclair.hu/?programozas/hogyan_ ... atekot.php

Jöhetnek az érdemi kommentek, esetleg hiba javítások...
-= Bali =-
(c) 1983-2017 Evil-Soft

Avatar
csege
Alapító tag
Hozzászólások: 219
Csatlakozott: 2012.01.06. 15:15
Tartózkodási hely: Föld.Naprendszer.Tejút

Re: Hogyan írjunk ZX Spectrum játékot

Hozzászólás Szerző: csege » 2014.10.01. 14:03

Mon Capitan!
Köszönöm a fordítást!
Átjön az író lendülete, hangulata.
Ne hagyd abba, érdeklődve várom a folytatást is!
Mindig bántott engem is az a logikai szakadék, ami az itthoni szagkönyvek két típusát elválasztják egymástól:
Vannak a menümagyarázó, esetleg referenciakönyvként működő könyvek,
meg vannak a magasröptű, a földi halandòkat meg sem szólító kiadványok.
Tisztelet az igen kevés kivételnek, a kettő közötti, egyszerűbb 'hogyan indulj el?' tipusú kiaványok nagyon ritkák!
Ezért remélem, hogy ez a könyv ilyen lenne.
Tehát ne veszítsd el csüggedésed, fordításodat jópáran fogjuk olvasni!

(c)csege

Kapitany
Hozzászólások: 148
Csatlakozott: 2013.01.05. 10:03
Tartózkodási hely: Budapest

Re: Hogyan írjunk ZX Spectrum játékot

Hozzászólás Szerző: Kapitany » 2014.10.01. 15:14

Köszönöm, nagyon jól esik a visszajelzés! Már dolgozom a 2. fejezeten, amelyben megismerkedünk a billentyűkombinációk figyelésével, a joystick-kal, valamint elkezdünk írni egy egyszerű SNAKE (KIGYÓ) játékot, mint ami a régi Nokiákban volt... :)

Kapitany
Hozzászólások: 148
Csatlakozott: 2013.01.05. 10:03
Tartózkodási hely: Budapest

Re: Hogyan írjunk ZX Spectrum játékot

Hozzászólás Szerző: Kapitany » 2014.10.14. 17:04

Én már úgy várom a következő fejezet megjelenését! :)

Avatar
Bali
Alapító tag
Hozzászólások: 2291
Csatlakozott: 2012.01.06. 13:34
Tartózkodási hely: Budapest III.
Kapcsolat:

Re: Hogyan írjunk ZX Spectrum játékot

Hozzászólás Szerző: Bali » 2014.10.15. 16:28

Felkerült a második fejezet, már olvashatjátok is magyarul:
http://sinclair.hu/?programozas/hogyan_ ... atekot.php

Esetleg ha valakinek volna kedve a példa programokat lefordítgatni, akkor ne kíméljen, ossza meg velünk is.
-= Bali =-
(c) 1983-2017 Evil-Soft

Válasz küldése

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég