33
Saját RTS játék készítése Pascal-ban
  • Vardar
    #33
    Sikerülni fog! Ha meg lesz én töltöm le elsőnek.
  • Simaji
    #32
    Cewa mindeki!

    OFF

    Üzenem mindenkinek akinek nem tetszik az, hogy cewa azt, hogy miért ítéltek meg elsőre? Már JAG1 - VIP -nek kifejtettem, hogy nem vagyok se trendi se édibédi és nem is érdekel a divat. Ezt a köszönést saját magam találtam ki és minden nap szinte mindenütt ezt használom.

    ON

    Egyébként meg most szeretnék megkérni mindenkit, hogy maradjon a témánál!

    Akik "rendes" hozzászólásokat írtak azoknak köszönöm.

    Egyébként szerintem a Pascal jó tanuló nyelnek is és igenis lehet vele sokat kezdeni. Nem mondom, hogy a C nem jobb mert az de a Pascal is van olyan jó.

    Annak ellenére, hogy csak egy csavarhúzót ismer valaki miért ne javíthatná meg az atomtengeralattjárót? Csak idő kérdése. Meg egy kis utána olvasásé. :D ;)

    Na ennyit akartam mondani!

    Megj: Ne kezeljetek teljesen kezdőként azért én is tudok egy két dolgot.
    Oh and I can Speak English too by the way! So hello everybody!

    Bye!
  • PíszLávJuniti
    #31
    Szerintem Delphi-t érdemes megnézned, ha otthonvagy Pascalban.
    Egy Delphi 6 vagy 7 alapján jobban megérted az eseménykezelés mibenlétét, ha a pascal ismereted jó hozzá, könnyen átlátod.
    Ezután jöhet a Csharp, vagy amit akartok.
  • Emmegki
    #30
    Először ne RTS-t próbálj írni, hanem mondjuk tetriszt. Azzal is meg lehet izzadni, ha kezdő vagy.

    Szerintem neked a legideálisabb egy játékprogramozási nyelv lenne. Ajánlom a Dark Basicet.

    Ha valóban komolyan akarod, akkor tanulj C#-ot.

    Ajánlom még a www.jatekfejlesztes.hu-t, ott találsz egy csomó anyagot, meg láthatod mások hogyan csinálják.
  • Emmegki
    #29
    Ezzel csak a hozzánemértésedet bizonygatod :O
  • Cat 02 #28
    Nekem nem volt ennyire bonyolult :)
    Mikor padtársamnak mutattam átírtam úgy h mindig azt írja h Vesztettél
  • stoner27
    #27
    de kemény vagy o.O
  • Dj Faustus #26
    "Én már akkor majdnem kiugrottam a börömből mikor beírtam 1 számot és a gép is generált 1 randomot és ha egyenlő volt akkor kiírta h győztél :D"
    Igen, a mastermind "prototipusa" a "gondoltam egy számot"-játék.
    Ennek az algoritmusa:
    1. A gép ad egy véletlenszámot (adott intervallumban), és belerakja egy a változóba.
    2. A felhasználótól bekérünk egy számot, és eltároljuk a b változóba. A c változóba eltároljuk, hogy ez az első próbálkozás.
    3. Amíg a nem egyenlő b-vel, kiírjuk, hogy nem jó a tipp, és felajánlunk két lehetőséget (mert felhasználóbarátok vagyunk de nagyon):
    * Vagy kilép a játékból a delikvens - ekkor kiléptetjük a ciklusból, kiírjuk a próbálkozások számát, és hogy mi a szám.
    * Vagy új tippet ad meg: ekkor bekérünk újból egy számot, és növeljük a c változó értékét.
    4. Ha a játékos kitalálta, akkor kiírjuk (amellett hogy gratulálunk neki) a próbálkozások számát, és a gondolt számot.

    "Tán nem egyetemi infó tanár vagy? :) Nálunk is hasonló játékot kellett írni.."
    1. Láttam már tanárképzőt (ha nem is egyetemit) - bár magam nem vagyok tanár.
    2. Sok tanár ismerősöm van.
    3. A programozás oktatásnak ez a szamárlétrája. A fokozatosság biztos alapokat ad.
  • autoszimulator
    #25
    Tán nem egyetemi infó tanár vagy? :) Nálunk is hasonló játékot kellett írni..
    C-t, de főleg C++ -t nem túl egyszerű megérteni sajnos. A programnyelv maga könnyebb, mint mondjuk a matlab nyelvezete, logikus is, de ahhoz, hogy rendes, jól optimalizált programot rakjunk össze belőle, ahhoz nagyon sok mindent kell megtanulni, de főképp megérteni, a megfelelő memória foglalástól kezdve a címzés és mutatók megértéséig, vermek kialakításáig. Számomra ezek jelentik inkább a problémát a nyelv elsajátításánál, a többi rész jó ötletekkel megoldható..
    Órán mi torpedót fejlesztettünk, Faustus elmondásához hasonlóan, először csak tábla rajzolás, majd bekérések, végül ezek tárolása, összehasonlítása, pontozó rendszer, mentés, mígnem végül a teljes játék összeállt. Idén pedig hasonló módszerrel sakkprogramot írtunk, de ezt temészetesen AI nélkül, csakis human vs human rendszerként üzemelt.
  • blackgamer
    #24
    másrészről, kereshetsz magadnak csapatot, így hasonló érdeklődésű emberek körébe kerülhetsz, akik talán már tapasztaltabbak, így könnyebben előrébb juthatsz
  • zolo
    #23
    Nem saját írások, nem is olvastam igazán bele, csak belebotlottam, hátha segítenek:
    C# kezdőknek 1. -Bevezető
    C# kezdőknek 2. -Alaptípusok
    C# kedőknek 3. -Operátorok
    C# kedőknek 4. -Vezérlési szerkezetek
  • blackgamer
    #22
    :) sokan álmodnak mélytengeri kalandokról, közben úszni se tudnak
    ez egy alternatíva lehet nekik
  • Cat 02 #21
    Én már akkor majdnem kiugrottam a börömből mikor beírtam 1 számot és a gép is generált 1 randomot és ha egyenlő volt akkor kiírta h győztél :D
  • Dj Faustus #20
    "A Pascalt nagyon gyorsan verd ki a fejedből. Szvsz még tanulónyelvnek is szörnyű."
    Pediglen annak találták ki a Logoval és a Basic-kel egyetemben.
    C#, C++, Java - ezek megfelelő alapozás nélkül eléggé rémisztőek egy kezdő számára (bár alkalmazást fejleszteni ezeken a nyelveken érdemes).

    "Első lépés, hogy jó programozó legyél, hogy ne akarj trendi édibédi lenni ezzel a "Cewa"-val..."
    [Egyetért, komolyodjunk]

    "A MYSQL, HTML, CSS, JAVASCRIPT, PHP meg az ilyenek viszonylag jól mennek"
    Akkor javaslok egy projekttervet: készíts egyszerű játékot, és fejlesztd tovább.

    Például vegyük a mastermind-dot: az 1. játékos kitalál egy 4 (6,8,...) színből álló kombinációt - ezt kell a 2 játékosnak kitalálnia (kiraknia).
    Értékeléskor ha a 2. játékos eltalált egy színt és az jó helyen is van, akkor az értékelőmezőn fekete jellel jelölik. Ha eltalálta a színt, de az rossz helyen van, fehéret. Ha a kiválasztott szín nem szerepel, üres marad az értékelőmező.
    Példa számokkal
    Példa színekkel

    Először ezt csináld meg egy ember (ő legyen a találgató) az egy gépi játékos ellen.
    Utána tegyél bele játékmentési funkciót, majd beléptetőfelületet (hogy az öcsike ne rontsa el az éppen vívott játékodat), majd kialakítható a többfelhasználós változat (több emberi játékos a gépi játékosok ellen; majd ember ember ellen, végül gép az ember ellen).
    Így lépésről-lépésre haladva tudsz eljutni a lélekvesztőtől a motoros csónakig. ;)

    "szerintem érdemes lenne ezek forrását tanulmányoznod, és közben a nyelvet tanulnod, belepiszkálni a kódba, megnézni mi változik, stb."
    A csavarhúzó ismeretével neki az atomtengeralattjárónak? Az szép kihívás!
  • blackgamer
    #19
    vannak nyílt forráskódú stratégiai játékok, ezeket általában hobbiból fejlesztik
    ilyen például a Warzone 2100
    szerintem érdemes lenne ezek forrását tanulmányoznod, és közben a nyelvet tanulnod, belepiszkálni a kódba, megnézni mi változik, stb.
  • JAG1
    #18
    Első lépés, hogy jó programozó legyél, hogy ne akarj trendi édibédi lenni ezzel a "Cewa"-val...
  • Mr Csé
    #17
    c# xna val probálgatok programozni és példák alapján már elég jól de még igysem tudok egy egyszerübb játékot összehozni :I
  • Simaji
    #16
    Cewa mindenki!

    Köszönöm a hozzászólásokat!

    Hát próbálkoztam én már C tanulással de addíg jutottam kb., hogy kiírtam, hogy hello meg beolvastam egy számot.

    :D

    Sajnos nem nagyon megy. Nem tudom valahogy nem tűnik túl könnyűnek.
    Még a Delphi lenne az amit szerintem érdemes megnézni habár nem tudom, hogy az mennyire tér el a Pascaltól (Egy kicsit maradi vagyok.:D).

    A Java-t el se merem kezdeni. :D

    De akkor ezekből a hozzászólásokból ítélve mégis meg kéne tanulnom a C-t. :D

    Lejebb viszont olvastam (#4), hogy valahogyan lehetne weboldalba is. Na igen. Már ilyennel próbálkoztam de nem jött össze. A MYSQL, HTML, CSS, JAVASCRIPT, PHP meg az ilyenek viszonylag jól mennek de mindenképpen arra jutottam, hogy kell valami szerver progi a háttérbe ami az egészet viszi. Habár én inkább olyan travian féle játéra gondoltam. De így végülis lehet, hogy lesz belőle valami. :D Most, hogy így gondolkozok ez nagyon jó ötlet. :D

    A játékról:

    Igazából egy olyan játékra gondoltam amibe nincs AI csak max egymás ellen lehetne menni hálózaton. Vagy csak eleinte egy ilyen teszt lenne egy szabad építgetős játék. Utána esetleg hálózat. :D

    Bye!
  • Zomil
    #15
    hát igen pascal az gimiben még menö, utána gyorsan el kell felejteni :DDD
  • Lacc
    #14
    A Pascalt nagyon gyorsan verd ki a fejedből. Szvsz még tanulónyelvnek is szörnyű. Jól mondták előttem, Java, C#, utána esetleg gondolkozhatsz ilyenen.
  • ColdFire
    #13
    én mikor az első számológépem csináltam pascalban, kiröhögtek, hogy mire jó ez, ha a windowsban egy sokkal jobb számológép van, na akkor volt
    :)
  • Zomil
    #12
    valahol el kell kezdeni :)
  • Dj Faustus #11
    Nem, a Hello world! csak egy csavar.
    Egy mastermind, életjáték (jó az nem kifejezett játék, inkább szimuláció, de játékká is alakítható), amőba, torpedó, akasztófa, lottó/totó, társasjáték (Gazdálkodj okosan/Ki nevet a végén?) már a kettő között van, de az atomtengeralattjárók világában egy ilyen kis "ladik" elkészítése nem jelent akkora kihívást (tisztelet a kivételnek) - pedig az is alakítható (és közben gyakorol az ember).
  • ColdFire
    #10
    a hello world már nem nyerő :D
  • Dj Faustus #9
    Tényleg az. ;)
    De ennek meg is van az oka: ugyanis a középiskolai programozás-oktatásban csak a "csavarhúzóig" jutnak el (arra van idő, pénz, paripa, fegyver) - a játékpiac meg tele "atomtengeralattjárókkal". A kettő közötti átmenet meg nem annyira izgi (no meg kisebb is rá a kereslet).
  • ColdFire
    #8
    főleg egy RTS, még talán vmi mászkálós, vagy autós gém AI nélkül...
  • Zomil
    #7
    hát ez elég kevés :D
    sajnos egy ilyen "egyszerü" játék készitése is jóval bonyolultabb mint azt te elképzeled:)
  • n3whous3
    #6
    Azt inkább el kell felejteni, C# és Java a jövő. A C++ is mehet lassan a kukába.
  • Sir Quno Jedi
    #5
    Ez nekem nagyon úgy tűnik, hogy egy tipikus "Láttam én már csavarhúzót is, úgyhogy most akkor hogyan kezdjek hozzá egy kisebb atomtengeralattjáró építéséhez a sufnimban?" téma.
  • Dj Faustus #4
    "Pascal-hoz értek valamennyire úgy, hogy inkább abba akarom megcsinálni csak nem tudom, hogy hogyan kéne"
    A Pascal önmagában tanulónyelvnek remek, de alkalmazásfejlesztő nyelvnek már kevésbé - nem igazán követte az operációs rendszerek/az audio/grafikus eszközök fejlődését. Ámbátor ha megvan a rációd, akkor megoldható Pascalban is, csak kicsit érdekes lesz a játék futtatása (Dos alatt fut; a kép-, hálózat-, hangkezelés nagyon érdekes módon oldható meg - ha megoldható egyáltalán).

    Ott van még a Delphi - aminek a nyelve hasonlít a Pascalhoz, a Windowsra épül így könnyebb megoldani a kép-, hang-, és hálózatkezelést.

    "Max még a PHP-hez értek. Ha jól tudom az is fordítható futtatható állományba."
    Fordítható (lásd Bamcompile), de a PHP-t nem erre találták ki. Ez egy szerveroldali szkriptnyelv, ami a szerveren levő erőforrásokat (adatbázisokat, állományokat, eszközöket), alakít át a webszerver számára megfelelőnek.
    Másrészt önmagában a PHP nem elég.

    Ha többfelhasználós/hálózaton játszható játékról van szó, kénytelen leszel adatbázist használni, ahhoz meg ismerned kell egy adatbáziskezelő nyelvet/rendszert. A MySQL van eléggé elterjedve.

    Illetve a felhasználói felületet - mivel RTS-ről van szó - valamivel kezelni kell - és az nem szimpla HTML lesz.
    Vagy Flasht használsz (ha nagyon multimédiásra akarod csinálni), vagy Javascriptet.
  • Mr_no_NaMe
    #3
    Előbb szerintem tanuld meg a C-t, aztán kezdj el játékokon gondolkodni.
  • ColdFire
    #2
    hát pascalban szvsz reménytelen.
  • Simaji
    #1
    Cewa mindenki!

    Na akkor. Szóval arról lenne szó, hogy szeretnék csinálni egy kis RTS játékot amivel lehetne szórakozni. Pascal-hoz értek valamennyire úgy, hogy inkább abba akarom megcsinálni csak nem tudom, hogy hogyan kéne.

    Egy alapszíntű játékra gondoltam ami Isometric-us vagy olyasmi mint az Age of Empires. Nagyon alapszíntű kell elég ha csak képek jelennek meg az épületek helyén vagyis nem kellenek 3D-s modellek sem.

    Max még a PHP-hez értek. Ha jól tudom az is fordítható futtatható állományba.

    Nem tudom, hogy lehet e így kezdeni valamit ezzel. :D Éppen ezért kérem a ti segítségeteket!

    Előre is köszönöm mindenkinek!

    Bye!