2012-02-16 24 views
6

Soy interesante para comenzar un desarrollo de juegos. Actualmente realicé algunos OpenGL en C++, pero ahora estoy buscando las opciones que ofrece Android, y he encontrado personas que desarrollan sus juegos usando código nativo (C++) y otros que usan Java ...C++ vs Java en Android

Así que realmente no sé cuál es la principal diferencia. Leí que mucha gente tiene experiencia en el uso de C++ y prefiere este para no tener que aprender cosas nuevas usando Java ... pero no creo que esta sea la razón principal.

¿Cuáles son las principales diferencias al desarrollar un juego usando C++ o Java? Perfomance? Escalabilidad? Posibilidades?

Además, ¿recomienda comenzar el desarrollo del juego con OpenGL?

+1

Considere el uso de 'Renderscript' http: //android-developers.blogspot.com/2011/02/introducing-renderscript.html –

+2

Solo para asegurarte de que entiendes la diferencia: Android usa OpenGL ES, que es una versión reducida de OpenGL. –

+0

Explicación muy detallada de Android NDK por un desarrollador de Google Android en este video http://www.youtube.com/watch?v=5yorhsSPFG4. – SMeyers

Respuesta

7

Le sugiero que use el idioma con el que se sienta más cómodo. Un juego nunca es un proyecto pequeño, y dado que eres nuevo en el proceso (a juzgar por esta pregunta), probablemente no te preocupes por las diferencias de rendimiento ni nada de eso.

para responder a sus preguntas:

Rendimiento

ver C++ vs Java Performance, Android: Java, C or C++?, etc.

Posibilidades

No hay nada heredar de que C++ puede hacer y Java puede' t, o viceversa cuando se trata de su objetivo.

Escalabilidad

No está seguro de lo que están pidiendo con éste.

+0

Gracias por la respuesta. Entonces, si ambos tienen las mismas posibilidades, ¿por qué las personas eligen una u otra? ¿Solo porque saben más sobre uno en particular?Soy principiante en el desarrollo de juegos, pero me gustaría comenzar con las mejores opciones, incluso si es más difícil. Gracias de nuevo – Frion3L

+0

Bastante. Si dependiera de mí, haría C++ ya que ese era mi primer idioma preferido. Además, ya sé que OpenGL usa el C++ nativo y no es necesario preocuparse por los envoltorios de Java. No estoy seguro de cómo es en los dispositivos móviles, pero la mayoría de los motores de juegos prominentes y las API asociadas para PC están en C++, lo que hace que sea más fácil también (mira cualquier juego AAA. Casi garantizo que es C++, PC o consola) Aunque esto puede ser diferente en los dispositivos móviles. Por otro lado, algunos desarrolladores solo pueden haber usado Java (o piensan que es "más limpio" o "más fácil", ambos son subjetivos) y lo usan. – ssell

5

C++ puede tener un mejor rendimiento que Java (no crea en los detractores, haga sus propios puntos de referencia), pero hay más soporte para Java en Android. Al final, depende de qué tan intensa será su aplicación y de cuánta batería se va a agotar. Si es extremadamente intenso, vaya con C++ porque puede hacer más con menos. Si no importa, entonces ve con Java.

0

al final no tiene sentido si utiliza C++ tendrá que aprender todos los marcos utilizados para el desarrollo de Android, si utiliza Java aprenderá java y OpenGL es el mismo en todos los idiomas, así que simplemente vaya con C++ si usted es un desarrollador de C++

Además, ¿recomienda comenzar el desarrollo del juego con OpenGL?

usted no debe comenzar con OpenGL no es que no se puede, pero lo haría sagest algo así como bruja SFML le enseñará mucho sobre la programación gráfica, entonces puede pasar a OpenGL

+0

¿Por qué sugiere no comenzar con OpenGL? –

+0

Porque es difícil (hablando de OpenGL 3+) para su primer programa de tringle, necesita aprender acerca de los sombreadores, así que básicamente debe aprender mucho antes de comenzar a programar con OpenGL, es por eso que prefiero SFML, le enseñaré todos los conceptos acerca de la programación de gráficos, entonces OpenGL no parece tan difícil, no comencé con él y no conozco a alguien que lo haya hecho si quieres hablar con programadores profesionales de gráficos y luego te pasas al chat de SFML. Pregúntales https: //chat.sfml- dev.org/ –

+0

Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente [reputación] (https://stackoverflow.com/help/whats-reputation) podrá [comentar cualquier publicación] (https://stackoverflow.com/help/privileges/comment); en su lugar, [brinde respuestas que no requieran aclaración del autor de la pregunta] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-instead). - [De la crítica] (/ review/low-quality-posts/16785828) –