Welcome, Guest. Please login or register.


Author Topic: GraCha Sprite System (Read 252 times)

Offline endi

  • EP addict
  • *
  • Posts: 6993
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
    • Honlapom
GraCha Sprite System
« on: 2019.April.13. 23:57:10 »
Elkezdtem basic-ben írni egy rendszert karakteres (főleg gracha) módhoz. Poke-okkal műxik és zzzippel fordítható lesz. De a lényeg az lenne ha valaki majd átírná asm-ba (egyszerű lesz), mert én már nem akarok gépi kóddal foglalkozni. De direkt úgy írom meg basic-ben is hogy könnyen átírható legyen.
A lényeg, azaz ilyen funkciók lesznek:
-gracha képernyőt kirajzolja (pálya rajzoló).
-kirak egy 2x2-es "sprite"-ot (gracha elem).
-kirak nagyobb sprite-ot egy háttér bufferből, ami egy gracha képernyő (megadható a sprite mérete).
-visszarajzolja a gracha pálya 2x2-es vagy más megadott méretű részét.
-gracha pálya betöltés.
-gracha háttér képernyő betöltés (lényegében egy másik pálya). ide rajzolhatjuk a sprite-okat, akármekkorát is.
-olyan sprite rajzoló, ami egyszerre rajzol ki sok sprite-ot. ez azért szükséges, mert gyorsabb lesz tőle, mintha basicből vezérelnék egyenként a sprite rutint. tehát basicben csak meg kell adni mondjuk 8 sprite koordinátáit és sprite számát (hogy melyikeket rajzolja ki), meghívjuk ezt a rutint és kirajzolja őket egyszerre.
-valami scroll dolog. egyelőre valszeg ez csak annyi lesz hogy a pálya kirajzoló megadott eltolással tudja kirakni a pályát.
-dupla bufferes kirajzolás, azaz egy háttér bufferbe rajzol mindent, azután azt megjeleníti. esetleges villogások elkerülésére.
-mindenféle automatikus raszter színező rutinok, hogy aki nem akar vagy nem tud gracha editorban színezni, annak is legyenek szép színei. :)
-valamiféle ütközésvizsgálat: ez lehet sprite-ok közötti és a pályával.

Elvileg mivel ügye karakteres képernyő, ez olyan gyors lehet, hogy akár úgy is megfelelő sebességű lesz, ha az egész képernyőt folyton visszarajzoljuk és rárajzolunk 8-10 "sprite"-ot.

A lényeg pedig az lenne hogy ezzel a rendszerrel könnyen lehessen basic-ben látványosabb játékokat csinálni.

Gépi kódra majd akkor kell átírni, ha kiforrott az egész.
« Last Edit: 2019.April.14. 15:43:56 by endi »
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline endi

  • EP addict
  • *
  • Posts: 6993
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
    • Honlapom
Re: GraCha Sprite System
« Reply #1 on: 2019.April.14. 11:29:46 »
itt egy mínusz egyedik verzió. kimásol a képre valami memóriát, majd rárajzol egy nagy sprite-ot.
látható hogy zzzippelve a poke se elég gyors ehhez, de majd gépi kódban. :) és úgy villogni se fog!
na meg az se szükséges minden játéktípusnál, hogy az egész képernyőt mindig újra kirajzoljuk. de akarok majd kísérletezni scrollos játékkal. tök jó lesz basic-ben ilyeneket csinálni. :)
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline geco

  • EP addict
  • *
  • Posts: 5310
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 66.0 Firefox 66.0
    • View Profile
Re: GraCha Sprite System
« Reply #2 on: 2019.April.14. 12:53:32 »
jól hangzik :)

Offline endi

  • EP addict
  • *
  • Posts: 6993
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
    • Honlapom
Re: GraCha Sprite System
« Reply #3 on: 2019.April.14. 16:27:51 »
az első hozzászólást frissítem ha új ötlet van, vagy ha valami elkészült
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline endi

  • EP addict
  • *
  • Posts: 6993
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
    • Honlapom
Re: GraCha Sprite System
« Reply #4 on: 2019.April.17. 22:33:06 »
meg tudná valaki írni nekem a betöltést?
allocate-al lefoglalt memóriában akarok betölteni. 42*24*2 bájthoz szerintem nem kéne szegmenst foglalni :)

a formátum amit binárisan ment az editor:
pálya:
 24 sor, 42 bájt per sor
színek soronként:
 24 sor, 8 bájt soronként
definiált karakterek:
 1 bájt a karakter kód, 9 bájt per karakter a definíció, és 20*4 karakter van elmentve (mivel 2x2-es blokkokból áll és 20 ilyen 2x2-es elem van. a pálya nem ezekből épül hanem simán csak 24*42 karakterből, ez a 2x2-es dolog csak az editálást segíti az editorban).
« Last Edit: 2019.April.17. 22:38:16 by endi »
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline endi

  • EP addict
  • *
  • Posts: 6993
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
    • Honlapom
Re: GraCha Sprite System
« Reply #5 on: 2019.April.17. 22:45:40 »
úgy értem asm-ban :)
jó tudom, csak pár sor... de már nem emlékszem az exos dolgokra, és van akinek kisujjában van ma is:)
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline geco

  • EP addict
  • *
  • Posts: 5310
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 60.0 Firefox 60.0
    • View Profile
Re: GraCha Sprite System
« Reply #6 on: Yesterday at 08:31 »
Egyből a karaktermapbe, karakterkészletbe, és az LPT-be a megfelelő dolgokat?

Offline endi

  • EP addict
  • *
  • Posts: 6993
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
    • Honlapom
Re: GraCha Sprite System
« Reply #7 on: Yesterday at 10:10 »
Egyből a karaktermapbe, karakterkészletbe, és az LPT-be a megfelelő dolgokat?

hát ez se ártana igen, de egyelőre csak a pályára gondoltam, hogy allocate-al lefoglalt címre betölteni.
de a többi is jöhet :)
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline geco

  • EP addict
  • *
  • Posts: 5310
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 60.0 Firefox 60.0
    • View Profile
Re: GraCha Sprite System
« Reply #8 on: Yesterday at 11:12 »
Nekem egyszerűbb a videómemóriába, mivel nem tudom, hogy az allocate-tel lefoglalt cím hol van :D

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13313
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 66.0 Firefox 66.0
    • View Profile
    • http://enterprise.iko.hu/
Re: GraCha Sprite System
« Reply #9 on: Yesterday at 11:34 »
mivel nem tudom, hogy az allocate-tel lefoglalt cím hol van :D
Azt vagy hívásnál lehet átadni, és akkor a HL-ben lesz, vagy pedig a megfelelő helyen CODE változó=, és aztán a változó értékét bepókolni a töltő kódba a megfelelő helyen.

Offline endi

  • EP addict
  • *
  • Posts: 6993
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
    • Honlapom
Re: GraCha Sprite System
« Reply #10 on: Yesterday at 12:34 »
Azt vagy hívásnál lehet átadni, és akkor a HL-ben lesz, vagy pedig a megfelelő helyen CODE változó=, és aztán a változó értékét bepókolni a töltő kódba a megfelelő helyen.

igen, valami ilyen dereng nekem is :)
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline endi

  • EP addict
  • *
  • Posts: 6993
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
    • Honlapom
Re: GraCha Sprite System
« Reply #11 on: Yesterday at 12:35 »
Nekem egyszerűbb a videómemóriába, mivel nem tudom, hogy az allocate-tel lefoglalt cím hol van :D

az azért nem jó, mert háttér bufferben kell lennie a pályának, mert azt fogjuk átmásolni a videomembe amikor szükség van rá, pl sprite mögötti terület újrarajzolásánál.
pont ez lenne a lényege a rendszernek!
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline geco

  • EP addict
  • *
  • Posts: 5310
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 60.0 Firefox 60.0
    • View Profile
Re: GraCha Sprite System
« Reply #12 on: Yesterday at 14:03 »
A HL szimpatikusabb is :)

Code: [Select]
    push hl
    xor a
    ld de,filename
    exos 1
    jr nz,unsucc
    pop de
    ld bc,24*42+24*8+20*4*9
    exos 6
unsucc
    xor a
    exos 3
    ret
filename dbl "file"

Offline endi

  • EP addict
  • *
  • Posts: 6993
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
    • Honlapom
Re: GraCha Sprite System
« Reply #13 on: Yesterday at 17:04 »
már csak az a kérdés hogy több címet vagy file név címét hogy lehet átadni a basic code hex utasításba?
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline endi

  • EP addict
  • *
  • Posts: 6993
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
    • Honlapom
Re: GraCha Sprite System
« Reply #14 on: Yesterday at 18:40 »
mondjuk lehet hogy kéne egy külön topik arra hogy "asm basic-ben"...
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D