Czy gry przeglądarkowe są pisanie w Javie?

0

Nurtuje mnie takie pytanie. W czym są tworzone gry typu Grepolis? To są applety java?

0

Podejrzyj kod strony...

0

Raczej takie gry to JavaScript.
Osobiście nie spotkałem się z grą online napisaną w Javie.

0

To nie Java, tylko zwykły JavaScript... i tnie się cholerstwo jak diabli
a cała mapa to tylko łączone obrazki, itp. więc to można byłoby zrobić w czymkolwiek webowym.

Jeśli pytasz, czy takie coś można zrobić w Javie - to odpowiedź brzmi: Tak, jak najbardziej.
Jeśli pytasz czy ludzie by tego używali, czy Java by ich nie odstraszała, to spójrz na Minecrafta - ktory w dodatku technicznie jest trochę spieprzony, a jakoś żadnych strat nie poniósł. Dodam też od siebie, że sam robiłem czasem różne głupie appletowe gierki w Javie kiedyś i pokazywałem znajomym z czasów szkolnych - nikt nigdy nie narzekał.
Podobnie jest z XNA - żadna inna technologia nie sprawiła mi tyle "bólu" (te crashe, te BSODy, te wymagania jak crysis), a mimo to w Magickę lubię czasem pograć.

Dobry gameplay potrafi przebić wszelkie problemy techniczne, aby tylko się dało grać. Co oczywiście nie znaczy, że z Javą są jakieś problemy... Wręcz przeciwnie. Applet w Javie działałby po stokroć lepiej niż to coś w JS.

Appletu oczywiście nie odpalisz na telefonie - ale to nie jest żaden argument przeciwko - tej gry też na telefonie nie odpalisz. (a nawet jeśli, to życzę powodzenia, bo mi to na chromie PCta przycina, telefon by się chyba tym zadusił) Zawsze możesz dopisać kliencką aplikację na Androida i rozprowadzać ją w android markecie za free - gdy ktoś wejdzie na twoją grę przeglądarką z telefonu, po prostu go przekierujesz na stronę w markecie.

Mając średni pomysł na gameplay, lepiej nie sprawiaj użytkownikom kłopotów, bo po prostu będą to mieli w dupie. Ja np. mam tę grę totalnie w dupie, tnie, culling ma do d**y, bo widzę na prawej krawędzi, że część kafelków się nie wyświetla... i więcej mnie nie obchodzi.

Podsumowując: Ja zrobiłbym to w Javie, tak jak opisałem wyżej i działałoby to lepiej niż ten szajs.

0

Kera - dzięki wilekie, w 100% satysfakjonuje mnie Twoja wypowiedź. Lekko jestem zdziwiony, bo jakoś ciężko mi sobie wyobrazić pisanie takiej gry bez klas. Chyba, ze mnie cos ominelo i w JS sa juz klasy:)
Namnożyło się teraz takich gier bardzo dużo(przeglądarkowych), ale chyba nie wszystkie to JS.

0

W JS jest coś w rodzaju klas... i prototypy obiektów.
Kontrukcja klas jest dość mylna, bo używa się słowa kluczowego function.
Mały przykład:

function Herp()
{
	this.derp = "lol";
}


var herpaderp = new Herp();

alert(herpaderp.derp);

prototypy nie pamiętam jak tam działały, ale google na pewno wie...

0

Przede wszystkim jeśli chodzi o Javę to chyba nie ma najmniejszego znaczenia, czy odpalasz aplikację samodzielnie czy w przeglądarce, pomijając sandboxowanie oczywiście. Tak samo jest z Flashem - kiedyś, kiedy popularny był dial-up było pełno samodzielnych aplikacji Flashowych czyli EXE z silnikiem Flasha + doklejony SWF z aplikacją. Samodzielne JavaScriptowe aplikacje nie są raczej robione, ale są za to wersje off-line, zapewne na Chrome Web Store jakieś powinny być - instaluje się je wewnątrz chromiastego sandboxa.

http://jmonkeyengine.com/demo/applet/

0

Dorzucę jeszcze Runescape > http://www.runescape.com/ w całości w Javie. Uruchamiany jako aplet...

0

@Kerai, z tym, że w JS nie da się napisać porządnej gry to się nie zgodzę. Da się, ale wymaga to jednak trochę wiedzy i doświadczenia, przykładem może być Quake napisany przez Google czy inne przykłady HTML5 canvas. To jest możliwe i będzie działać nawet lepiej niż Java/Flash/Silverlight ze względu na wsparcie sprzętowe czy po prostu brak konieczności uruchamiania dodatkowego procesu.

0

Dodatkowy proces to narzut powiedzmy < 10 MB RAMu (nie mówiąc już o tym, że osobne procesy łatwo się izoluje, co zwiększa stabilność i bezpieczeństwo), a wsparcie sprzętowe w Javie/ Flashu/ Silverlighcie przecież jest. Nawet jeśli chodzi o wsparcie 3D to w Javie też jest od bardzo dawna, vide bindingi OpenGL, OpenCL, itd typu jogamp.org czy lwjgl.org czy całe frameworki oparte o nie jak już wspomniany przeze mnie jMonkeyEngine.

0

Reasumując panowie - gdybyście dzisiaj staneli przed wyborem stworzenia gry przeglądarkowej (dusponując odpowiednim budżetem) jaką technologię byście wybrali?

0

HTML5 klient i Java EE serwer :D

0

Panda3D + WebRuntime + Python - można w Pandzie 3D pisać aplikacje osadzone na stronach internetowych, tylko użytkownik musi sobie zainstalować runtime ;)

Ewentualnie Unity 3D - z tym, że nie wspierają Linuksa (Panda wspiera całą trójcę Mac, Lin, Win).

0
winerfresh napisał(a)

@Kerai, z tym, że w JS nie da się napisać porządnej gry to się nie zgodzę.
Tego nie napisałem

winerfresh napisał(a)

To jest możliwe i będzie działać nawet lepiej niż Java/Flash/Silverlight ze względu na wsparcie sprzętowe
Za Chiny ludowe nie będzie...
Java2D ma wsparcie sprzętowe domyślnie - nie wyprzedzisz tego
Są bindingi do API OpenGL dla Javy: LWJGL i JOGL - nie wyprzedzisz tego w JS
(mały ból może być, że użytkownik musiałby kliknąć [run] przy korzystaniu z takich bindingów.. ale one są potrzebne to tylko do 3D)

winerfresh napisał(a)

czy po prostu brak konieczności uruchamiania dodatkowego procesu.
wtf? Przecieżosobny proces to jest argument ZA. Coś się schrzaniło? proces pada, a nie cała przeglądarka. Kończysz granie? proces się wyłącza i to już sprawa systemu, by po nim posprzątał.
Najlepiej obsługującą HTML5 przeglądarką jest Chrome, a on akurat każdy tab odpala w osobnym procesie
Opera i Firefox puchną aż miło, gdy się odpala takie gierki w js na nich, a później zjadają pół giga ramu mimo, iż grę wyłączyłem kilka godzin temu. a proces javy pobyłby sobie kilka minut i zniknął.

edit:

Reasumując panowie - gdybyście dzisiaj staneli przed wyborem stworzenia gry przeglądarkowej (dusponując odpowiednim budżetem) jaką technologię byście wybrali?
Java2D - i na tym samym kodzie zrobiłbym appa na telefon

0

Jeśli ktoś planuje robić gierki dopiero za jakiś czas, a siedzi na Linuksie, to może poczekać na JavęFX 3.0 (lato 2013). Niestety JavaFX 2.0 nie jest dostępna na Linuksa, nie jest też wspawana w JavęSE 7. W wersji JavaFX 3 to się zmieni. Ale jak ktoś siedzi na Windowsie to może spokojnie pobawić się JavąFX 2.0, do następnej wersji nie powinni wywrócić API do góry nogami. Przy przejściu z JavyFX 1.x na JavęFX 2.0 była generalnie rewolucja, jako że z JavyFX 1.x korzystało się poprzez JavaFX Script i API raczej nie było prosto dostępne z poziomu języka Java. W JavieFX 2.0 wszystko programuje się w języku Java, a JavaFX Scriptu już nie ma.

1 użytkowników online, w tym zalogowanych: 0, gości: 1