Diskuze o textových hrách

Tvorba Textových her => Programování => Téma založeno: solaris104 29. Srpen 2010 - 21:42

Název: Textovka v Basicu na ZX
Přispěvatel: solaris104 29. Srpen 2010 - 21:42
Chtel bych udelat nejaky remake textovky pro ZX Spectrum z jine platformy. Bohuzel jsem liny a nechce se mi vymyslet a programovat novy engine. Doporucite mi nejakou textovku, ze ktere bych ho mohl pouzit? Mam nejakou predstavu, aby byl relativne rychly a slo pouzivat 3 pismenne zkratky povelu. Predpokladam, ze neni problem tam pridat assemblerovou rutinu pro prehravani AY hudby za behu.
Název: Re: Textovka v Basicu na ZX
Přispěvatel: KaiN 30. Srpen 2010 - 07:43
Myslím, že z českých má smysl "vykrást" jen IJ 3 (viz. hra Nemesis 2, On the road).
Název: Re: Textovka v Basicu na ZX
Přispěvatel: solaris104 30. Srpen 2010 - 08:14
Tak jsem se dival na Indiana Jonese 3 a jako Basicovy vypis ho nevidim. Prohlizel jsem tap i tzx verzi. Pomuze nekdo?
Název: Re: Textovka v Basicu na ZX
Přispěvatel: KaiN 30. Srpen 2010 - 12:26
No, tak se buď můžeš podívat na ty dvě zmíněné hry, které IJ 3 "vykrádají", anebo si to po nahrání ulož jako .sna (to už to bude rozkódované a uložené v paměti jako normální basic).
Název: Re: Textovka v Basicu na ZX
Přispěvatel: zxretrosoft 19. Říjen 2010 - 11:22
Chtel bych udelat nejaky remake textovky pro ZX Spectrum z jine platformy. Bohuzel jsem liny a nechce se mi vymyslet a programovat novy engine. Doporucite mi nejakou textovku, ze ktere bych ho mohl pouzit? Mam nejakou predstavu, aby byl relativne rychly a slo pouzivat 3 pismenne zkratky povelu. Predpokladam, ze neni problem tam pridat assemblerovou rutinu pro prehravani AY hudby za behu.

Já myslím, že enginů je docela dost a jsou použitelné. Pokud jde o tu hudbu z AY, určitě by to šlo, ale chtěl bych upozornit na takové ty běžné, krátké, reklamní songy dneška, které se do textovek naprosto nehodí. Jde totiž o to, že textovku člověk hraje docela dlouho a poslouchat každý 4 minuty hudbu odznova je na nervy a musí se to vypnout. Pak ale taková hudba je škoda práce. Navrhoval bych tedy udělat tuto textovku tak, že by byla přímo pro 128kB, pokud tam má být hudba. Většinu paměti bych vyplnil hudbou - např. tolik muziky jako v nějakém lepším demu. Pak jedině to má smysl  ::)
Název: Re: Textovka v Basicu na ZX
Přispěvatel: misticjoe 29. Srpen 2011 - 23:29
No napadlo mě - pamatuju si tuším SINBAS - dosovej program, kterej uměl udělat ze SNApshotů spustitelné EXE pod DOSem. Výhoda byla, že pokud hra byla napsaná v BASICu, tak mohla mít ochranu jakou chtěla a SINBAS ji stejně vylistoval.
Název: Re: Textovka v Basicu na ZX
Přispěvatel: KaiN 30. Srpen 2011 - 13:01
Mylsím, že SINBAS fungoval jenom tehdy, pokud to bylo kompletně v basicu, ne?
Název: Re: Textovka v Basicu na ZX
Přispěvatel: adent 3. Listopad 2011 - 12:07
Myslím, že z českých má smysl "vykrást" jen IJ 3 (viz. hra Nemesis 2, On the road).

Já bych k tomu pár slov dodal:

Je to asi dvaadvacet let, co jsem napsal Nemesis 2, už nevím přesně. Možná jen 20. (Bylo mi šestnáct, sedmnáct a byl jsem v plném rozpuku mladické nerozvážnosti - ale o tom někde jinde). Ten "engine" si ale trochu pamatuju, tak jestli dovolíte lehký offtopic:

Textovka (IJ3 i Nemesis 2) je vlastně furt BASIC, stejně jako v těch starších. To, co bylo ve strojáku, byla především rutina na výpis textu (proporcionálním fontem a s vyrovnáváním řádků). Tu napsal, jestli se nemýlím, Mirek Fídler. Druhá věc, o kterou se stroják staral, bylo zachytávání stisků kláves během výpisu, jejich "bufferování" a zpracování později. Proto se dalo psát dřív než text odscrolloval. Další věc, co řešil ten stroják, bylo "ukládání do paměťových lokací". Celé jsem si to poctivě ručně disassembloval V.A.S.T.em, přepsal do sešitu, prozkoumal, opsal a přeložil znovu v PIKASMu. Už si nepamatuju, jestli jsem použil naprosto stejný kód, nebo ten svůj přeložený...

Zbytek "engine" je klasický BASICový textovkový základ: lokace, předměty příkazy, všechno zapsané v DATA, v BASICu udělaný parser a hlavní herní smyčka. Stejné to bylo jak u IJ3, tak u Nemesis 2. (Plně strojákový byl až Belegost.)

Takže zase žádný nástroj, žádný univerzální engine, ale poctivý BASICový bastl, okořeněný trochou strojáku. :)

Ad hudba - nevím jestli to nakonec v Nemesis 2 bylo nebo ne, ale měl jsem nějakou hudbu od Franty Fuky pro AY. Dokonce jsem mu jednou volal a koktavě (byl to přeci textovkový pámbu!) ho žádal o svolení to použít. Jeho odpověď si pamatuju dodneška: "Dělej si s tím co chceš!" :)
Název: Re: Textovka v Basicu na ZX
Přispěvatel: mop 3. Listopad 2011 - 14:14
Vítejte na fóru a díky za zajímavé info. Jestli máte emulátor Spectra, můžete si u Solarise na stránkách stáhnout spoustu českých her včetně té vaší Nemesis 2 (i když ta se zřejmě zachovala jen ve snapshotu SNA):
http://cs.speccy.cz/Hry/hry.html
Název: Re: Textovka v Basicu na ZX
Přispěvatel: solaris104 2. Únor 2012 - 19:09
U hry Indiana Jones 3 se lze dostat do BASICu tak, ze date Nahrat pozici z pameti 6. Bohuzel hra opravdu pouziva assemblerove rutiny a na to ja nestacim.
Název: Re: Textovka v Basicu na ZX
Přispěvatel: KaiN 3. Únor 2012 - 13:57
Ty rutiny by ale meli byt jen na tisk 42 znaku na radek a rezidentni rutinka na zachytavani klavesnice, ne? To podle me muzes pouzivat bez jakehokoliv zasahu resp. to muzes bez ujmy vymazat, ne?
Název: Re: Textovka v Basicu na ZX
Přispěvatel: solaris104 4. Únor 2012 - 18:58
No to by mi nekdo musel ty assemblerove rutiny ulozit jako code.
Název: Re: Textovka v Basicu na ZX
Přispěvatel: KaiN 5. Únor 2012 - 13:54
Podle me jsou vsechny rutinky vc. mapy znaku 6x8 obsazeny v bloku od adresy 62400 v delce 3136 (to odpovida poslednimu datovemu bloku v Jones3.tzx, kde je to ale zakodovano). Ulozil jsem ti to do "indy.tap" a stahnout to muzes tady: http://petr.kain.sweb.cz/solaris/indy.tap (http://petr.kain.sweb.cz/solaris/indy.tap). V programu pak bude minimalne treba dat: CLEAR 62399: LOAD "indy" CODE.
Název: Re: Textovka v Basicu na ZX
Přispěvatel: solaris104 5. Únor 2012 - 16:36
Diky, ono to fakt funguje.
Název: Re: Textovka v Basicu na ZX
Přispěvatel: misticjoe 8. Únor 2012 - 09:00
Tohle jde take jeste nejak pres Mload loader. Uz si to moc nepamatuju, je to drahne let. Ale vim, ze 42 znaku nebo AY hudbu jsem delal tak, ze jsem si do pameti nechal natahnout male utility, ktere tohle delaly. Pak napsal program a ulozil cely obsah pameti (na kazetu je to masakr, ale pod emulatorem nebo z diskety to neni problem). Delalo se to pres nejake Randomize USR (presne cislo uz si nepamatuju, ale asi bych ho dohledal) nebo to umely nektere emulatory na PeCku (tusim Z80 i ve win verzi). Ty utility mam jeste ve svem archivu, kdybys potreboval. Ale koukam, ze prozatim si to vyresil asi elegantnejsim zpusobem.
Vyhoda mloadu je v tom, ze mas jen kratkou zavadeci hlavicku a pak uz se nahrava vse, vcetne uvodni obrazovky najednou. Je to nevic takova berlicka pro nas, co nikdy nepochopili nejake CODE :-)
Název: Re: Textovka v Basicu na ZX
Přispěvatel: KaiN 8. Únor 2012 - 15:14
Ja mam na kazete (cimz je to de facto na ... ) vlastni rutinku na psani 42 znaku, kterou jsem presmeroval na basicovsky prikaz LPRINT, jenz slouzi pro tisk na tiskarnu. Bylo tak mozne vse resit v ramci basicovske syntaxe, tj. napr. LPRINT AT 10,10 "Hello, world!" Ale ta Fukova rutinka je lepsi v tom, jak tu psal adent, ze ma proporcionalni pismo, coz mi uniklo.