Welcome, Guest. Please login or register.


Author Topic: game00 (Read 34585 times)

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: game00
« Reply #90 on: 2013.November.17. 22:00:54 »
Kicsit azon aggódom, hogy a frame beállíthatóság az idővel el fog sikkadni ...

Úgy értem, hogy a hangot pld. előrevettem, hogy nehogy amiatt kelljen újraírni az egészet.

De ahhoz már végképp nincs türelmem, hogy most a fejlesztés közben folyamatosan végiggondoljam a beállítható frame számokkal működő időzítéseket.

És biztosan fog kelleni csomó dolgot másképp csinálni a beállítható frame számhoz.

Szóval mikor majd kész lesz az egész, akkor lesz egy csomó plussz átírás, kód ... vagy legalábbis kéne. Ha akarnék beállítható frame számot ... márpedig akarnék.

De lehet lusta leszek.
Z80 System

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9888
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: game00
« Reply #91 on: 2013.November.17. 22:26:55 »
Mióta megvan a Traffic játék, azóta nagyjából rendszeresen játszom vele a mai napig. A grafikája funkcionális ugyan, de a játék annyira ötletes, hogy a részletek egészen háttérbe szorulnak. Manapság inkább a csodálatos grafikára és hangokra mennek rá a játékokban, a játékmenetben meg semmi új nincs. De azért nem baj, ha jól meg van írva minden egy játékban, de a használhatósága nem ezen fog múlni. :)
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: game00
« Reply #92 on: 2013.November.17. 22:32:59 »
Fogj kezet az endivel, ő is mindig ezen vergődik.

De ez van. Nalam a tökéletes megjelenés, kivitel, az a beugró. Attól még valóban lehet teljesen rossz valami, hogy patent a külcsíny, de ANÉLKÜL lehet akármilyen jó is, engem nem érdekel.

Ízlések ...
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: game00
« Reply #93 on: 2013.November.18. 07:48:18 »
Hmmm ... most azon kezdtem morfondírozni, hogy ha felmennék HIRES -be, akkor tulajdonképp eddig az állapotig pont ugyanez lenne a futási időm.

Viszont lenne 16 szín ... egy álom válna valóra ...

Persze ha lenne dupla ennyi byte, akkor kár lenne nem duplázni a csillagok sűrűségét ... és akkor már duplázódna az idő.

Persze a lehetséges sprite -ok számát meg mindenképp felezné,

a scanline- jaim a mostani 104 byte -ról, 208 byte -ra mennének fel, és a maradék 50 byte - okra már nem férne el (csak nagyon rossz minőségű, 2KHz -es hang esetén lenne megoldható, akkor is csak 5K lenne) a hang buffer,

a sprite grafikák is egyből feleződnének darabszámban ...

De 16 szíííín ... az nagy mézesmadzag ... :)
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: game00
« Reply #94 on: 2013.November.18. 08:16:03 »
Közben egy másik ördög is bújkál bennem ... most hogy megcsináltam, hogy több szegmensen is lehet kód, felmerült bennem, hogy el kéne hagyni a 128K limitet is.

Ugye nekem ez a projekt arról szól, hogy miket lehett volna csinálni régen, és mivel a limiteket alapvetően a sebesség adta, nem a memória, lehet ezzel a memóriadologgal nem torzítanék sokat.

Úgy értem, hogy sokkal kényelmesebb lenne nekem most úgy dolgozni, hogy nincsenek memória limitek, mindennek van külön szegmense, oszt jónapot, de ami így működik, azt okos szervezéssel, időráfordítással, jó arányok megtalalásával, válogatással, stb. hasonló jóra meg lehetne csinálni 128K -n is, mint szabad memóriahasználattal. Csak én most megspórolnám az ezekre (memóriaoptimalizálas) szánt időket.

Vagy ez már nagyon nagy csalás lenne ? Ezzel értelmét veszítené már a dolog ? Nem tekinthetnénk többé relevánsnak ?

Egyébként meg a mostani memória bővítésekkel aki akarná tudná vas gépen is futtatni ... Sztm. akinek van vas gépe, az rendelt most magának bővítést ... nem ?
Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14710
  • Country: hu
    • http://enterprise.iko.hu/
Re: game00
« Reply #95 on: 2013.November.18. 08:50:40 »
Én a hangmintákat nem raknám a videó RAM-ba, másodpercenként több ezerszer akarsz hozzáférni, minden alkalommal várni a Nickre, ez tuti sokat lassít.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: game00
« Reply #96 on: 2013.November.18. 09:03:59 »
Quote
Én a hangmintákat nem raknám a videó RAM-ba, másodpercenként több ezerszer akarsz hozzáférni, minden alkalommal várni a Nickre, ez tuti sokat lassít.
Hát most is onnan játszom le őket, eleve így lett az ideje tesztelve. Ha átraknám oket system RAM -ba, akkor szerinted jelentősen gyorsulna a futás ?

És ha nem onnan játszom le, akkor mire való a videó RAM ? Screen buffer, és kész ? Meg maximum háttér adat ? Háttértár ? Hisz grafikát nem tehetek bele, mert akkor lassítja a másolást, hangot sem, mert az is lassít, számításigényes pálya adatot sem (táblázatokat) mert az meg a számítást lassítja ... :)

A hangot a maga video megszakításonkénti 160 byte -jával (4KHz az 80 hangmegszak 50Hz -enként, és hangmegszakonként 2 byte -ot olvas be, ír ki portra),
egy sprite kimásoláshoz képest (ami ugye az össz idő 80% lesz kb.) egy kifejezetten nagy memóriaigényű, de kis memóriahozzáférési frekvenciájú feladatnak érzem a hangot ... ha még ezt sem lehet a video RAM -ba tenni, akkor mit ?


Most így utánaszámolva egy sprite -om 5*16=80 byte szintén (mekkora poén! :)), ami azért azt jelenti, hogy megszakonként 2 sprite -nyi memória azért valóban kimegy a hangra ...

Na de mégsem 8-10 ...
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: game00
« Reply #97 on: 2013.November.18. 09:21:27 »
És oké, video RAM -ban ne legyen semmi, csak screen buffer meg háttértár,

akkor marad ugye 4 szegmens a system RAM -ból,

1 kod
2 csillagok
3 sprite -ok
4 hangok

És már el is fogytam, ha szeretnék mondjuk a pályákhoz +1 szegmenst, akkor már nincs is ...

Arról nem is beszélve, hogy a hang szegmenst el kéne kezdeni lapozgatni akkor mégis, mert 3 videó szegmensre is atnyúlik a képernyő pufferem, és ha nem akarom megtanítani lapozgatva rajzolni a kódjaimat (és nem nagyon ...) akkor a kirajzolások ideje alatt 3 video szegmensnek belapozva kell lennie. Közben akkor a hang honnan menne ?

Persze ha szakítanék a 100H -nkénti scanline -okkal akkor ráférne 2 szegmensre a screen buffer.

De azért összességében az eléggé tetszik, hogy 100H scanline -ok, közöttük a hang (illetve hát kettőn), és ezek állandóan belapozva tartva, kivétel mikor 0- ás lapot váltok.
Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14710
  • Country: hu
    • http://enterprise.iko.hu/
Re: game00
« Reply #98 on: 2013.November.18. 09:28:05 »
Quote from: Z80System
És már el is fogytam, ha szeretnék mondjuk a pályákhoz +1 szegmenst, akkor már nincs is ...
De a pályák az kell folyamatosan egyszerre? Az lehetne lassú RAM-ban, és pályaváltáskor átmásolni az aktuálisat mondjuk a nullás lapon lévő pufferben.

A csillagok egy egész szegmenst fogyasztanak?

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: game00
« Reply #99 on: 2013.November.18. 09:36:57 »
Quote
De a pályák az kell folyamatosan egyszerre?
Még nem tudom mi alapján fognak mozogni az ellenségek, a példa csak teoretikus volt, hogy üresen hagyjuk a belapozott memória 50% -át, plussz kukázunk a tárunkból is ugyanennyit, ha nem használom ki a videomemória közöket.


Quote
A csillagok egy egész szegmenst fogyasztanak?

A csillagok le vannak tárolva. 46 (darab csillag) * egy 256 lépéses táblázat = 2e00H hosszú. Ha bármit számolgatok, visszatárolgatok, tesztelek, túlcsorgatok csillagonként, az duplázta a csillagok idejét.
A jelenlegi időt tovább lehetne 2/3 -olni, ha fenti memória dupláját áldoznám a csillagokra.

Azt hiszem meg az is másfélszerez vagy dupláz, ha 3 darab (különböző sebességű) 256 -os csillag táblán mozgattam minden csillaghoz egy saját indexet. Pedig a túlcsordulás már ott is automatikus.
Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14710
  • Country: hu
    • http://enterprise.iko.hu/
Re: game00
« Reply #100 on: 2013.November.18. 09:40:20 »
Quote from: Z80System
A csillagok le vannak tárolva. 46 (darab csillag) * egy 256 lépéses táblázat = 2e00H hosszú.
Akkor ott van még 1200h szabad bájt :-)

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: game00
« Reply #101 on: 2013.November.18. 09:50:51 »
Hááát ... ha elhagynám a 100H -s scanline -okat, akkor a teljes screen bufferem elférne 1 szegmensen ... még maradna is hely.

Vagyis lapozasi értelemben lehetne a

p0 - kód
p1 - üres!
p2 - screen
p3 - hang

A p1 -et meg fel lehetne használni bármire ami jön, vagy el lehetne hagyni a nulláslap csere körüli bonyodalmakat, és lehetne a p1 a cserélgetett kód lap.

Csak ehhez akkor a mostani csillagmozgás az kuka, kéne a dupla méretű adat hozzá,

és a sprite -ok kirajzolásánál is 16 bites összeadással lehetne csak lépegetni a sorok között ... azt volna jó tudni, hogy az vajon mennyit lassítana.

Mert ha nem félék ennyire a nem 100H scanline -októl, akkor azért lapozás szemppontjából bejjebb lennék.

És akkor a lapozást megtoldani kis extra RAM -mal ... :)
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: game00
« Reply #102 on: 2013.November.18. 10:02:44 »
Na, maradjunk annyiban,

hogy most így ahogy van megírok némi sprite mozgást majd,

és még ugyanerre a képre megírok olyan sprite kirajzolókat is, amik nem használják ki a 100H -s scanline -okat, hanem működnének normál képernyőn is,

és akkor ki tudom próbálni, hogy mi van ha azokat használom, de a hang system ramból szól,
vagy a 100H -sokat, de a hang videóból szól.

És ha jelentős a különbség, akkor érdemes elgondolkodni a csillagmozgáson mégegyszer. (Csillagmozgás ugye azért érzékenyebb a 100H -ra a sprite -oknál, mert ott egy "sprite" egy byte, és gyakorlatilag az egész csillagmozgás kód egy "cím számítás", míg a sprite -oknál azért kiraksz jó sok byte- ot egy címszámítás után.)
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: game00
« Reply #103 on: 2013.November.18. 10:13:09 »
Igazából a csillagokhoz már eszembe is jutott egy megoldás ...

Tehát tulajdonképp az a kérdés, hogy vajon jóval többet gyorsít -e a 100H scanline a sprite -oknál, mint amekkorát gyorsítana a system RAM -ból hanglejátszás.

Mert amennyiben nem gyorsítana sokkal többet, akkor érdemes lenne átállni még akkor is, ha a system RAM -ból hanglejátszás sem gyorsítana sokat. Ugyanis a csillagokon kívül egyszerűbb lenne az élet mindennel ...
Z80 System

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: game00
« Reply #104 on: 2013.November.18. 10:25:00 »
ha a csillagok mozgása le van tárolva akkor mozoghatnának kicsit térben is
vagy kacskaringósan, vagy mit tudom én
Vigyázat! Szektás vagyok! :)