Autor Wątek: Java a aplikacje 3d  (Przeczytany 5206 razy)

Offline vashpan

  • Użytkownik
    • Strona

# Kwiecień 10, 2009, 13:19:59
@grrr:

Nie chce wywolywac swietej wojny po raz kolejny bo tematow o Javie vs C++ bylo juz kilka na forum ( niestety zostaly wyrzucone z tego co pamietam ;) ), Napisalem swoje zdanie, poparte moze nie doglebna praca doktorska, ale dosc sporo czasu nad tym spedzilem, probujac sprawdzic jak to w koncu z ta Java ( i C# przy okazji ) jest... Myslisz ze bym nie chcial porzucic skomplikowanej skladni C++ i jego minimalistycznej biblioteki standardowej na rzecz czegos prostszego a jednoczesnie tak samo wydajnego ? Pewnie ze bym chcial, ale Java IMO to nie jest to :) Jak juz mowilem jezyk D jest kandydatem, ale musi sie dorobic IDE z prawdziwego zdarzenia. A narazie C++ jest jedynym sensownym wyborem gdy ktos powaznie mysli o grach, i to nie jest tylko moje zdanie.

IMO Java do powaznych/duzych gier sie nie nadaje i kropka :)
Sądząc po pierwszym zdaniu w temacie, autor chyba nie ma zamiaru pisania ani dużej ani poważnej gry (ja przynajmniej odniosłem takie wrażenie).

( najbardziej mnie przekonal moj test algorytmu LZMA (7zip), ktory jest zaimplementowany tak w C++ jak i w Javie, mozna ladnie porownac te implementacje, a ze jest to dosc spora biblioteka, nie ma watpliwosci pojawiajacych sie przy roznego rodzaju mikrotestach )
"dość sporą"? Plizzzzz....

1. Po czym tak wywnioskowales ? Mowiac "powazne/duze", mialem na mysli ze niewielkie gry da sie napisac oczywiscie w Javie i bedzie to "smigalo", majac na mysli "powazne" bardziej myslalem o mainstreamowych produkcjach...

2. Zalezy jaka kto skale przyjmuje i w jakim kontekscie. Tutaj chodzilo mi bardziej o mikrotesty roznych algorytmow i to ze LZMA jest przy nich "dosc spora" biblioteka...
Poza tym LZMA przywowalem bo ma latwo dostepne, rownolegle i podobne pod wzgledem architektury implementacje w kilku jezykach, i nie cierpi na syndrom "mikrotestu", tylko jest realnym oprogramowaniem. Lepszego przykladu nie znalazlem, aczkolwiek chetnie bym tez sprawdzil inne podobne.


Poza tym: Z Javy takze korzystam, kilka moich projektow powstalo/powstaje w Javie i nie mam z tym problemu. Programista nie powinien byc jezykowym szowinista, ja staram sie widziec wady i zalety roznych jezykow, i niestety jak dla mnie Java do gier sie nie nadaje
« Ostatnia zmiana: Kwiecień 10, 2009, 13:26:26 wysłana przez vashpan »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Kos

  • Użytkownik
    • kos.gd

# Kwiecień 10, 2009, 16:54:01
D lepszy od C++, problem w tym że do D nie ma żadnych IDE.

Heh, a szukałeś :)? Obadaj sobie np. plugin Descent do Eclipse – młody jest, a mimo to (bodaj) siedmioletni plugin do C++ by się od niego mógł nauczyć paru rzeczy ;). Nie ma jeszcze refactoringu, wbudowanego systemu budowania (trzeba z konsolki albo przez external toole), code completion czasem się gubi przy szablonach... Ale jak na młody plugin, to jest naprawdę bardzo fajnie. ;) I jest nadal rozwijany, to też ważne.

Offline kamykadze

  • Użytkownik

# Kwiecień 14, 2009, 11:36:24
@vashpan :

Mimo faktu, że jestem zwolennikiem Javy, z Twoim oszacowaniem różnicy wydajności (ok. 30%) raczej się zgadzam. Faktem jest jednak, że amatorzy z reguły nie piszą gier pokroju Crysisa - oni piszą gry małe bądź średnie.

Dlatego moim zdaniem Java jest dla projektów amatorskich wyborem bardzo dobrym.

Ja głównej wady Javy nie widzę w samym języku, lecz w małej ilości istniejących rozwiązań/silników nastawionych na gry (zwolennicy C++ mogą wybierać wśród Ogrów, Irrlichtów, Crystal Space'ów i masy komercyjnych silników, javowcy są skazani na jME w zasadzie ... :( ).

Gdy tak sobie jednak na to patrzę z dystansu, to w sumie nie warto się za bardzo przekonywać. Myślę, że każdy powinien pisać gry w języku, który lubi, na upartego można nawet sensowną grę w Pythonie napisać ...

Offline skoti

  • Użytkownik

# Kwiecień 14, 2009, 12:11:41
...
Ja głównej wady Javy nie widzę w samym języku, lecz w małej ilości istniejących rozwiązań/silników nastawionych na gry (zwolennicy C++ mogą wybierać wśród Ogrów, Irrlichtów, Crystal Space'ów i masy komercyjnych silników, javowcy są skazani na jME w zasadzie ... :( ).
...
A głównym powodem małej ilości silników jest co? No właśnie sam język Java ;p.
BTW.  Akurat te silniki, które podałeś posiadają binding'i dla javy ;p
« Ostatnia zmiana: Kwiecień 14, 2009, 12:14:37 wysłana przez skoti »

Offline kamykadze

  • Użytkownik

# Kwiecień 15, 2009, 10:27:47
A głównym powodem małej ilości silników jest co? No właśnie sam język Java ;p.

Raczej nie Java sama w sobie, ale jej historia. Co starsi górale pamiętają czasy, gdy była wolniejsza od C++ 20-krotnie. ;)
Za krótko się jeszcze myśli o Javie jako o języku do tworzenia gier, ale czas to zmieni ;)

Offline grrr

  • Użytkownik

# Kwiecień 15, 2009, 10:55:53
A głównym powodem małej ilości silników jest co? No właśnie sam język Java ;p.

Raczej nie Java sama w sobie, ale jej historia. Co starsi górale pamiętają czasy, gdy była wolniejsza od C++ 20-krotnie. ;)
Za krótko się jeszcze myśli o Javie jako o języku do tworzenia gier, ale czas to zmieni ;)
Czas pokaże...

Swoją drogą zastanawiające, ze silniki w javie nie powstają (no dobra, jest ich bardzo mało), ale bindingów od groma...

Jahara

  • Gość
# Kwiecień 15, 2009, 14:40:37
Swoją drogą zastanawiające, ze silniki w javie nie powstają (no dobra, jest ich bardzo mało), ale bindingów od groma...
Tak właściwie to cała architektura aplikacji musi zostać zmieniona. No właśnie tylko architektura. Prościej jest pozmieniać to i owo, niż od nowa pisać cały kod rendera...
« Ostatnia zmiana: Kwiecień 15, 2009, 15:04:43 wysłana przez Jahara »

Offline grrr

  • Użytkownik

# Kwiecień 15, 2009, 15:06:23
A głównym powodem małej ilości silników jest co? No właśnie sam język Java ;p.

Raczej nie Java sama w sobie, ale jej historia. Co starsi górale pamiętają czasy, gdy była wolniejsza od C++ 20-krotnie. ;)
Za krótko się jeszcze myśli o Javie jako o języku do tworzenia gier, ale czas to zmieni ;)
Czas pokaże...

Swoją drogą zastanawiające, ze silniki w javie nie powstają (no dobra, jest ich bardzo mało), ale bindingów od groma...
Tak właściwie to cała architektura aplikacji musi zostać zmieniona. No właśnie tylko architektura. Prościej jest pozmieniać to i owo, niż od nowa pisać cały kod rendera...
Nie bardzo wiem, co chciałeś napisać... Czy "Przy bindingu architektura aplikacji musi zostać zmieniona, za to renderer już nie"? Jeśli tak, to ciekawy to binding, co wymaga zmiany "całej architektury" silnika :) Dla Pythona też jest zmieniana architektura silnika? :D
Druga sprawa, jakoś opłaca się pisać różne renderery w różnych silnikach w C++...

Jahara

  • Gość
# Kwiecień 15, 2009, 22:59:41
A głównym powodem małej ilości silników jest co? No właśnie sam język Java ;p.

Raczej nie Java sama w sobie, ale jej historia. Co starsi górale pamiętają czasy, gdy była wolniejsza od C++ 20-krotnie. ;)
Za krótko się jeszcze myśli o Javie jako o języku do tworzenia gier, ale czas to zmieni ;)
Czas pokaże...

Swoją drogą zastanawiające, ze silniki w javie nie powstają (no dobra, jest ich bardzo mało), ale bindingów od groma...
Tak właściwie to cała architektura aplikacji musi zostać zmieniona. No właśnie tylko architektura. Prościej jest pozmieniać to i owo, niż od nowa pisać cały kod rendera...
Nie bardzo wiem, co chciałeś napisać... Czy "Przy bindingu architektura aplikacji musi zostać zmieniona, za to renderer już nie"? Jeśli tak, to ciekawy to binding, co wymaga zmiany "całej architektury" silnika :) Dla Pythona też jest zmieniana architektura silnika? :D
Druga sprawa, jakoś opłaca się pisać różne renderery w różnych silnikach w C++...
Chodzi o to że musisz przetransportować kod ślinika do klas "zrozumiałych" dla Javy a render się nie zmienia - w końcu zmieniamy "opakowanie" a produkt pozostaje ten sam(jeden jest OpenGL). To chciałem napisać