2012-02-16 16 views
6

Jestem zainteresowany rozpoczęciem gry. Obecnie robiłem OpenGL w C++, ale teraz szukam opcji, które oferuje Android, i znalazłem ludzi, którzy rozwijają swoje gry za pomocą kodu Native (C++) i innych, którzy używają Java ...C++ vs Java w systemie Android

Tak więc tak naprawdę nie wiem, jaka jest główna różnica. Czytałem, że wiele osób ma doświadczenie w korzystaniu z C++ i woli, aby ten nie musiał uczyć się nowych rzeczy przy użyciu java ... ale nie sądzę, że jest to główny powód.

Jakie są główne różnice w tworzeniu gry przy użyciu C++ lub Java? Perfomance? Skalowalność? Możliwości?

Czy polecasz również rozpoczęcie gry przy użyciu OpenGL?

+1

Rozważ użycie 'Renderscript' http: //android-developers.blogspot.com/2011/02/introducing-renderscript.html –

+2

Aby się upewnić, że rozumiesz różnicę - Android używa OpenGL ES, czyli odchudzonej wersji OpenGL. –

+0

Bardzo szczegółowe wyjaśnienie Android NDK przez programistę Google Android w tym wideo http://www.youtube.com/watch?v=5yorhsSPFG4. – SMeyers

Odpowiedz

7

Sugerowałbym korzystanie z tego, który język jest ci wygodniejszy. Gra nigdy nie jest małym projektem, a ponieważ jesteś nowy w tym procesie (sądząc po tym pytaniu) prawdopodobnie nie będziesz się martwić różnicami w wydajności czy czymś podobnym.

Aby odpowiedzieć na Twoje pytania:

Wydajność

zobaczyć C++ vs Java Performance, Android: Java, C or C++? itp

Możliwości

Nie ma nic dziedziczyć, że C++ może zrobić i Java może” t, lub odwrotnie, jeśli chodzi o Twój cel.

skalowalność

Nie wiesz, o co prosicie z tego.

+0

Dzięki za odpowiedź. Następnie, jeśli obie mają te same możliwości, dlaczego ludzie wybierają jedną lub drugą? Tylko dlatego, że wiedzą więcej o jednym w szczególności?Jestem początkującym w tworzeniu gier, ale chciałbym zacząć od najlepszych opcji, nawet jeśli jest to trudniejsze. Jeszcze raz dziękuję – Frion3L

+0

Dość dużo. Gdyby to zależało ode mnie, zrobiłbym C++, ponieważ był to mój pierwszy i preferowany język. Plus już wiem, że OpenGL używa natywnego C++ i nie ma potrzeby zajmowania się wrapperami Java. Nie wiesz, jak to jest na urządzeniach mobilnych, ale większość znanych silników gier i związane z nimi interfejsy API do użytku na komputerze są w C++, co również ułatwia (spójrz na dowolną grę AAA, prawie gwarantuję, że to C++, PC lub konsola). Choć może się to różnić na urządzeniach mobilnych. Z drugiej strony niektórzy programiści mogli używać Javy (lub uważać, że jest to "czystsze" lub "łatwiejsze", oba są subiektywne) i używać ich. – ssell

5

C++ może działać lepiej niż Java (nie wierzę, że naysayers, czy własne testy), ale jest więcej wsparcia dla Java na Androida. Ostatecznie zależy to od tego, jak intensywna będzie twoja aplikacja i jak dużo energii będzie zużywać. Jeśli jest bardzo intensywny, przejdź do C++, ponieważ możesz zrobić więcej za mniej. Jeśli to nie ma znaczenia, przejdź do Javy.

0

na koniec nie ma znaczenia, czy używasz C++, musisz nauczyć się wszystkich tych frameworków używanych do programowania androidów, jeśli użyjesz java, nauczysz się java, a openGL będzie taki sam we wszystkich językach, więc idź z C++, jeśli jesteś programistą w języku C++

Co więcej, czy zaleca się rozpoczęcie tworzenia gry za pomocą OpenGL?

nie powinien zaczynać OpenGL nie, że nie można, ale chciałbym sagest coś SFML czarownicy będą uczyć się dużo o grafice programowania następnie można przejść do OpenGL

+0

Dlaczego nie zaczynasz od OpenGL? –

+0

Ponieważ jest ciężko (mówiąc o OpenGL 3+) dla twojego pierwszego programu typu tringle musisz nauczyć się o shaderów, więc w zasadzie musisz się dużo nauczyć zanim zaczniesz programować z OpenGL, dlatego wolę SFML, że będzie on technikiem wszystkich koncepcji o programowaniu graficznym, a potem OpenGL nie będzie tak trudny, że nie zacząłem z nim i nie znam kogoś, kto by zrobił, gdybyś chciał porozmawiać z profesjonalnymi programistami graficznymi, a potem zawiesiłby się na czacie SFML zapytaj ich https: //chat.sfml- dev.org/ –

+0

Nie zapewnia to odpowiedzi na pytanie. Gdy masz już wystarczającą [reputację] (https://stackoverflow.com/help/whats-reputation), będziesz mógł [komentować dowolny wpis] (https://stackoverflow.com/help/privileges/comment); zamiast tego [dostarczaj odpowiedzi, które nie wymagają wyjaśnień od pytającego] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-zamiast). - [Z recenzji] (/ opinia/niskiej jakości-posts/16785828) –

Powiązane problemy