Child pages
  • Játékfejlesztés
Skip to end of metadata
Go to start of metadata
Sziasztok!

Érdeklődnék, hogy van -e valakinek némi tapasztalata java-ban történő játékfejlesztés kapcsolatban.
Arra lennék kiváncsi, hogy Java illetve JMonkeyEngine használata esetén milyen korlátok vannak, már ha vannak?
Gondolok itt arra, hogy ha adott egy jó grafikus csapat és programozó csapat akik tapasztalt Java programozók össze hozhatnak -e egy mai szinvonalnak megfelelő játékot?
Egyébként egy RTS-ről van szó de ez most annyira nem is számít.
Mindenki azzal jön, hogy C/C++ de egyrészt már olyan hűde nagyon nem lassabb a Java másrészt pedig még ha lassabb is (jó ugyanolyan gyors valószinűleg nem lesz de eléggé megközelíti) akkor is egy mai már-már átlag hardware is olyan erős, hogy nem tudom számít -e az a kis különbség? Cserébe hatalmas szívásoktól kímél meg a Java...
Egy jól optimizált kód, a JVM megfelelő paramétereinek beállítás és persze jó modellek készítésével előállítható szerintem egy mai játék, mai grafikával. Szerintetek?
Vagy ténylegesen a játékfejlesztés az éppen az a téma, ahol nem kérdés, hogy C/C++ használata szükséges és sajnos felejtős a Java?Bár, ha jól tudom még GDC-n is megemlítették, hogy 1.4-től felfele igenis használható játékfejlesztésre.
Illetve a Jmonkeyengine eleve nagyon jó, de lejebb lehet még menni ha valami lassú, pl JNI használatával 1-1 kritikus algoritmust meg lehet irni C-ben igaz?
Előre is köszi a válaszokat.
      
      
Page viewed times
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels

17 Comments

  1. Bár kézzelfogható tapasztalataim nincsenek, de szerintem nem ok nélkül nem használnak java-t a nagyobb stúdiók. Gondold el, mennyi előnye lenne (alapból hány platformra tudnák megírni egyetlen kóddal), és mégsem teszik. Az, hogy a c-kódhoz képest már nem akkora a sebességhátrány, az szerintem max. az irodai alkalmazásokra értelmezhető, egy FPS-nél viszont minden plusz frame számít, amit egy másodpercből ki tudnak hozni. Szóval szerintem 2009-es színvonalú, videókártyaizzító játék nem hozható ki belőle, nem is beszélve arról, hogy egy c-s fejlesztéshez már mennyi minden adott (libek, editorok). Azért ha mégis belekezdenétek, én nagyon kíváncsi lennék rá!
  2. Igen jogos a dolog. A tesztek egyébként is tipikusan matematikai tesztek.
    Ilyen-olyan tömbök, ciklusok és persze számsorozatok.
    Az tök jó, hogy ott elenyésző a különbség de a grafikus megjelenítés az azért más tészta.
    Egyébként én is ezt a kérdést tettem fel, hogy ha jó játékra és sokkal kevesebb szívás van vele, mint C-vel akkor vajon miért nem használják?
    Meg, megpróbálnám én is szivesen. Csak ha mégis sikerül akkor jó lenne ha nem a végén derülne ki, hogy sajnos kezdhetjük implementálni C-re mert csak 8 procin 16gb ram-al megfelelő  a sebesség...
  3. A nagy stúdiók azért dolgoznak C/C++-ban, mert mindig is ebben dolgoztak, minden keretrendszerük ebben van írva, csak C/C++ fejlesztőik vannak, ehhez érdenek a projektvezetők, és - főleg most - nem fognak bevállalni egy olyan fejlesztést, ami kockázatos. Nem feltétlen az az oka, hogy a Java nem felel meg a követelményeknek.

    Azt hozzátenném, hogy nem feltétlen lassabb a Java kód, mint a C/C++, sok esetben a HotSpot képes egy átlagos C/C++ program sebessége fölé vinni a Java programot, de csodák nincsenek, jól átgondolt és végletekig optimalizált kódokkal szemben nem fog gyorsabb lenni.
  4. Ez így rendben is az világos, hogy nem a Hot-Spot rendszertől várja az ember a csodát, hanem jól optimalizált kódot ír.
    A kérdés inkább arra irányult, hogy konkrétan játékoknál mi a helyzet.
    A grafikai sebesség is közel olyan jó lehet vajon, mint C/C++ alatt?
    Erre egyébként elég nehéz választ találni. Legalább lenne egy mostani grafikával készült játék ahol látná az ember, hogy igen ezt meg lehetett Java-ban oldani!
    Mi esélye van annak, hogy a játék előrehaladtával majd szépen kiderül, hogy sajna nem volt jó választás a Java?
    Én hajlok a felé, hogy a Java jó erre is! Mindennapi munkámhoz használom évek óra de konkrétan játékot én sem fejlesztettem még vele... C kódban azért nem szivesen programozok mostanában, örülök, hogy elfelejthetem azt a sok szívást ami van vele...
    Tehát érdekelne, hogy mit tudna egy Java-ban fejlesztett játék. Csak félő hogy a végefelé kiderül hogy hát tényleg nem véletlen irják ezeket C-ben.
  5. http://tribaltrouble.com/screenshots

    Azt mondják ez Java. Ez szerintem elég meggyőző...
    Kicsit utánanéztem a jmonkey fórumán láttam néhány képet, videót.
    Működni látszik a dolog és sebességre sincs panasz..
  6. Ez azért nem 2009-es szint... Sehol egy shader, vetett árnyék, és elég lowpoly a cucc. Nem fikáztam, csak ez ugye az alapkérdés/felvetés :) (bocs, opera alatt ignorálja a fórum az entert)
  7. Na jó mondjuk ebben igazad van.
    Az alapkérdésem valóban az, hogy 2009-es szintű játék írása lehetséges -e.
    De más fórumokban is nézelődtem és hát inkább tűnik úgy, hogy biza ahoz C++, DirectX kell...
  8. Anno amikor opengl-el próbálkoztam (delphi alatt), akkor találtam ezt a tutorial-sorozatot: http://nehe.gamedev.net/. OpenGL-re van kihegyezve, azt elvileg fájdalommentesen tudja a java3d. Van java port is. + ezt most találtam: http://www.bytonic.de/html/jake2_webstart.html quake2 java port. Bár a melóhelyen csak integrált videókártyám van, néha azért erősen beszaggat, szemben a qukae live-al, ami ugyebár natív böngészőplugin.
  9.  A java mostanában mennyire tudja kihasználni a 3D gyorsító chip-ek és az audio kártyák számítási sebességét? Olyanokat hallottam, hogy van amikor a 3D kártya raytrace szolgáltatásával számolják a fizikát (ami igencsak hatékony) meg ilyesmik.
  10. Lehet rosszul gondolom, de a Java annyira támogatja ezeket amennyire a mögöttes OpenGL (LWJGL) amit használsz.
    Épp az ilyen napjainkban használatos dolgok érdekelnének engem is.
    Nagyon úgy tűnik, hogy igen lehet 3D játékot Java-ban fejleszteni ami szép és jó, de sokak szerint ha kell egy ténylegesen 2009 (2010) -es szinvonalú game akkor C++, DX11 stb
    (jó más kérdés hogy ehez kell egy olyan csapat aki érti is a dolgát meg megfizetni a grafikust de én most csak a nyelvre vagyok kiváncsi)
    az a legjobb az egészben, hogy legalább ugyanennyien mondják azt, hogy figyelembe véve, hogy már rég óta elég gyors a Java, van 3D gyorsítás, és a gépek is szépen fejlődnek, igenis lehet egy szinvonalas játékot fejleszteni játékban.
    ilyen nagy kaliberű játékoknál nem a nyelv fogja a probléámát okozni hanem hogy a programozó nem tud gyors AI algoritmust irni vagy éppen a grafikus nem tud normális modelt csinálni.
    youtube-n találtam azért 1-2 szép játékot jmonkeyengine használatával fejlesztve de azért valahogy mégis elmarad 1 mai játéktól.
    ami lehet, hogy csak azért van ezek hobbi projectek és ténylegesen éles nagy játékot nem is irtak még benne pedig lehetne csak egyszerűen minden játékstudió ilyen-olyan okok miatt még mindig C++ -t használ
    jó lenne tudni a válaszokat :)
  11. Unknown User (crystal)

    hát most erről még vitatkozhattok egy darabig, de ez úgyis csak akkor fog kiderülni, ha egyszer egy nagy játékfejlesztő cég be mer vállalni egy java-s fejlesztést :) (esetleg community, de az elég valószínűtlen szvsz)
  12. Szia bocios

    Igen ez a kérdés engem is foglalkoztat. Lassan egy éve kezdtem el programozni de csak az utsó 2 hónapban tanultam rendszeresen. Jelenleg egy egyszerű játékon dogozom(olyan mint a Gladiatusz), de nekem is hasonló terveim vannak. Amennyiben bele fogsz egy ilyen projektbe, engem is nagyon érdekelne.
  13. Szia JegFarkas!

    Tudnál írni egy levelet ide: bocios@gmail.com
    Ott megbeszéljük a részleteket ha tényleg érdekel a dolog, aminek nagyon örülök.
    Jelenleg egyébként erősen tervezési fázisban vagyunk.
  14. Sziasztok!

    Ti mit gondoltok arról, hogy egy komolyabb játékfejlesztési projectnél érdemes megpróbálni Java -s technológiákkal vagy mindenképpen érdemes a játékfejlesztésnél már kiforott C++ irányába menni?
    Sok jó nyelvi elem áll rendelkezésre Java-ban ami jól jöhet. Ellenben C++ .ban sok-sok játék készült, kiforott ilyen szempontból. Illetve a legtöbb tutorial,cikk példái C/C++ nyelven vannak leírva.
  15. Nos, ha nincs mögötted egy 20-30 fős csapat, akik képesek egy korszerű játékot létrehozni, akkor szerintem simán lehet Java... ha két-három fős hobbiprojektről van szó, akkor nem a Java lesz a szűk keresztmetszet...
  16. Jogos.
    Viszont ha összejön az a bizonyos 20-30 fős csapat akkor sem kell egyértelműen eldobni a Java-t nem?
    Úgy értem maga a technológia (LWJGL vagy  a JOGL ha nevesítünk) képes egy mai szinvonalnak megfelelő grafikát produkálni (természetesen megfelelő grafikusokkal) hiszen ott az OpenGL 3, hangnak OpenAL, fizikai lib is van 1-2 szóval ez nem lehet gond nem? Tehát nem csak egy hobby projectre jó egy Java-s kezdeményezés, hanem csapattól, tudástól függően jó az nagy projectre is.
  17. Elvileg lehetőség van rá, gyakorlatilag igen erősen 3D megjelenítésre alapozott játékra szerintem nem alkalmas a Java. De egy játéknak nem feltétlen a 3D megjelenítés adja az erősségét, hanem az ergonómia és a játékélmény - ez pedig nem a nyelvtől függ.