Estou procurando criar um jogo em Java e gostaria que ele funcionasse no Windows, Linux e Mac. Tenho certeza de que o C # é uma má escolha para isso e não tenho experiência suficiente em C ou C ++. Eu quero ficar longe do Flash. Portanto, o Java é uma boa escolha para mim? Principalmente, uso C # e acho que o Java é semelhante, portanto, presumo que não será tão difícil de aprender. Mas é rápido o suficiente? Existe uma linguagem mais adequada para minhas necessidades do que Java?
java
game-development
cross-platform
CommunistPancake
fonte
fonte
Respostas:
Java é extremamente adequado para a criação de jogos multiplataforma. Vantagens principais:
A principal decisão que você terá que tomar é qual estrutura de GUI você usará. Existem algumas opções diferentes, mas as mais importantes são:
As principais desvantagens do Java para jogos são realmente os "casos extremos" que provavelmente não afetarão você, mas são relevantes para algumas classes de jogos:
Observe que também existem algumas opções de implantação a serem consideradas:
Finalmente, também vale a pena considerar algumas das outras linguagens da JVM - elas têm todos os benefícios da plataforma Java listada acima, mas alguns as consideram linguagens melhores do que o próprio Java. Scala, Clojure e Groovy seriam os mais importantes, e todos eles podem fazer uso das ferramentas e bibliotecas Java listadas acima.
fonte
Minecraft e Blocks that Matter são construídos em Java, então sim, é muito bom para criar jogos. O principal problema que você encontrará ao usar Java é portar para plataformas móveis, se você optar por seguir esse caminho e escrever um aplicativo nativo. O Android é um tipo de Java SE frankensteined com uma biblioteca separada. O Blackberry da RIM usa Java ME. Em teoria, o iOS pode ser programado com Java, embora o Objective-C provavelmente seja uma escolha melhor para essa plataforma.
Java é bastante semelhante ao c #. Costumo achar código C # compreensível, apesar de conhecer apenas Java. Eles têm uma filosofia de design diferente, mas na medida em que são amplamente implementáveis com o mínimo de problemas, ambos se encaixam na conta. O C # não é uma escolha terrível para jogos de forma alguma, embora sua implantação móvel seja mais difícil e a implantação em plataformas que não sejam Windows consuma mais tempo ou dificuldade, dependendo de quais bibliotecas externas específicas e assim por diante você acaba usando.
fonte
A maneira mais óbvia e menos resistente é usar o combo HTML5 + javascript. Qualquer aplicativo ou jogo criado usando isso será executado em quase todos os dispositivos e navegadores.
Vantagem : - Você precisará de configuração zero para fazer seu jogo rodar em várias plataformas e dispositivos.
NOTA: - Vi alguns jogos construídos usando as tecnologias mencionadas acima, mas elas eram menores em estatura. Mas, suponho que, se se pode fazer manteiga com leite, o queijo não é impossível
fonte
É possível usar o Scala e o Scheme Bigloo no Eclipse para usar a JVM para código estressado ou ação paralela dentro do seu jogo Java.
Com o Pattern Design e o UML2, você também pode proteger o código com a OCL, tudo em Topcased.org.
Dominar essas ferramentas leva tempo, mas elas são o plano de fundo do Java, a base que o levará ao topo.
fonte
Resposta curta: não.
O Java não gera um executável binário, mas apenas um bytecode como o C # (CLI), e isso não é bom para negócios sérios em "ambientes abertos" por dois motivos principais:
É claro que toda linguagem tem suas próprias bibliotecas, mas devido à grande quantidade delas para cada linguagem, isso não é um problema real e não acho que seja o objetivo deste tópico.
Talvez em um nível profissional, você possa encontrar algo que possa infringir a regra, como um dev-Kit que pode traduzir todas as instruções C # em código de montagem para uma máquina do mundo real, mas se esse tipo de abordagem não estiver nos cartões, você é praticamente forçado a considere apenas o C e o C ++ para o seu desenvolvimento quando você pretende vender seu produto em um ambiente aberto.
As coisas são um pouco diferentes para os dispositivos móveis porque são "ambiente fechado", mesmo o Android é praticamente fechado, considerando o fato de que a fonte das ROMs do mundo real não costuma estar disponível ao público, o Android pode ser considerado de código aberto, mas o 99 % das ROMs em dispositivos reais não são. Nesse caso, você não pode discutir muito, tudo já está definido para você e todas as plataformas têm seu próprio idioma, como todo mundo sabe.
No final, se você pretende vender esses produtos em ambientes abertos, só posso sugerir linguagens que produzam código compilado e binário / assembly, em ambientes fechados, a decisão é tipicamente mais fácil de tomar por diferentes razões.
fonte