Jak pisać PROFESJONALNE gry na komórkę ?

0

Dzień dobry

Nie chcę dublować tematów, proszę też o nie sugerowanie się tematem, nie jestem ten co to nic nie wie i nie użył szukaj ani google.

Interesuje mnie zagadnienie pisania gier na komórki, chcę zająć się tym na poważnie, dałem sobie 1,5 roku na ostre kucie i pisanie tak aby opanować to do perfekcji (albo na tyle aby dostać pracę w tej dziedzinie).

Znam już JAVE, pisałem różne matematyczne programy (bo nienawidzę GUI robić), i tu moje pytanie.

Prosiłbym Ciebie czytelniku tylko o 1 rzecz, spójrz tutaj: http://3gplay.pl/gra-java/Stranded_Mysteries_of_Time/?id=1721

  • gra wymaga grafik, szybkości, operacji 3D (nie ta ale golf np.) etc.

Jedno pytanie:
Jaką technologią oraz jaką biblioteką można to uzyskać ?

Swoje przecierpię, nauczę się biblioteki graficznej, ale chodzi mi o to aby pójść dobrą ścieżką a nie uczyć się np. Graphics2D i tego jak to tam się obrazami operuje, napisać jakiś silnik z 2D fizyką, a potem się okaże że to wymaga i7 i karty graficznej hehe :P

Pytam bo pierwsze 20 linków w googlach kończy się na tym iż ludzie odsyłają do midletów, okej spoko, rozumiem, ale co dalej
czy pro gry, komercyjne powstają właśnie na tym ?
Czy może takie firmy tworzą własne biblioteki do GUI/grafiki bo ta defaultowa jest zbyt wolna (a takie mam 1 doświadczenia choć nie z Java Midlet a zwykłą + OpenGL) ?

pzdr

1

Swoje przecierpię, nauczę się biblioteki graficznej, ale chodzi mi o to aby pójść dobrą ścieżką a nie uczyć się np. Graphics2D i tego jak to tam się obrazami operuje, napisać jakiś silnik z 2D fizyką, a potem się okaże że to wymaga i7 i karty graficznej hehe :P
JME to zupełnie coś innego od JSE

Pytam bo pierwsze 20 linków w googlach kończy się na tym iż ludzie odsyłają do midletów, okej spoko, rozumiem, ale co dalej
czy pro gry, komercyjne powstają właśnie na tym ?
pzdr
Tak. JME to midlety...
JME jednak niedługo wyjdzie z użytku, gdy rynek opanują telefony z androidem.

Czy może takie firmy tworzą własne biblioteki do GUI/grafiki bo ta defaultowa jest zbyt wolna (a takie mam 1 doświadczenia choć nie z Java Midlet a zwykłą + OpenGL)

Odnośnie JME:
Tego co jest "defaultowo" nie da się zastąpić... to tylko API, które jest implementowane w telefonach przez ich twórców.
Odnośnie JSE:
GUI to coś, co wcale nie musi być szybkie, ma być responsywne... co nie znaczy, że javowe gui jest wolne.
Grafiki 3D domyślnie w Javie nie ma.. (co prawda jest Java3D, ale do gier to to się nie nadaje, korzysta się wtedy z LWJGL i pochodnych)
Jeśli zaś Java2D jest dla kogoś za wolne, to niech się jebnie patelnią w łeb...

0

Dzięki za ciekawą odpowiedz.

Grafiki 3D domyślnie w Javie nie ma.. (co prawda jest Java3D, ale do gier to to się nie nadaje, korzysta się wtedy z LWJGL i pochodnych)

Jeśli zaś Java2D jest dla kogoś za wolne, to niech się jebnie patelnią w łeb...

W takim razie super, często używam jej zamiast Swinga, do wykresów.

Jednak w grach widzę 3D, jak w takim razie jest uzyskiwany taki efekt w JAVA ME ? 3D robione z Graphics2D jakimś mini własnym silnikiem ?

JME jednak niedługo wyjdzie z użytku, gdy rynek opanują telefony z androidem.

Mógłbyś to rozwinąć ? Co w takim razie ma zrobić taka osoba jak ja ? Nie będę inwestować moich sił w naukę martwych technologii :/
Co w takim razie robić, czytam że aplikacje androida są robione w JAVA tzn że nie w wersji ME ? Choć także czytam że można już tworzyć w C++ i się nie bawić w jakieś JAVY hmm
Powiem szczerze że jestem znudzony tym co robię obecnie zawodowo i chciałbym zająć się programowaniem na komórki, wydaje mi się to przyszłościowe i co najważniejsze ciekawe.
Może zmienię pytanie, w jakie technologie warto zainwestować swój czas, które języki wkuć na blachę i jakimi bibliotekami się zainteresować. Jest to duże forum z pewnością są tu także ludzie z branży, namawiam do wypowiedzi, z pewnością temat zaciekawi nie tylko mnie.

Ze ze swojej strony wracam do wujka Googla i jak coś znajdę wartego uwagi to tu napiszę.

pzdr

0

Nie będę inwestować moich sił w naukę martwych technologii

Java na telefonach ma poważne problemy związane z niekompatybilnością, a to dlatego, że każdy producent implementuje jak chce. Wystarczy jedna aplikacje przenieść na inny telefony i masz 50/50 że będzie działać lub nie. Android ma szanse stać się liderem OSów na mobile, ale nie wiadomo, czy Microsoft albo Apple nie zaskocza wszystkich i nie zabiorą sporej części rynku, szczególnie, że tam ostatnio jakieś konsztalchty między MS i Nokią.

Co w takim razie robić, czytam że aplikacje androida są robione w JAVA tzn że nie w wersji ME ?

No właśnie nie. Java to jest język, a ME to framework, tak samo jak SE. Na Androida pisze się w Javie i korzysta częściowo z SE/ME, ale funkcje systemowe są z pakietu android. czyli tylko androidowe.

Choć także czytam że można już tworzyć w C++ i się nie bawić w jakieś JAVY hmm

C++ na systemy oparte o wirtualne maszyny to średnia koncepcja...

Może zmienię pytanie, w jakie technologie warto zainwestować swój czas

Android to na pewno jeden z pewniaków, ale MS, czy Apple też mają swój rynek... Natomiast Symbiany i inne pierdoły to już przeszłość. Java też na pewno pozostanie na rynku...


Opolski Portal Programistyczny
http://programowanie.opole.pl

0

Android ma NDK i można chyba na nim pisać w C++, ale jaki to ma sens skoro wszystko jest dostępne z poziomu Javy? No chyba, że ktoś jest masochistą i woli programować w C++.

0
nonilion napisał(a)

Dzięki za ciekawą odpowiedz.

Grafiki 3D domyślnie w Javie nie ma.. (co prawda jest Java3D, ale do gier to to się nie nadaje, korzysta się wtedy z LWJGL i pochodnych)

Jeśli zaś Java2D jest dla kogoś za wolne, to niech się jebnie patelnią w łeb...

W takim razie super, często używam jej zamiast Swinga, do wykresów.
"zamiast" ? o ile wiem, to swing sam z siebie funkcjonalności wyświetlania wykresów nie posiada... pisze się wtedy własny komponent rysujący wykres i osadza go w swingowym gui.

Jednak w grach widzę 3D, jak w takim razie jest uzyskiwany taki efekt w JAVA ME ? 3D robione z Graphics2D jakimś mini własnym silnikiem ?
W grach na telefon widzisz 3d, bo w API JME jest 3d... w grach na PC też możesz 3d zobaczyć, bo jest LWJGL.. i korzystające z niego jPCT/jMonkeyEngine etc.

JME jednak niedługo wyjdzie z użytku, gdy rynek opanują telefony z androidem.

Mógłbyś to rozwinąć ? Co w takim razie ma zrobić taka osoba jak ja ? Nie będę inwestować moich sił w naukę martwych technologii :/
Co w takim razie robić, czytam że aplikacje androida są robione w JAVA tzn że nie w wersji ME ? Choć także czytam że można już tworzyć w C++ i się nie bawić w jakieś JAVY hmm

JME zchodzi z rynku, bo nowe telefony z tego nie korzystają... po prostu się nie ucz JME, bo za kilka lat będzie to wiedza zbędna.
jeśli chodzi o resztę telefonów...
Telefony z andoridem mają coś w rodzaju JSE, tylko takie androidowe... ściągnij Android SDK i sobie coś poczytaj o nim, to zobaczysz
iPhoneOS i windows phone nie mają Javy... ale te są produkowane przez firmy, których CEO dawno temu się wypalili i teraz są tylko zwykłymi pajacami na wysokich stanowiskach - jak dla mnie te firmy to istnieją tylko dzięki marce, bo schodzą niżej niż na psy, ale i tak ludzie to kupują i są nieraz święcie przekonani, że to był dobry wybór...

0

Witam

Ciekawe rzeczy znalazłem, wydaje mi się że dalsze zainteresowanie JAVA jest jak najbardziej na miejscu.
Problemem może być JDK, poszukałem i oto co znalazłem:

Tabelka: http://www.gartner.com/it/page.jsp?id=1434613

I od góry, jak już wspomniano Symbian dopada.
Android - JAVA, jest SDK (maszyna wirtualna Dalvik- czyli nie Sun JVM?!? ciekawe ) + 3D w oparciu o OpenGL ES 1.
RIM - też ma JAVA, jest własne SDK i też wsparcie dla OpenGL
iOS - OC
Windows Phone - też jest możliwość użycia programu napisanego w JAVA, szczegóły nie są mi znane.

Wygląda to obiecująca, tylko że sam język to mało, bo praktycznie na takich platformach aby sprawnie działać trzeba się zapoznać z dostępnymi bibliotekami, tak aby płynnie lecieć z pamięci a nie co rusz w Dokumentacji z nosem :P
, a tu czytam że nie dość że co sprzęt to inne SDK to jeszcze między OS ami różnica, tak więc JAVA dżawie nie równa :/

Java na telefonach ma poważne problemy związane z niekompatybilnością, a to dlatego, że każdy producent implementuje jak chce. Wystarczy jedna aplikacje przenieść na inny telefony i masz 50/50 że będzie działać lub nie. Android ma szanse stać się liderem OSów na mobile, ale nie wiadomo, czy Microsoft albo Apple nie zaskocza wszystkich i nie zabiorą sporej części rynku, szczególnie, że tam ostatnio jakieś konsztalchty między MS i Nokią.

Właśnie o tych problemach sobie czytam, ale chyba osoba umiejąca w JAVA nie ma wyjścia, trzeba brnąć w Androida i co ma być to będzie :D

Taka jeszcze refleksja bo zacząłem od JAVA ME ale chyba nie ma sensu tego ruszać(widzę że Kerai dopisał w tym samym czasie że nie ma, no to przesądzone nie uczę się tego ), raz że za rok czy dwa komórka będzie miała moc obliczeniową że wszystko udźwignie, więc po co takie odchudzone wersję, dwa że lepiej iść w SDK zaproponowane typowo dla i przez danego producenta, najłatwiej tutaj mają wielbiciele IPhoneów, ale kupować lapka, komórkę i licencję tylko po to aby sobie potworzyć gry to chyba lekka przesada :D no i jeszcze ten ObjectivC :/

Na razie składam się na pisanie aplikacji na Androida i myślę że to będzie optymalny wybór.

PS
Dzięki Kerai, gdyby nie Twój post to przez ilość linków na wujku G uczył bym się JME, do tego jeszcze na Nokia tak fajnie jest wszystko zachęcająco opisane ;)

0

Jednak w grach widzę 3D, jak w takim razie jest uzyskiwany taki efekt w JAVA ME ? 3D robione z Graphics2D jakimś mini własnym silnikiem ?
W grach na telefon widzisz 3d, bo w API JME jest 3d... w grach na PC też możesz 3d zobaczyć, bo jest LWJGL.. i korzystające z niego jPCT/jMonkeyEngine etc.

JME jednak niedługo wyjdzie z użytku, gdy rynek opanują telefony z androidem.

Mógłbyś to rozwinąć ? Co w takim razie ma zrobić taka osoba jak ja ? Nie będę inwestować moich sił w naukę martwych technologii :/
Co w takim razie robić, czytam że aplikacje androida są robione w JAVA tzn że nie w wersji ME ? Choć także czytam że można już tworzyć w C++ i się nie bawić w jakieś JAVY hmm

JME zchodzi z rynku, bo nowe telefony z tego nie korzystają... po prostu się nie ucz JME, bo za kilka lat będzie to wiedza zbędna.
jeśli chodzi o resztę telefonów...
Telefony z andoridem mają coś w rodzaju JSE, tylko takie androidowe... ściągnij Android SDK i sobie coś poczytaj o nim, to zobaczysz
iPhoneOS i windows phone nie mają Javy... ale te są produkowane przez firmy, których CEO dawno temu się wypalili i teraz są tylko zwykłymi pajacami na wysokich stanowiskach - jak dla mnie te firmy to istnieją tylko dzięki marce, bo schodzą niżej niż na psy, ale i tak ludzie to kupują i są nieraz święcie przekonani, że to był dobry wybór...

0

Powiedz mi jeszcze Kerai dlaczego wybór innego telefonu będzie taki zły. A najlepiej napisz to zdanie jeszcze kilka razy, może w końcu sam w nie uwierzysz :).

Z biznesowego punktu widzenia lepiej na tym wychodzą deweloperzy iOS. Przez App Store przewija się nieporównywalnie większa ilość pieniędzy.

http://en.wikipedia.org/wiki/File:Global_Mobile_Applications_Store_Revenue.svg

Połowa zysków generowana jest przez gry. W 2010 roku daje to ok. prawie 900 milionów dolarów dla App Store i trochę ponad 50 milionów dla Androida. Pomimo większej ilości użytkowników Androida są oni mniej skłonni do kupna aplikacji. Oczywiście zakładam, że kiedyś będziesz chciał coś zarabiać.
I jedna i druga platforma mają swoje plusy i minusy (np. w iOS debilne czasem restrykcje licencyjne Apple czy problem z fragmentacją systemu i hardware w Androidzie). Tych drugich nie zauważają jedynie fanatycy ;).

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