Welcome, Guest. Please login or register.


Author Topic: Hogyan írjunk kalandjátékot? (Read 4409 times)

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1291
  • Country: hu
  • Stray cat from Commodore alley
Re: Hogyan írjunk kalandjátékot?
« Reply #15 on: 2017.December.28. 23:23:09 »
De mondom, csak magamból kiindulva gondolom így. Pl. a pacman játékban is programozás közben is többször változtattam a pályát, itt is ilyesmi lenne. Na persze akinek megy, az előtte megtervezi az egész történetet és utána csak leprogramozza, ez nekem nem menne, közben is alakulna. És ehhez áttekinthetőbb, ha ott a térkép a programban és ott lehet egyszerűen módosítani.
Ebben a műfajban ez a fejlesztési stílus nagyjából az önt*k*nszúrás szintjén mozog. A parancsértelmezőt leszámítva egy szöveges kalandjátékban nincs szerintem semmi akár csak félig is érdekes programozni való. Amíg nincs meg a történet és a megoldás menete, addig felesleges hozzákezdeni az adatfeltöltéshez. Szerintem.

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Hogyan írjunk kalandjátékot?
« Reply #16 on: 2017.December.29. 00:12:04 »
Ebben a műfajban ez a fejlesztési stílus nagyjából az önt*k*nszúrás szintjén mozog. A parancsértelmezőt leszámítva egy szöveges kalandjátékban nincs szerintem semmi akár csak félig is érdekes programozni való. Amíg nincs meg a történet és a megoldás menete, addig felesleges hozzákezdeni az adatfeltöltéshez. Szerintem.

haha, ha tudnád hogy a magyar játékfejlesztésben ez az *nt*k*nszúrás az elterjedt fejlesztési stílus. :D :D :D azaz: semmit se tervezni meg, csak csinálni durrbele... :(
nem csoda hogy lassan kihal az összes magyar játékfejlesztő cég. ilyen módszerekkel nem lehet versenyezni a nyugattal... :(
szinte minden munkahelyemen brutális küzdelmem volt hogy megértessem: tervezni kell...
Vigyázat! Szektás vagyok! :)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Hogyan írjunk kalandjátékot?
« Reply #17 on: 2017.December.29. 10:42:34 »
Az biztos, hogy könnyebb leprogramozni mindent, ha már előre megvan, milyen tárgyak lesznek és hol. De ez alakulhat közben is, lehetnek újabb ötletek, stb.
Belegondolva, ha sok művelet van egy kalandprogramban és ezek össze is függenek (pl. ha még nem volt a pincében, nem tudja kinyitni a padlásajtót), akkor nagyon sok változót, tömböt kell létrehozni. Pl. egy változó értéke 0-ról 1-re vált, ha a pincébe megy a krapek, a padlásnál pedig meg kell vizsgálni ennek a változónak az értékét, hogy 0 vagy 1, ettől függően engedi be.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Hogyan írjunk kalandjátékot?
« Reply #18 on: 2017.December.29. 11:47:10 »
én olyan rendszert csináltam amiben minden változó egységesítve volt. azaz a tárgyakat használtam változókra is. pl az 1-es tárgy egy kulcs. a 2-es tárgy nem tárgyként van használva, hanem valami flag, ami jelez valamit.

mindezt a miniscript rendszer kezeli. ennek az a lényege hogy az utasítások 1 betű, utána jön egy-két paraméter. tehát pl: "T0102-L01"

a játék minden történése ilyen utasításokkal van leírva, tehát a basic kód nem tartalmaz egyedi, csak az adott játékra vonatkozó if-then dolgokat.

a minisciptnek ilyen utasításai lehetnek:
U - utasítás. az utána írt szám. ezzel vizsgáljuk meg hogy milyen utasítást írt be.
u - az utasítás után írt második szó vizsgálata.
T - megadott tárgyat megadott pályára rakja
t - megvizsgálja hogy a megadott tárgy adott pályán van-e
M - üzenet kiírása

A következő miniscript például azt csinálja hogy ha beírtad hogy "VIZSGÁLD SZEKRÉNY" akkor megkaptad a benne lévő kulcsot és egy üzenetet:
U01-u10-t0199-T0200-M10

azaz
U01 : 1-es utasítás a VIZSGÁLD
u10 : 10-es szó a "SZEKRÉNY"
t0199 : a 01-es tárgy (kulcs) a 99-es pályán van? (99-es pálya jelzi hogy a szekrényben van még)
T0100 : tedd a 01-es tárgyat a 00-ás pályára (ami a játékos hátizsákja)
M10: írd ki a 10-es üzenetet ("A szekrényben találtál egy kulcsot.")

Vigyázat! Szektás vagyok! :)

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Hogyan írjunk kalandjátékot?
« Reply #19 on: 2017.December.29. 11:49:05 »
itt a mutant test kódjából egy kis részlet, láthatóak a miniscriptek.
Vigyázat! Szektás vagyok! :)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Hogyan írjunk kalandjátékot?
« Reply #20 on: 2017.December.29. 12:06:35 »
M10: írd ki a 10-es üzenetet ("A szekrényben találtál egy kulcsot.")
Minden egyes művelethez külön van mondat? Attól jó hosszú a kód. Én így csinálnám talán: A következőben kerestél: szekrény. Ezt találtad benne: kulcs. Ha a teljes mondat meg van adva, oké, csak hosszú minden lehetséges művelethez külön mondatot írni. Vagy pedig figyelni kell, hogy a kulcs végére azt írja, hogy "ot", a "könyv" végére meg "et". Tudom, ennek most nem ez volt a lényege, de akkor te az összes lehetséges mondatot letároltad mondatonként, amiket a gép kiírhat?
Ennyiből egyszerűbb angolra csinálni meg, mert akkor nem kell figyelni, hogy "kulcsot", de már nem "könyvot".
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Hogyan írjunk kalandjátékot?
« Reply #21 on: 2017.December.29. 12:28:27 »
Minden egyes művelethez külön van mondat? Attól jó hosszú a kód. Én így csinálnám talán: A következőben kerestél: szekrény. Ezt találtad benne: kulcs. Ha a teljes mondat meg van adva, oké, csak hosszú minden lehetséges művelethez külön mondatot írni. Vagy pedig figyelni kell, hogy a kulcs végére azt írja, hogy "ot", a "könyv" végére meg "et". Tudom, ennek most nem ez volt a lényege, de akkor te az összes lehetséges mondatot letároltad mondatonként, amiket a gép kiírhat?
Ennyiből egyszerűbb angolra csinálni meg, mert akkor nem kell figyelni, hogy "kulcsot", de már nem "könyvot".

sosem foglalkoztam azzal hogy magyarul helyes legyen, mert akkor ennek a lekezelése bonyolultabb lenne mint az egész játék :D (sokkal!)
kezelhetőbb, egyszerűbb, felhasználóbarátabb a "vizsgál szekrény" és társai :)
Vigyázat! Szektás vagyok! :)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Hogyan írjunk kalandjátékot?
« Reply #22 on: 2017.December.29. 16:31:37 »
sosem foglalkoztam azzal hogy magyarul helyes legyen, mert akkor ennek a lekezelése bonyolultabb lenne mint az egész játék :D (sokkal!)
Érdekes kihívás lenne ezt is megcsinálni. Az a vicc, a Facebook még mindig nem tud ragozni rendesen, a múltkor is volt valami "könyvot"-hoz hasonló szó.

Az aktuális szobát hogyan tárolod? Mint a karakteres képernyőn X és Y koordinátában?
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Hogyan írjunk kalandjátékot?
« Reply #23 on: 2017.December.29. 17:14:29 »
Érdekes kihívás lenne ezt is megcsinálni. Az a vicc, a Facebook még mindig nem tud ragozni rendesen, a múltkor is volt valami "könyvot"-hoz hasonló szó.

Az aktuális szobát hogyan tárolod? Mint a karakteres képernyőn X és Y koordinátában?

a pálya csak 1 szám, nem kell x y térben gondolkodni.

amúgy, vannak olyan szövegesek is ahol nem kell beírni a szöveget hanem menüből választani (mondjuk a mutant test is ilyesmi).
pl ebben még ügyesnek is kell lenni hogy elkaphassuk a megfelelő szót :D
https://youtu.be/p-HBvzvIWLo?t=1710
Vigyázat! Szektás vagyok! :)

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1291
  • Country: hu
  • Stray cat from Commodore alley
Re: Hogyan írjunk kalandjátékot?
« Reply #24 on: 2017.December.29. 17:33:08 »
Az aktuális szobát hogyan tárolod? Mint a karakteres képernyőn X és Y koordinátában?

Ha akarod, elképzelheted az egészet egy DATA sorokba rögzített listaként, ahol mondjuk minden helyhez tartozik egy sor, ami meghatározza, hogy az adott helyet megadott irányba el lehet-e hagyni, illetve az adott irányban hová jutsz. Például van 100 helyszíned, egytől százig sorszámozva. Ekkor lesz száz DATA sorod, amik mondjuk tartalmazzák sorban az északi, észak-keleti, keleti, dél-keleti, déli, dél-nyugati, nyugati és észak-nyugati irányba, valamint a felfelé és lefelé eső szomszédos helyek sorszámát, illetve mondjuk nullát, ha az adott irány tiltott.