Online stratégiai játék készítés, milyen nyelven?
2010-04-24T16:21:46+02:00
2010-04-25T12:48:11+02:00
2022-07-19T05:12:31+02:00
  • A szerver oldal nyugodtan lehet PHP felőlem.


    Nem a nyelv a fő lényeg, hanem a protokoll. A HTTP protokoll nem igazán alkalmas pl RTS játékhoz. Ha a Java kliens rendszeres időközönként HTTP kérésekkel bombázza a szervert az nem hatékony.

    A házi szerver és általában az webhosting maximum addig jó míg csekély a játékosok száma.

    Azt mondtad hogy a Java szerver megírása valami iszonyat költséges lenne


    Egészen pontosan azt mondtam, hogy a költsége valószínűleg minden képzeleted felülmúlná. Profi cuccra gondoltam, olyanra ami legalább eléri de inkább felülmúlja az általad említett játékok színvonalát. Néhány száz egyidejű kapcsolatot kezelő szervert favágó módszerekkel, különösebb tapasztalat nélkül is el lehet készíteni olcsón. A gond akkor lesz ha a játék népszerűvé válik és nem lehet hatékonyan skálázni a teljes újraírása nélkül. Jönnek a stabilitási problémák, összeomlások, adatvesztés és a userek leírják az egyébként jól kitalált játékot.
    Azért költséges mert akik képesek elkészíteni egy ilyet nem dolgoznak legóemberért. (nem sértésnek szántam)
    Nagyon alapos tervezést és sok tesztet igényel.

    csinálok egy adatbázist lokálba, jönnek a TCP csomagok, egy felhasználó appletje kéri pl. a térkép (10,24)-es koordinátáját egy bizonyos paranccsal, adatbázisból Java kikeresi, és küldi vissza az értéket


    Elég egy ilyen megoldás a szerverbe ahhoz, hogy összeomoljon sok egyidejű lekérés esetén.
    Sok kiválónak mondott szervert kipróbáltam. Főleg azért, hogy legyen mihez mérnem a sajátom teljesítményét. A tapasztalat az, hogy a helyes beállítás sem gyerekjáték és itt nem csak a szerver beállítására gondolok, hanem az operációs rendszerre is.
    A legapróbb beállítási pontatlanság is óriási teljesítménycsökkenést eredményezhet.
    Mutasd a teljes hozzászólást!
  • C#/.NET, Silverlight.
    Igen jó alternativa ilyesmire is és nem kell HTML-t, meg JS-t gányolni....
    Mutasd a teljes hozzászólást!
  • Egy a Klánháború, Travian, stb-vel összemérhető forgalmat stabilan elviselő Java szerver megírásának költsége valószínűleg minden képzeleted felülmúlja.

    Én csak kliens oldalról beszéltem. A szerver oldal nyugodtan lehet PHP felőlem (A PHP csak a szükséges adatot küldené el, pl. játékos neve, térkép adatai formázás nélkül, kliens oldal formázna).
    Engem is inkább az zavart, ahogy mondtad, a HTML+JS stb. bohóckodás nem erre való.

    Lenne kérdésem még. A szerver programozása ill. üzemeltetése terén. Szerintetek hogy érné meg a legjobban?
    Én arra gondoltam hogy egy (fizetős) kisméretű tárhelyre fel tenném a képeket, HTML lapokat, és a class fájlokat az applethez. Azért mert ide viszonylag nagy sávszél. kell.
    A játékszerver működtetését pedig úgy képzeltem el hogy egy házi szerver működtetné itthon. Ide gyors gép kell, viszont olyan nagy sávszélesség nem kell. Ez vagy PHP vagy pedig Java szerver lenne (más alternatívát nem ismerek).
    Szerintetek ez a házi szerver módozat jó ötlet?

    Azt mondtad hogy a Java szerver megírása valami iszonyat költséges lenne, még tanulom a Java-t valószínűleg ezért nem értem hogy miért. Mert én úgy képzelem ezt el hogy, csinálok egy adatbázist lokálba, jönnek a TCP csomagok, egy felhasználó appletje kéri pl. a térkép (10,24)-es koordinátáját egy bizonyos paranccsal, adatbázisból Java kikeresi, és küldi vissza az értéket.
    Ezt kifejtenéd vagy más valaki hogy miért "költséges"?

    Azt szeretném hogy minél kevesebb sávszél. kelljen (Ha PHP-val kérek le weboldalakat akkor ugye tudomásom szerint a weboldal szövege lehet nulla karakter de akkor is még egy csomó információ kerül a gépbe a weboldalról).
    És természetesen minél gyengébb hardver kelljen.
    PHP-ban olvastam olyat hogy C++ kódra már le lehet fordítani. Viszont úgy tudom hogy a Java szerverek is szinte natív módban futnak, tehát azok sem lennének akkor lomhák.
    Persze az biztos hogy a PHP-ban egyszerűbb lenne megírni.
    Szerintetek?

    Köszi, meg az eddig segítséget is mindenkinek.
    Mutasd a teljes hozzászólást!
  • A leírás alapján nem tűnik rossznak.
    Mutasd a teljes hozzászólást!
  • Én most ezt tesztelgetem: SmartFoxServer: massive multiplayer game server for Flash, Unity 3D, HTML5, iPhone/iPad and Android
    Elég jól dokumentált, és sok helyen ajánlják. Eredetileg flash-hez készült játékszerver, de már szinte mindenhez van kliensoldali apijuk is.

    Ez egy java-ban írt szerver, szerveroldalon extension-öket lehet hozzá írni java-ban (javasolt), és actionscriptben.
    Mivel java, megy mindenhol, windows-ra lehet service-ként is telepíteni, eddig elég egyértelmű volt számomra a használata, pedig nem vagyok java-s emberke :)
    Mutasd a teljes hozzászólást!
  • Nekem úgy tűnik, hogy a legtöbb ilyen játékot azért építik HTML, PHP, Javascript, Ajax, stb... technológiára mert:
    -nem igényelnek pluginokat (szerintem ez a fő ok)
    -nagyságrendekkel többen vannak azok akik ezeket ismerik, ezért relatíve olcsóbb a munkaerő (sajnos ennek a létszámnak csak a töredéke rendelkezik olyan ismeretekkel amelyek birtokában megfelelő terméket tud előállítani)
    -kis terhelés mellett ingyenes, vagy olcsó "mezei" tárhellyel is megelégszik (egy java szerver fenntartása jóval költségesebb)

    Sok ilyen játékkal játszottam, de a legjobbaknál is az volt az érzésem, hogy szép és jó is de nem az igazi. A HTML, PHP, Javascript, stb. nagyon nem erre való. Azt gondolom, hogy bármelyik ilyen játék százszor jobb élményt nyújtana ha Java alapú lenne és TCP, esetleg UDP kapcsolatot használna.
    Szerintem jelenleg a Java jelenti az optimális középutat az ilyen játékok esetében. Sok platformon fut, csak a java plugin kell, hogy ugyanúgy fusson a böngészőkben mint a HTML kimenetet generáló technológiák. Ügyesen elkészítve mentes a HTML esetlenségétől és a desktop game terjesztési és egyéb korlátaitól.

    Próbaképpen készítettem is egy ilyen RTS játékot. Kliens oldalon java applet ami egy wrapper segítségével desktop üzemmódban is futtatható. Izometrikus nézet, TCP kapcsolat.

    A teljesség kedvéért el kell mondanom, hogy meglehetősen kacifántos elkészíteni egy jól skálázható szervert.
    Itt neked kell kifejlesztened egy olyan megoldást ami felveszi a versenyt az évek alatt több száz fejlesztő által finomított webszerverekkel. Több ezer, több tízezer egyidejű kapcsolat kezelésénél nagyon észnél kell lenni. Egy a Klánháború, Travian, stb-vel összemérhető forgalmat stabilan elviselő Java szerver megírásának költsége valószínűleg minden képzeleted felülmúlja.
    Csak a felhasználói felületet java-ban megírni nem vészes, de az nem az igazi.
    Mutasd a teljes hozzászólást!
  • Én Java applet párti vagyok.
    A feladatra alkalmas az biztos, sok lehetőség van benne.
    Hogy miért nincs olyan sok java applet mégsem?

    Aki magasabb szinten keni a Jávát, az jó esélyel "értelmes" programokat akar/fog írni, és nem játékot. A köztudatban nem is egy erős játék platform a java. Nincs, vagy nagyon kevés az olyan applet ami meggyőzhetné az embereket (fejlesztőket).
    Ugyanazt az egyszerű feladatot gyorsabban meg lehet oldali Flash segítségével, jávával több a munka (drágább a fejlesztés?).
    Komolyabb feladat esetén előnyben lenne a java (szerintem), nem véletlenül nincsenek "tartalmasabb" Flash játékok (pl. Red Alert szerű stratégia).

    Azért kevesebb az esély, hogy a célgépen is futni fog az applet, így bizonyos játékosokat veszíthet az ember -bár aki akarja az megoldja mondjuk a JRE frissítését. (Ez nem is biztos, hogy szempont.)

    Emellett a Java jövője is bizonytalan. Ha tudnánk, hogy 10 év múlva is létezik majd, akkor önmagában az sem haszontalan, ha megtanulja az ember, de ezt sem tudhatjuk.
    Előny, hogy ingyen van, nem azzal kezdi az ember a "karriert", pénzkeresést, hogy "loptam egy Flash fejlesztőeszközt".

    Szóval jó a Java, de mellette vannak más lehetőségek is.
    Mutasd a teljes hozzászólást!
  • Félre értetek.
    Nem arról beszélek hogy nem akarok lépést tartani a korral, és nem is arról hogy meg akarom tudni 10 év múlva mi lesz.
    Csupán érdekelne nálam jobban hozzáértő, és ezt az egész dolgot jobban átlátó emberek véleménye hogy ők mit választanának, és miért, milyen előnyöket látnak ebben-abban, és ha van olyan dolog ami valószínűsíthető a jövőben ezen technológiák fejlődését illetően az is érdekel.
    Mutasd a teljes hozzászólást!
  • KisJ arra próbált célozni,


    Nem egészen.
    A programozásban nem az a szép, hogy eltart, hanem, hogy a hozzá értés nem tulajdonság, hanem csak egy pillanatnyi állapot.
    Ha nem szereted a folyamatos fejlödést, akkor a mekis rezsok mellett a helyed...
    Mutasd a teljes hozzászólást!
  • KisJ arra próbált célozni, hogy senki nem fog neked ebben a szakmában olyat mondani, hogy ez a tuti és 10 év múlva is ez lesz.

    Sok mindenben meg lehet oldani a dolgot, de a három legfontosabb konkurrens: Flash, Java és SilverLight. Hogy melyik nyer? Senki nem tudja.

    szerk: negyediknek meg lassan felzárkózik a HTML 5.0 is.
    Mutasd a teljes hozzászólást!
  • De ti mit gondoltok
    Mutasd a teljes hozzászólást!
  • Összefoglalva nem szeretnénk olyat tanulni, olyanba belevágni ami a jövőben mégse lesz jó, vagy lesz helyette jobb megoldás


    Ezzel kizártad a programozást és a teljes számitástechnikát...
    McDonald's krumpli sutes?
    Mutasd a teljes hozzászólást!
  • Egy a klánháború, travián, grepolis stb. játékhoz hasonló online "szolgáltatást" tervezünk készíteni.
    Fent áll mint lehetőség ugye a HTML, PHP, JS hármas. Ezzel az a gond hogy szerintem elég drága lenne egy ilyen weboldalt fent tartani, az erőforrások kihasználtsága miatt. Meg ezekhez nem is értünk, meg nem is adnak olyan nagy rugalmasságot, mint amilyet szeretnénk. Fontos a felhasználói élmény.
    A másik lehetőség amit számba vettünk, az a Java applet.

    Az érdekel hogy szerintetek a mai világban jó-e hosszú távon a Java applet technológiájának elkötelezni magunkat? Vagy esetleg valami más alternatíva érné meg (hosszútávon)?
    Gondolom a támogatottsággal nem lesz gond, hiszen mobilon internetezve is betöltődik az applet, minden platformon (és ez a jövőben is így lesz remélhetőleg).
    Az bizonytalanít el hogy, az applettek azok bizony nem valami elterjedt dolgok az interneten, és szerintem tök jók, sok mindent tudnak, nincs velük semmi gond, de akkor miért van ilyen kevés belőlük?

    Összefoglalva nem szeretnénk olyat tanulni, olyanba belevágni ami a jövőben mégse lesz jó, vagy lesz helyette jobb megoldás. Persze senki sem tudja megjósolni mi a jövő. De ti mit gondoltok, jó a Java erre? Vagy más módszerrel csinálnátok (flash, silverlight, html+js)?
    Mutasd a teljes hozzászólást!
abcd