Ponto V!

Home Java Informações gerais Java no desenvolvimento de jogos
Vinícius Godoy de Mendonça
Java no desenvolvimento de jogosImprimir
Escrito por Vinícius Godoy de Mendonça

Por que Java para o desenvolvimento de jogos? O Java tornou-se uma das linguagens mais populares nos últimos anos, então, é natural que muitos se perguntem se ela é ideal para o desenvolvimento de jogos. Ela conquistou rapidamente mercado nos jogos de celular e obteve seu espaço na internet. Mas seria o Java adequado para jogos 2D ou 3D? Nesse artigo, exploraremos algumas das vantagens e desvantagens do Java nesse mercado.

Pontos positivos

Abrangência

Graças a virtual machine (VM), o Java está presente em todos os principais sistemas operacionais: MacOS, Linux e Windows. Não só isso, o Java infiltrou-se fortemente no mercado de jogos para celular, possuindo inclusive acesso as tecnologias 3D para os dispositivos móveis. Sua presença nesse mercado é tão forte, que hoje são poucos os fabricantes que não disponibilizam uma VM, e são menores ainda o número de desenvolvedores que desejam criar jogos móveis usando as APIs nativas dos aparelhos.

Logomarca da plataforma JavaO Java também está presente na Internet, embora de maneira não tão forte quanto o ActionScript/Flash. Por lá, podemos contar com duas tecnologias: os java applets, que permitem a execução da aplicação diretamente do navegador, quanto o JNLP, que permite a execução de um jogo na plataforma local (você pode ver um exemplo de JNLP em ação nessa página. Basta clicar em play now!).

É possível, e fácil, desenvolver jogos 2D e 3D em Java, para o desktop. Entretanto, não podemos dizer que é uma opção comum. O mercado de jogos triplo A exige otimizações extremas, e boa parte das produtoras já tem uma gigantesca base instalada em C++, sendo difícil para eles uma mudança nessa altura do campeonato. Um exemplo de jogo grande feito em Java é o brasileiríssimo Taikodom.

Além disso, muitos não entrarão na indústria de jogos imediatamente, ou nunca entrarão. Seja por opção, ou pela falta dela, não se pode negar que é interessante dominar uma linguagem que também está fortemente presente na indústria de software. O Java tornou-se uma das principais opções no desenvolvimento comercial hoje, e já vem ganhando espaço em aplicações industriais.

O Java também não se restringe a linguagem Java. Sobre a VM, rodam diversas outras linguagem como o Groovy e o JRuby. Isso permite a inclusão de scripts no seu jogo de uma maneira muitíssimo mais transparente e poderosa do que em C++.

Facilidade

O Java pode não ser tão fácil quanto uma linguagem de script, mas é certamente muitíssimo mais fácil do que o C++. Por livrar o programador de diversos detalhes sobre a gerência de memória e da plataforma de hardware, o IDE Eclipsecódigo Java fica limpo, sendo fácil para qualquer programador entendê-lo e estudá-lo. Por isso. O programador Indie, que só quer fazer jogos por diversão, pode encontrar no Java um ambiente muito mais prazeroso, sem a presença de diversos bugs extremamente estressantes do C++.

Tal como o C++, o Java possui um número gigantesco de bibliotecas e, geralmente, será mais fácil instalá-las e anexá-las ao seu projeto do que as feitas em C++. O problema do C++ é que muitas bibliotecas não virão compiladas, sobrando para o programador a tarefa nem sempre fácil de encontrar um compilador, montar corretamente o makefile, e compilá-las. Em muitos casos, é necessário instalar o Visual C++, da Microsoft, só para essa tarefa, mesmo que você tenha optado por usar outro compilador.

As IDEs feitas para o Java também costumam a ser poderosas, robustas e completamente gratuitas. A maioria trás anexadas ferramentas como profilers (para testar identificar gargalos de performance e monitorar consumo de memória), simuladores de telefones, suporte aos testes unitários, entre outras coisas.

Comunidade ativa e aberta

É fácil aprender Java hoje em dia. Há inúmeros sites na internet explicando a linguagem, livros e apostilas gratuitos, tutoriais e material didático de boa qualidade. O Java também é ensinado na maior parte das escolas técnicas e faculdades. Java Community Pie

É difícil encontrar bibliotecas Java com ausência total de documentação, exemplos, ou com código fechado. Os fóruns de nacionais java são movimentados e geralmente suas dúvidas são resolvidas em questão de minutos.

A comunidade também produz todo tipo de ferramenta, geralmente de maneira aberta ou gratuita. A própria gestão da Sun sobre a linguagem, através do Java Community Process, acaba sendo feita de maneira muito mais aberta e transparente do que seu principal concorrente, o C#. Discutem adições na linguagem, APIs e na IDE mantida pela Sun, o Netbeans. Há colaboração em todos os sentidos.

Suporte nativo

O Java possui suporte nativo para janelas, gráficos 2D, som, threads, rede, mouse e teclado. Portanto, é possível montar excelentes jogos 2D sem anexar uma única biblioteca externa sequer. Assim, tanto o ambiente de desenvolvimento, quanto o jogo em si, tornam-se facílimos de serem instalados e mantidos. 

Desvantagens

Nem tudo é perfeito. Com o Java, não poderia ser diferente. Exploremos agora alguns dos problemas da linguagem, no que tange o desenvolvimento de jogos.

Baixa integração com o sistema operacional

Ser multi-plataforma tem um custo: sua aplicação fica encapsulada numa VM e, por conseqüência, fica isolada do sistema operacional. O problema é que bibliotecas gráficas como OpenGL e DirectX, suporte aos controles mais modernos, dependem dessa funcionalidade. Isso não significa que ela seja inexistente em Java. É possível implementá-las em código nativo e integrá-las, através da JNI. Entretanto, esse é um desenvolvimento essencialmente feito em C++, e pode ser até mais difícil do que se você o fizesse seu jogo em C++ diretamente.

Felizmente, a comunidade já se preocupou em resolver a maior parte desses problemas. Encontramos bindings para OpenGL e para controles. A JOGL, LWJGL e o JInput são alguns exemplos. Não se pode negar, entretanto, que existe sempre um gap entre o lançamento de uma nova tecnologia, e seu suporte na linguagem Java. Muitas vezes, também pode ser difícil encontrar uma biblioteca estável, que te permita trabalhar com determinada tecnologia, como é o caso do DirectX.

Outra desvantagem é que muitas dessas bibliotecas não são multi-plataforma, eliminando assim uma das principais vantagens de se usar Java.

Não é usada na indústria de jogos AAA

Embora esteja presente em celulares e internet, não podemos negar que ele é inexistente na indústria de jogos triplo A. E as perspectivas não favorecem uma mudança desse quadro, já que a indústria de consoles orgulha-se justamente de seu hardware diferenciado. Graças a isso, dificilmente ouviremos a Microsoft e a Sony preocupadas em criar uma virtual machine que permita rodar jogos em Java de maneira homogênea em seus consoles.

Por conseqüência, isso mantém o Java afastado dos jogos desse gênero até mesmo no PC, uma vez que a maior parte dos estúdios tem interesse em porta-los, ou pretende ter rotatividade entre os membros de diferentes equipes. Sem falar no fato já citado da indústria já ter uma grande base instalada de aplicativos e bibliotecas escritos em C++, além de pessoal já qualificado e know how.

Então, se sua meta é essa indústria, custe o que custar, por que perder tempo desenvolvendo em Java? Essa é uma boa pergunta. Felizmente, nosso site também tem uma sessão dedicada ao C++.

Exige a instalação da VM

Para o uso das versões mais modernas do Java, o usuário precisa instalar o Java Runtime Environment (JRE). Essa instalação é um pouco mais complexa do que a do flash, embora se resuma aos famosos “next, next, next” dos instaladores comuns. O usuário, entretanto, precisa fazer o download, e executar um aplicativo externo, e muitos desconfiam dessa operação, ou a temem.

Não é à toa que alguns estúdios, como o miniclip, dão preferência para jogos feitos em versões muito antigas do Java, como a 1.1 ou 1.2 compatíveis com a Microsoft Virtual Machine, já integrada nas instalações de Windows.

Felizmente, a presença do Java nas máquinas é cada vez mais comum, graças a pressão feita pelos bancos e por softwares do governo.

Fácil de descompilar

Descompilar um código Java é muito mais fácil do que decompilar o mesmo código escrito em C++. As aplicações para isso, como a cavaj, geram um código tão legível que chega a ser desconcertante. Mesmo com o uso de ofuscadores, como o ProGuard, essa não será uma tarefa muito difícil para quem estiver realmente determinado a fazê-lo. Portanto, se você pretende manter um segredo industrial forte e não acha que o know how de sua equipe é suficiente para manter você na liderança, não use Java.

E a performance, não é um problema?

É difícil comparar a performance de uma aplicação Java com uma aplicação C++. Para um pequeno código estritamente matemático, será fácil comprovar que o C++ tem performance superior a do Java. Entretanto, ao entrar em estruturas mais complexas, como alocação de memória, a comparação começa a se tornar difícil. Um exemplo disso, é o fato do coletor de lixo ser muito mais inteligente do que o C++ na hora de alocar e desalocar memória. Criar objetos pequenos ou temporários ou lançar exceções em C++, por exemplo, costuma a ser uma tarefa extremamente custosa. No Java, essas são tarefas praticamente gratuitas.

Profiling com a VisualVM no Vikanoid. É melhor otimizar o desenho da classe Brick... Outro conceito errado é que o Java é uma linguagem integralmente interpretada. Primeiro, mesmo que haja interpretação por parte da VM, devemos lembrar que o código interpretado é de um bytecode compilado, e não de um código fonte textual. Portanto, a VM não precisará perder tempo fazendo verificações sintáticas e o código está otimizado, permitindo uma interpretação leve e rápida.

Além disso, a virtual machine usa uma técnica chamada Hotspot Compilation, Essa técnica analisa o código em tempo de execução, permitindo assim uma compilação seletiva dos pontos mais “quentes” de sua aplicação. Como a compilação conta também com informações de runtime, a VM pode fazer otimizações ainda mais agressivas do que as que seriam possíveis usando C++. Um exemplo disso, é que mutexes são eliminados da compilação, caso a VM identifique que há apenas uma thread rodando. Outro exemplo é que é possível para a VM eliminar chamadas a métodos vazios, mesmo em classes polimórficas.

Finalmente, é bom citar que o Java possui ferramentas de excelente qualidade para verificar a velocidade do código fonte e o consumo de memória, um exemplo é o VisualVM, integrado ao próprio JDK. Como a VM pode disponibilizar diversas informações sobre a execução da aplicação, pode-se instrumentar código java de maneira não-intrusiva, isto é, você pode acompanhar seu código sem a necessidade de alterá-lo. Como a maior parte dos gargalos de performance não estão na execução do código nativo por si só, será mais fácil otimizar código Java do que código C++.

Concluindo

Esse artigo apresentou diversos pontos positivos e negativos da tecnologia Java. Se você tem interesse em fazer jogos por lazer, ou deseja entrar no mercado de celulares ou web, o Java certamente é uma opção melhor que o C++. Com a tecnologia Java, é muito mais fácil fazer jogos de boa qualidade, sejam usando tecnologia 3D, 2D ou móvel.

Mesmo que você queira investir para valer na indústria hardcore, o Java pode ser uma boa opção antes de você entrar lá. Tanto para o estudo das técnicas de programação em si, simplificado pelo fato da linguagem te poupar de detalhes de baixo nível, quanto pelo fato dele estar mais presente no mercado comercial, representando assim uma linguagem rentável.

Apresentaremos artigos nas duas linguagens, escritos por profissionais experientes. Agora, só cabe a você escolher quais deles seguir.


Comentários (87)
  • Bruno Daniel Marinho  - Legal
    avatar

    So uma questão com relação a facilidade de descompilar não haveria outras alternativas? pois no caso de criar um mmrpg o numero de programas cheats seria gigantesco sendo simples assim a engenharia reversa.

  • Vinícius Godoy de Mendonça  - MMORPGs
    avatar

    Na verdade, nos MMOs o problema seria menor, porque o servidor não é de domínio público. Se você fizer a coisa direito, não haveria problema do código do cliente ser até mesmo 100% Open Source.

    Um exemplo disso é o WOW, que deixa os usuários escreverem seus próprios plugins.

    As alternativas para a descompilação são o uso de ofuscadores, ou o uso de criptografia em alguns .jars.

    Os ofuscadores substituem nomes de classes, métodos e variáveis legíveis por nomes ilegíveis como _ e __. Assim, dificulta o trabalho de quem descompila o código. Por outro lado, eles devem ser usados com cuidado em código que faz uso de reflexão.

    Já a criptografia do .jar é útil, porém, sem o uso de ofuscadores em algum momento, alguém poderá descompilar o .jar que desfaz a criptografia e colocar tudo a perder.

  • Davi
    avatar

    :0 Abriu muito minha mente em relação a que linguagem escolher. Por enquanto continuo com Java :)

    Esse site é um paraíso

  • Paulo
    avatar

    só uma observacao, voce esqueceu de falar do jogo runescape, que é 3D e feito totalmente em JAVA, inclusive com graficos muito avancados, como sombras e efeitos de textura.

  • Vinícius Godoy de Mendonça  - Jogos em Java
    avatar

    Na verdade, a idéia do artigo era só um comparativo geral das linguagens.

    Realmente, existe tanto o Runescape, quanto o Taikodom, como ótimos exemplos de jogos em Java.

    Acho que os MMOs são os que mais se beneficiam da tecnologia, tanto na parte do servidor, quanto pelo fato da maioria ser exclusivamente para PC.

    Ainda estou ansioso para algum jogo da grande indústria surgir usando Java.

  • Alexandre  - Taikodom
    avatar

    Bom dia, Boa tarde ou boa noite o taikodom é feito em java? Vinícius Godoy de Mendonça eu sou iniciante em java eu vi um site seu é muito legal ele vou começar meus estudos por aqui e la por ele e tambêm eu posso depois de ter uma base em java aprender o android? obg

  • Vinícius Godoy de Mendonça
    avatar

    É e não é. Explico: A lógica do game em si é toda feita em Java. Porém, a parte gráfica, de entrada de dados e de áudio usa uma biblioteca chamada LWJGL, assim como faz o Minecraft, que roda fora do Java.

    Então, dá para dizer que o Taikodom é um sistema híbrido.

  • Alexandre
    avatar

    Então entendi o Vinícius vc tem algum blog ou alem desse site para explica a quem esta aprendendo java para ir para games alem eu sei do forum GUJ para ensinar quem esta iniciando JAVA eu aindo estou engatinhando no java eae quero ir para o android desenvolver apps e tbm do java gostei muito, java é demais e o senhor explicar muito bem parabens obrigado.

  • Vinícius Godoy de Mendonça
    avatar

    Não tenho um blog nem site só sobre Java. Há muita literatura sobre isso por aí, e muitos outros blogs de usuários do GUJ.

  • Anderson
    avatar

    eu também!!! =O

  • Luciano Braga  - Muito Bom
    avatar

    Muito bom o que vc escreveu aqui. Eu estou hoje iniciando meu estudo sobre java e enquanto escrevo aqui estou fazendo o download do SDK para começar a estudar java. O que eu sei hoje é voltado para web, sei html, css, um pouco de javascript e PHP como linguagem dinamica mas ainda não entrei na programação para PC pois não fui muito bem sucedido em aprender C por ser muito complicado e acho que pelo fato de eu ter tentato aprender C antes de qualquer outra coisa.
    Um amigo hoje me falou que eu deveria aprender java pois é bem melhor que C ou mesmo Delphi que eu tambem tentei aprender mas desisti para me dedicar a programação web que é o que eu faço hoje.
    O brigado por escrever o que acabei de ler e por contribuir com a comunidade de desenvolvedores que assim como eu estão tentando aprender algo novo.

  • Vinícius Godoy de Mendonça
    avatar

    Obrigado.

    É muito restrito dizer que uma linguagem é melhor que outra. Como você leu aqui, o Java tem pontos fortes e pontos fracos, no que tange ao desenvolvimento de jogos.

    Resta só analisar esses pontos, alinha-los com seu interesse pessoal e escolher a linguagem certa. ;)

  • luciano Braga  - Realmente!!
    avatar

    Olha, eu acho que o java é uma otima linguagem. No meu caso tenho interesse em aprender para criar alguns jogos para celular e tambem desenvolver um sistema de gerenciamento de vendas que ja tentei em php mas como é linguagem web e tem de rodar no navegador acabou não saindo como eu queria. O legal é que fiz o sistema rodar em um servidor e funciona em um site de uma farmacia mas quero realmente fazer um programa em java pq achei que seria melhor java do que C.
    Ontem baixei o Netbeans e é bem paracido com o Delphi( o lance de arrastar e soltar) ja vem botões prontos e uma ruma de coisa, é bom pq podemos criar programas bem interessantes visualmente.

  • Denis  - Muito bom
    avatar

    Nossa tem um jogo q agoro que é feito em java "Minecraft" :) :)

    Meu TCC do curso tecnico é um joguinho tipo Detetive, para jogar em rede estamos quase acabando :cheer:

  • Vinícius Godoy de Mendonça
    avatar

    Acho que o MineCraft é a última sensação do momento. Pelo menos, muitos tem falado nele.

    Mas é difícil achar um jogo 100% Java. A maioria tem algum tipo de hibridismo.

  • Ênio Francisco da Silva  - GAME SERVLET com APPLET no TOMCAT
    avatar

    Vinícius, tudo bem? Sou bem novato com Java e estou adorando as vantagens e os desafios que ele proporciona.
    Fiz um game multi-jogadores mas estou enfrentando um problema na hora de colocar no meu servidor local (TOMCAT). Poderia me dar umas dicas?
    No eclipse funciona perfeitamente mas ao colocar as classes no Tomcat6 o Cliente-Servidor não se comunica.

    Eu uso no TOMCAT o comando URL url = new URL(getCodeBase(), "chat";); //NÃO FUNCIONA

    Eu uso no Eclipse o comando URL url = new URL(getCodeBase(), "http://localhost:8080/chatWebServer/chat";); //FUNCIONA

    Parabéns pelos artigos... eu os li e eles despertaram mais ainda o interesse de mergulhar em games e tudo que está envolvido.
    Se precisar do código-fonte para entendermelhor é só pedir.

    obrigado,

    Ênio
    enio.francisco@gmail.com

  • Vinícius Godoy de Mendonça
    avatar

    Olá Ênio.

    O local para essa dúvida é o GUJ, não o Ponto V. ;)

  • Edson  - java
    avatar

    bz!!!!!!!!kara preciso de ajuda qero um sistema pronto em java pra eu refazer pode um sistema de locadora,farmacia,sei la qualquer um desde que seja de java......valeu acordo resposta

  • Vinícius Godoy de Mendonça
    avatar

    Acho que houve algum engano. Somos um site educacional sobre desenvolvimento de jogos. Não desenvolvemos sistemas comerciais desse tipo.

    Você pode procurar por sistemas assim no google mesmo, em sites como de programa opensource - como o sourceforge, github ou google code) - ou em fóruns - como o GUJ.

  • Pb600  - Java
    avatar

    Haha concordo com você em todos os aspectos, Como ja citado acima Runescape é um jogo muito bom feito em java, é um grande exemplo, mas comprova o que você falou porque eles usam JNI, os gráficos são bons pois eles integraram, OpenGL, DirectX etc ao cliente, e realmente é frustante como é fácil decompilar um programa ;/ acho que pode reforçar um pouquinho tornando o aplicativo executável.
    E realmente caso o servidor seja bem feito não importa se o cliente for código aperto, des de que o servidor controle tudo direitinho, sem deixar brechas, o que é muito difícil em um jogo gigante.
    Aí como você falou, é necessário instalar JRE antes de executar o aplicativo, mas tem meios de integrar o JRE direto ao jogo, assim a pessoa ao baixar o jogo, não precisaria ir no site do java e instalar tudo.
    E concordo que java interaja pouco com o sistema operacional assim necessitando muitas veses que você use um código nativo, até mesmo para um keylistener com a janela minimizada :p
    Aí muito bom artigo tais de parabéns =D

  • Vinícius Godoy de Mendonça
    avatar

    Pois é, todas as linguagens tem vantagens e desvantagens e esses aspectos do Java são mesmo inegáveis.

    No próprio projeto Alegria, eu só consegui encontrar um único binding decente para integração com joysticks (o JInput), nenhum binding forte para DirectX. Ficamos na mão de poucos grupos que geram esses bindings e temos que rezar para não haver descontinuidade. =/

  • Michel Montenegro  - Java
    avatar

    Para criação de MMOG (Ex: MMORPG) acha que java pode ser uma boa?

    Cria-lo no lado servidor eu sinceramente acho que deve ser excelente(Me corriga se estiver enganado).

    E no Lado cliente? Quais soluções pode me dar pra resolver isso (ex: JAva mesmo ou ...)

  • Vinícius Godoy de Mendonça
    avatar

    Acho uma tecnologia excelente para o servidor, mas não muito adequada para o cliente. Uma das soluções seria usar o JMonkeyEngine para o cliente, mas eu ainda preferiria a Unity3D (C#) ou mesmo a Ogre3D (C++).

    No lado do servidor, procure se informar sobre o projeto Red Dwarf.

  • Bruno Crivelari Sanches
    avatar

    O Erinia foi desenvolvido dessa forma: java no server, C++ no cliente.

    A comunicação era toda via sockets com TCP/IP.

    O único inconveniente dessa técnica é não poder compartilhar código entre ambos e ocorriam casos de ter que ficar fazendo correções de bugs duplas devido ao mesmo código (que era duplicado em C++ e Java) ter o mesmo bug. Pode-se usar JNI, mas acho JNI meio chato de se usar.

  • Vinícius Godoy de Mendonça
    avatar

    Eu discordo de você sobre o JNI. Acho ele muito chato de usar. :D

  • Bruno Crivelari Sanches
    avatar

    Na verdade nem tive paciência de usar, a unica vez que surgiu uma quase possibilidade descartei depois de ler a documentação :).

  • Michel Montenegro  - Michel Montenegro
    avatar

    Existe algum artigo explicando como funciona esta interação entre os Servidores de MMORPG e seus Cliente?

    Pra ser mais especifico, existe o "reddwarfserver" mas e ai? pra que tenha uma ligação Cliente-Servidor de que forma meu cliente deve ser desenvolvido e como faço a integração com o Server?
    {RMI ou Protocolo TCP/UDP}, sinto que essa relação depende mais de como meu cliente é projetado para interagir com oservidor que ao contrario, e é esta relação que quero entender.

    Dizem que posso fazer um sistema inteiro "StandAlone" e fazer a integração depois que é "fácil", mas este "fácil" que sou pé atrás também.

  • Michel Montenegro  - [SourceForge] JMMORPG Project
    avatar

    Ai vai mais um exemplo de que é possivel fazer um jogo em java (Até com uma certa facilidade)

    ==========================

    Projeto (Open-Source) para a criação de MMORPGs em Java.
    JMMORPG Project: https://sourceforge. net/projects/jmmorpg/

  • Vinícius Godoy de Mendonça
    avatar

    Bom, eu ainda não chamaria seu projeto de "exemplo". Ele está bem no início e ainda não há qualquer resultado palpável (sua sessão de arquivos está até mesmo vazia). Você ainda não esbarrou pelas dificuldades que a linguagem impõe.

    De qualquer forma, jamais dissemos ser impossível fazer nada em Java. Até comentei que ele seria uma boa tecnologia para o servidor, mas que existem alternativas muito melhores para o cliente.

    Logo você começará a esbarrar na necessidade de usar JNI.

  • Michel Montenegro
    avatar

    Falei que é MAIS um exemplo de que é possivel fazer um jogo em Java, o que é verdade. Penei que nem um maluco pra achar "facilitadores" para o desenvolvimento e depois fazer funcionar. Sendo bem sincero deste ponto em diante os problemas que vem ão mais conceituais "Qual a melhor forma de fazer isso?", mas vamos ver quantas vezes esta pergunta "tenho como fazer com as tecnologias que uso?" vai ter a resposta sim ou não.
    Obs: Posso te garantir que é um bom exemplo sim e não um "exemplo", não por ele estar pronto, mas só eu sei a penuria que é achar exemplo com fontes e pior prestaveis (A maioria parte do principio que quer fazer algo basico e não saem daquilo). Artemis é excelente mas não tem nada em java igual a ele (Que eu tenha achado) e praticamente só tem uma fonte de informação e ta no começo.

    Bom por hora ele ta no começo mesmo, isso é inegavel, mas já tem o necessario para evoluir.

    Screens:
    http://img31.imageshack.us/img31/2249/jmmorpgtela3.jpg

    http://img718.imageshack.us/img718/9497/jmmorpgtela1.jpg

    http://img9.imageshack.us/img9/2497/jmmorpgtela2.jpg

  • Vinícius Godoy de Mendonça
    avatar

    Sim, mas vendo os screenshots dá para ver que seu exemplo sofre das deficiências que comentei:

    1. Ele se baseia na LWJGL, que é um binding. Assim, sua API está na mão de um desenvolvimento de terceiros, que pode simplesmente ser descontinuado (como já ocorreu com o JOGL, que ficou passando de mão em mão).
    2. O Java não tem suporte a MP3 ou OGG. Não sei se você está fazendo usando a JavaZoom, ou irá tentar usar a JOGL e criar classes baseadas em OpenAL. O fato é que, novamente, você estará na mão de terceiros.
    3. Seu projeto continuará não sendo suportado em nenhum console.

    Se seu objetivo fosse simplesmente um jogo, você até poderia conviver com APIs terceiras. Afinal, jogos tem mesmo um ciclo de desenvolvimento com começo, meio e fim. Agora, eu não apostaria minhas fichas nessas deficiência para criar uma API ou um MMO, pois ambos tem duração mais longa. Foi por isso que descontinuei o projeto Alegria para java, e resolvemos mudar seu foco para usar o Android.


    No caso do servidor, acho o Java uma tecnologia excelente.

  • Paulo
    avatar

    Bom começo cara eu ja tenho uma pequena experiencia java para desktop e queira entrar no desenvolvimento de jogos sera que voce poderia me dar um "norte"?

    email: paulo_vitor_72@hotmail.com

  • Michel Montenegro
    avatar

    Sim, compreendi o que falaste e é verdade, mas vamos ver no que dá. Por hora faço minha parte, e espero conseguir apoio para seguir pelo melhor caminho dentro desta estrada de pedras que é Desenvolver o jogo em Java. ^^

    Realmente no lado servidor não vejo muitos problemas.

  • Pamela Oliveira
    avatar

    Estou pesquisando materiais sobre JSP e JSF para desenvolver um jogo para auxiliar no ensino de lógica de programação para uma disciplina na faculdade. Mas não tenho encontrado muita coisa :( Se alguém puder indicar ou disponibilizar materiais para eu estudar sobre isso, eu agradeço desde já.

  • Vinícius Godoy de Mendonça
    avatar

    Por favor, poste sua dúvida no GUJ. Esse é um site sobre jogos.

  • Paulo  - Jogos de redes sociais
    avatar

    Olá, tudo bem?
    Parabenz pelo site, otimo mesmo. To muito interessado em estudar javascript, mas gostaria antes de saber se aqueles jogos de redes sociais tipo cityville são feito em javascript ou actionscript?

  • Vinícius Godoy de Mendonça
    avatar

    São feitos em ActionScript e flash, em sua maioria. Essa tendência deve mudar no futuro, caso o HTML5 pegue.

    Mas detalhe: Esse é um tutorial de Java, que é uma linguagem completamente diferente da JavaScript.

  • Marcio Abreu  - Dificuldade em fazer um loop que inicie e termine
    avatar

    Olá Vinicius, sempre que procuro informações pela internete com relação à java te encontro em algum lugar,.. to precisando de uma ajuda,
    preciso que quando o usuario pressionar determinado botão da aplicação que ela fique enviando dados pra porta paralela até que eu solte o botao, mas ta dando certo quando solto o botao e faz uma vez e para, gostaria que isso ficasse continuo até eu soltar. Vc conhece algum metodo que possa fazer isso, estou se idéias. Obrigado por enquanto.

  • Vinícius Godoy de Mendonça
    avatar

    Oi. Por favor, poste sua dúvida no GUJ. Esse portal é exclusivamente destinado à jogos digitais.

  • Felipe
    avatar

    Olá, tudo bem?
    Estive pensando em implementar um jogo 2D, no estilo de Tetris ou Snake. Me parece que com C++, OpenGL e SDL é possível implementar. Gostaria de saber se estou certo e se com Java/Java 2D apenas também é possível ou se precisarei aprender mais alguma outra API?
    Parabéns pelos site.
    Obrigado.

  • Vinícius Godoy de Mendonça
    avatar

    Se é um jogo simples, 2D, como Snake, não precisa usar C++. A menos que você queira realmente estudar OpenGL.

    Agora, eu recomendaria que você usasse o C# + XNA. A linguagem é parecida com o Java, que você já conhece. Porém, o XNA é completo: tem boas classes para sons, entrada para diversos controles (inclusive o Kinect) e, de quebra, você poderia testar seu jogo no X-Box.

    Não perca tempo com jogos para Java. Infelizmente, a linguagem não dá suporte a eles, não há nenhum interesse da Oracle e, praticamente tudo que encontramos, é mantido por poucas pessoas.

  • Michel Montenegro
    avatar

    Eu tenho tido bons resultados com java no que se refere a jogos, inclusive um amigo fez algo bem interessante o Pedro. Não acho perda de tempo, aprendi com o tempo que tudo depende do que queres fazer, inclusve o PEdro esta fazendo um Snake em java. Jogos para celular java ainda domina. ^^

    Mesmo no meu caso, para o que vou apresentar muito em breve se tuco continuar indo bem, também se aplica.

    Até em Delphi podes fazer um jogo rsrsrs...

  • Vinícius Godoy de Mendonça
    avatar

    Oi Michel.

    Se você quer usar o Java para aprendizado, ou para Android, ok, vá fundo.


    Mas, como já te expliquei diversas vezes, essa linguagem está longe de ser a mais adequada para a tarefa. É lógico que não é impossível fazer jogos em Java, só que você terá muito mais impecilhos.

    Por exemplo, não existe suporte nativo do Java para:
    - Controles;
    - Músicas (mp3, ogg);
    - Classes matemáticas aceleradas por hardware;
    - Ambiente gráfico 3D;

    Você é obrigado a recorrer a projetos externos, como o JInput, LWJGL, Slick2D ou JMonkeyEngine. Projetos esses muitas vezes abandonados (JInput, JOGL) ou suportados por pessoas física (JavaZoom, Slick2D).

    Além disso, o Java não é suportado em nenhum console, e nem a indústria quer que seja.

    Também há um péssimo suporte em libs famosas para física, criação de árvores/terrenos, etc...


    Programar jogos em Java, hoje em dia, é remar contra a maré. Se você ainda gosta, é porque provavelmente não tentou programar usando linguagens apropriadas para isso.

  • Michel Montnegro
    avatar

    opa, tudo bom Vinícius.

    Rapaz, eu entendo e não discordo quanto a java ser tenso para programar jogos, mas tem que convir que, jogos para celular, que precisam de funcionalidade em mais de um OS (Android que o diga) ele ainda é interessante.

    Concordo com o fato de usar tecnologias de terceiros quando não se tem garantia de nada é ruim, eu particularmente estou usando e sem pudor, e to gostando dos resultados até agora (É um risco? é!, mas estou pagando para ver).

    Se eu não quiser programar jogos somente para wwindows, quero ele multiplataforma, nem ligo para consoles, pois o foco de minha aplicação é outra, como fica? O que quero dizer com isso que jogos como Tibia no meio online fazem sucessoaté hoje, temos o Dofus, e GameB rowser ( EITA Fazer jogo com PHP????), imagina isso, jogo usando php em um browser, sem um pingo de som etc. Jogo é divertimento o negocio é se és capaz de gerar divertimento com o que tens a mão e qual o teu foco/objetivo.

    foco/objetivo = Diz o que é interessante/viavél ou não usar.

  • Vinícius Godoy de Mendonça
    avatar

    Se quiser fazer jogos para múltiplas plataformas, você pode usar o C++. Existem dezenas de APIs e libs portáveis, que permitirão que você recompile em muito mais plataformas que o Java. No caso da SDL, por exemplo, o número de plataformas gira em torno de 13. Ou, você ainda pode usar o C#, Boo ou JavaScript com a Unity, que tem suporte a diversas plataformas (mais de 5).


    Aliás, quando você diz multiplataforma, em termos de Java, você hoje só fala em 2 plataformas: Linux (onde está um número ínfimo de jogadores) e Windows (o principal sistema desktop). As demais, não são suportadas pela Oracle ou pela Apple. A coisa fica ainda pior quando você começa a usar APIs de terceiros, pois essas APIs terão que ser multiplataforma também, e seu produto acabará só rodando no pior cenário de todas elas.

    O Android é uma plataforma a parte, mas também não é exatamente Java. As APIs são outras, o que irá comprometer sua portabilidade. Ele seria o único motivo para se usar Java como linguagem (mas não como plataforma) para jogos hoje em dia.

    Quando falamos em C# com XNA, estamos falando de 3 plataformas significativas, e diretamente suportadas. O Windows (99% do mercado), o X-Box (36%), e o Windows Phone 7. Todas são plataformas com um número expressivo de jogares e abrangem os três principais segmentos da indústria: consoles, dispositivos móveis e PC.


    Volto a dizer, não é impossível fazer jogos em Java. O Minecraft é um exemplo de que é possível. Mas é extremamente inadequado. Você provavelmente gastará muito mais esforço, perderá mais tempo e terá mais problemas do que se simplesmente usar uma plataforma onde os seus criadores apoiem a indústria de jogos.

    Defender o Java para jogos, é o mesmo que alguém aparecer no GUJ dizendo que quer usar C++ para fazer websites, ou alguém aparecer num fórum de robótica dizendo que vai implementar tudo em PHP. Possível? Provavelmente sim. Boa idéia? Certamente não.

  • Bruno Crivelari Sanches
    avatar

    Sem falar que o Android suporta C++ e esse já é um ótimo motivo para não usar Java com ele, ao menos para jogos.

    Se posso fazer em C++ e de quebra portar para Android, iPhone, Pc (Windows e Linux) e se a coisa der lucro mesmo, compro um devkit e porto para o 360.

    A única vantagem que vejo hoje no Java para jogos é para ter algo com um pouco mais de recursos que o Flash e funcionando na web, pois a penetração do plugin do Java nos navegadores só não supera a penetração do Flash, então realmente é vantajoso para fazer algo online, fora isso, não vejo vantagens.

  • Anônimo
    avatar

    quero um chat com algum perito em java (eclipse),se puder me ajudar eu aceito

  • Michel Montenegro  - E o que deseja?
    avatar

    Qual seu e-mail?

  • Hermes  - Arquitetura para Jogos.
    avatar

    Galera, preciso de ajuda dos masters em jogos aqui...

    Sou arquiteto java j2ee, trabalho com sistemas comerciais em java a 10 anos.
    Estou entrando em uma área totalmente nova para mim. Estou iniciando o desenvolvimento de um jogo com um colega. Ele está fazendo todo o GDD (Game Design) e eu estou começando a imaginar como eu vou fazer isso tudo... A ideia de de um jogo de batalha, imagina o age of empires, logico que muito mais simples, e nesse primeiro momento sem a parte grafica ainda...
    Não gostaria de fugir do java, ja que é o chão que eu sei pisar nesse momento. O jogo será Web...
    O que vocês me indicam a usar em frameworks e arquitetura?
    Voces tem algum projeto de exemplo que posso usar como base?

    Agradeço se puderem me ajudar nessa....

  • Michel Montenegro  - [Parallax] Projeto Open Source feito em Java
    avatar

    Olha se o que procura e criar jogos em Java, vou te indicar meu projeto Parallax (OpenSource/Free), no minimo vai ser uma boa escola (Temos um site, forum e uma comunidade), só pedimos os creditos por toda e qualquer ajuda que este projeto venha a oferecer, nada mais que isto.

    Introdução:
    http://www.e informacao.com.br/parallax/introducao

    1° Video (Tem 5 Videos no site):
    http://www. einformacao.com.br/parallax/videos/game

    Observação: Ele não é um jogo, é uma engine (Motor de criação de jogos), similar ao RPGMaker.

    Olha existem varias plataformas, linguagens e tecnologias para jogos (C++, C#, Java, ... XNA, unity3D, GameMaker, UDK, ..., etc.), Qual delas seria a mais indicada depende de cada situação, existe o senso comum de que C++ é uma das linguagens mais indicadas para a criação de jogos. De uma estudada em cada uma e veja qual se enquadra melhor.

    Falando agora sobre Java, se no caso a curva de aprendizagem for menor já pela tua experiencia (sei o que é isso, pois passei pelo mesmo), vá em frente, te aconselho fortemente a olhar o Parallax, pois ele usa o que tem de melhor para criação de jogos em Java (Tecnologias mais recentes e produtivas), vá no link Introdução e leia sobre as tecnologias aplicadas no mesmo.

    Se quiser falar comigo.
    Meu E-Mail/GTalk/Msn: michel.montenegro@gmail.com

    Meu Skype: michel.montenegro
    (Belém-Pará, a foto é de um lobo :D )

  • Vinícius Godoy de Mendonça
    avatar

    Oi.

    O jogo será para desktop, com uma conexão para web, como faz o StarCraft 2 ou o Minecraft, ou você está pensando em rodar diretamente via applet?

    No caso de applets, o problema de engines como LWJGL, Parallax e Slick2D, é que elas se baseiam em bindings JNI. Portanto, é difícil autorizar o applet, e o download do jogo fica bastante lento. Além disso, o applet não será aceito na maioria dos publishers.


    No caso de games via web, algumas boas alternativas são a Unity, que tem um ótimo webplayer e o flash. Uma das vantagens da Unity é que ela vem sendo fortemente adotada no mercado brasileiro, e pode ser uma boa fonte de estudo se você quiser entrar nesse mercado no futuro.


    Agora, caso o seu game seja daqueles games onde você no fundo atualiza status em páginas web (como o hattrick), você pode usar frameworks e fazer uma modelagem como um sistema comercial Java qualquer. Eles não são muito diferentes disso.

    Informe melhor o que você está planejando para podermos orienta-lo melhor.

  • Hermes  - Melhorando a pergunta...
    avatar

    Bom , o que o game design está pensando é em algo que tenha um pouco do http://www.astroempires.com/ e um pouco do www.imperiaonline.org.

    Alguma ideia do que eu posso usar como arquitetura?

    Valeu galera...

  • Bruno Crivelari Sanches
    avatar

    O astroempires nào conseguei ver bem como é, mas o imperiaonline me pareceu ser todo no navegador, assim como o Lord of Ultima não?

    Se for isso mesmo, é uma aplicação web como qualquer outra, então pode-se usar Java,Php ou qualquer outra linguagem / tecnologia de desenvolvimento web.

  • Hermes
    avatar

    O astroempires também é web desse jeito...
    Pelo que eu vi os dois abusam muito do jquery, o que no meu caso é bom pois eu ja conheço bem...

    Bom, acho que nesse meu caso a minha experiência vai me ajudar então, ja que posso usar arquitetura que eu ja estou aconstumado...

    Mas é logico que esse game é apenas o primeiro, iremos explorar outros mundos depois, e com certeza volto pedir ajuda...

    Valeu.

  • Bruno Crivelari Sanches
    avatar

    Sem problemas Hermes, deve ter alguns outros desafios em relação a um app web comum, a começar deve ter bastante AJAX e muita troca de dados para fazer todo aquele controle de evolução das coisas que esses jogos costumam ter.

  • kayky vitor  - Consegui com meus companheiros!
    avatar

    Consegui com meus companheiros!
    Iframe: :D e Image: :woohoo:

  • Pablo Gilvan
    avatar

    Viícius, então eu queria aprender a programar jogos me Java até pra descontrair um pouco e me animar a aprender mais de Java, mas com o principal objetivo de abranger mais meus conhecimentos. O que você me indica? Até queria aprender C++ e me dedicar nesta área, mas também não queria perder o rumo que é aprender Java a fundo.

  • Vinícius Godoy de Mendonça
    avatar

    O Java não é uma boa plataforma para desenvolver jogos desktop.

    Entretanto, se seu objetivo é só ter um pretexto para estudar java e se empolgar um pouco, pode ser uma linguagem bem divertida de programar. Você pode continuar seguindo nossos tutoriais de Java 2D e, adicionalmente, procurar o livro Developing Games in Java, do Dave Brackeen. Ou então, procurar sobre programação de jogos em Android, onde o Java é realmente usado.

    Se seu objetivo é realmente trabalhar com jogos no Brasil, então, mude do Java para o C#. Você pode fazer jogos 2D com o XNA, que tem sintaxe parecida e não tem as limitações da plataforma Java. Sem falar que o C# é uma das linguagens usada na Unity (uma das engines mais populares da indústria brasileira) e, no caso da web, é também o principal concorrente do Java.

    Finalmente, se você pensa em trabalhar com jogos no exterior, aí sim, vale a pena se aprofundar em C++. O C++ também é interessante se você quiser se aprofundar na compreensão do computador e da computação em si.

  • Samantha  - material para estudo
    avatar

    Olá

    Meu nome é Samantha e estou concluindo o curso de pós-graduação em: Desenvolvimento Java (na Estácio de Sá). Gostaria de saber se você tem algum material interessante para colocar em minha monografia em que o tema é : O uso de softwares e jogos educacionais em Java no processo pedagógico.

    Desde já agradeço.

    Abraços e até logo.

  • ViniGodoy
    avatar

    Por que você limitou sua monografia ao Java? Existe muito material sobre softwares no processo pedagógico, mas eles geralmente não são restritos a essa ou aquela linguagem.

    Aqui na Positivo, geralmente desenvolvemos jogos educacionais em Flex. A tendência para as próximas décadas parece ser mesmo o HTML5.

    O Java é muito fraco para games, sejam educacionais ou não. A única vantagem que eu poderia citar é o fato de ser multiplataforma - o que é interessante pois o governo é forte usuário de Linux.

  • Samantha  - re:
    avatar

    Na verdade limitei ao Java por conta de ser o foco do curso, mas a minha idéia é fazer um estudo geral, incluindo outras linguagens e depois falar do Java, mesmo que seje os seus pontos fracos para isso.

    Abraços!

  • Vinícius Godoy  - Java e Educação
    avatar

    Ok. E me diz uma coisa... seu enfoque vai ser mais pedagógico ou tecnológico?

  • Samantha
    avatar

    pedagógico. Só farei uma pequena análise da tecnologia.

  • Vinícius Godoy  - Jogos educacionais
    avatar

    Procure por "Serious Games".

    Segue alguns artigos que talvez você goste:
    http://www.sbgames.org/papers/sbgames10/culture/full/full13.pdf

    http://www.sbgames.org/papers/sbgames07/artanddesign/short/ads2.pdf

    http://www.veletsianos.com/wp-content/uploads/2011/06/Design-Challe nges-Pedagogical-Agent-Veletsianos-2011-Chapter.pdf

    http://www.lucs.lu.se/wp-content/uploads/2011/10/ITEC-FINAL-PROOF-2 011.pdf

    http://www.innovateonline.info/pdf/vol3_issue2/Resolving_Conflicts_ in_Educational_Game_Design_Through_Playtesting.pdf

  • Samantha
    avatar

    Obrigada , pela atenção.


    Abraços e até logo

  • Kelly  - Iniciante em Java
    avatar

    Oi! Primeiro gostaria de agradecer sua disponibilidade e atenção para com todos.
    Estou aprendendo java e, pelo que estou sabendo até o momento, o jogo que quero criar pode ser feito utilizando esta tecnologia.
    O jogo será um rpg via browser (WBMMOG), não terá sons ou animação.
    Portanto, perfeitamente realizável através do java, certo?
    Quais outros complementos vc me indicaria para acrescentar ao jogo?
    Vi falando sobre Ajax e Jquery, o que ainda preciso aprender.
    Deveria seguir por este caminho?
    Agradeço por tudo!

  • Vinícius Godoy de Mendonça
    avatar

    Sim, se você ainda não sabe nada sobre AJAX e JavaScript, comece estudando por aí.

    Se o game é via browser, então o ideal seria procurar uma engine de HTML5, como a Cocos2D-JavaScript ou a ImpacJS.

    Eu por enquanto retiraria o requisito do game ser massivo (e faria só um WBOG). Fazer um game massivo é um desafio muito maior do que parece.

  • Michel Montenegro
    avatar

    Se quer estudar Java para jogos, de uma olhada nesta engine feita em Java.
    Site: http://www.einformacao .com.br/parallax/

    - Free/OpenSource.
    - 100% Java.
    - No site tem 7 vídeos mostrando a engine funcionando e exemplos (Incluso para download).
    - 100% Brasileira.

  • Philipe  - re:
    avatar
    Paulo Escreveu:
    só uma observacao, voce esqueceu de falar do jogo runescape, que é 3D e feito totalmente em JAVA, inclusive com graficos muito avancados, como sombras e efeitos de textura.

    Realmente meu caro!

  • Junior
    avatar

    Texto tendencioso esse! Tenho uma sugestão: Faça dois programas para celula, um chingling qualquer que tenha um JVM para Java e tenha as bibliotecas C++. Celulares Nokia com SO Symbian atendem esse quesito! Faça dois programas, para obter o mesmo resultado. Verá que o que foi feito em C/C++ é muito mais rápido, tem muito mais opções do que o programa feito em Java! Java irrita, trava o programador! C++ foi feito para ser uma ferramenta de programação, e não um estorvo! Java é facil (será?), por que amarra o programador! Não entendo por que o pessoal reclama dos ponteiros de C++ e gava o GC do Java. Hora, cria um objeto "OBJ *novoObj=new OBJ();" e deleta ele "delete noboObj;" nao entendo qual a dificuldade disso! Agora se voce so criar as variaveis loucamente (Em java é feito isso, porque fica nas costas do GC limpar) em c++ sem cuidado, dai ferrou com tudo mesmo! Java é um saco!

  • Vinícius Godoy de Mendonça
    avatar

    Desculpe, mas tendencioso é dizer que uma linguagem é ruim porque "irrita o programador". De qualquer forma, eu preciso mesmo fazer uma revisão desse texto. Hoje não aconselho mais Java para jogos, mas não pelos motivos que você citou.

    Em primeiro lugar, é sim MUITO mais difícil lidar com uma linguagem não-gerenciada, do que com uma gerenciada. Se você olhar os artigos de C++, vai ver conceitos como RAII, Smart Pointers e cuidados diversos com exceções, sequer precisam existir em Java. Sem falar que, por ser uma linguagem antiga, e por ser compilável em muitos lugares, o C++ está cheio de armadilhas e undefined behaviors.

    Em segundo, não sei de onde você tirou que só porque o fulano desenvolveu em C++ o código vai acabar mais rápido. Eu trabalhei com sistemas de tempo real por mais de 6 anos na Siemens, e migrei com sucesso sistemas de C++ para Java, com ganhos significativos de performance. Talvez em micro-códigos ou software muito matemático essa regra valha, mas em sistemas grandes, como jogos, vale mais sua habilidade de identificar gargalos (e isso o Java tem de sobra) do que a velocidade do código executável em si.

    Finalmente, não é porque tem GC que as pessoas criam variáveis loucamente. Pessoas criam variáveis quando precisam das variáveis.

    Os motivos pelos quais eu não aconselharia Java para jogos hoje seriam:
    - Não há interesse da Oracle na área;
    - Não há boas APIs 3D nativas ou suporte a dispositivos de entrada além de teclado e mouse na plataforma (você é obrigado a recorrer a bindings, como a LWJGL);
    - A instalação e manutenção da VM no cliente é difícil;
    - Não há interesse da indústria de consoles na plataforma;
    - Não existe controle sobre o garbage collector.

  • Anônimo
    avatar

    Eu programando em C++ minha carreira toda e declaradamente sendo um hater de Java ( e ainda por cima já tendo diversas conversas com o Vinícius sobre ambas linguagens) não acho o artigo tendencioso justamente por levantar os pontos fortes e fracos do Java.

    Agora C++ é mais complicado sim, isso é fato. A começar, se você acha que o único problema com ponteiros é saber quando fazer um delete, você ainda tem muito o que aprender e vivenciar no c++. Aliás, se delete ainda faz parte do seu dia a dia no C++, realmente, ainda tem muito o que se aprender sobre a linguagem. Ensinar um programador que a cada new tem que existir um delete é algo muito simples, agora ensinar um programador como gerenciar ownership de recursos, como transferir ownership e tudo mais, isso sim leva tempo. A vantagem é que quando ele domina isso ele aprende não apenas a gerenciar memória, mas todo tipo de recurso. E assim chegamos no ponto do Java que me da nos nervos.

    O GC resolve muito bem a questão da memória, mas demais recursos, seja bem vindo ao inferno.

    Agora por outro lado, como é citado no artigo. Tente pegar um programa c++ qualquer, adicionar nele boost::asio com SSL e seja bem vindo ao inferno de compilar e gerenciar dependências em C++, algo que tneho muita inveja do Java. Adicione suporte a múltiplos compiladores no seu projeto e conheça o sexto dos infernos na hora de gerenciar dependências.

    E por fim, querer dizer que devemos usar C++ apenas por causa de desempenho acho um motivo muito fútil. A não ser que seu app atual tenha reais problemas de desempenho, esse é um motivo muito fútil para escolher a linguagem. Tanto que sites como facebook, apenas agora, com milhões de usuários e milhões gastos em datacenter é que estão tendo ganhos reais em trocar para C++ só por causa de desempenho.

  • italo oliveira  - Criarmmorpg online
    avatar

    ola vinicius, eu quero criar um mmorpg no estilo do RuneScape (3d, online, multiplayer, bons graficos,e duelos) o meu jogo tbm sera jogado pelo navegador mas eu estou em duvida de qual linguagem eu uso o java ou o c++. Voce poderia me dizer qual a melhor linguagem, os programas que eu terei de usar e tudo? se vc poder tirar minha duvida eu irei gostar. vlw mano bom topico o seu

  • Anônimo
    avatar

    Se você quer que rode no navegador, java costuma ser uma boa solução.

  • Giusley
    avatar

    muito bom artigo, e os comentários tambem. eu tenho interesse em fazer um jogo simples, similar ao sonic the hedgehog. hoje existem ferramentas para facilitar na criação de jogos, como o game maker, e com a ajuda do macromedia flash player. eu tenho pesquisado e me dedicado em programação apenas por conhecimento, mas depois de 1ano trabalhando apenas com web designer quero dar inicio a minhas ideias e interesse em programar jogos, e acabei ficando em duvida sobre qual conhecimento eu devo adquirir, que vai me ser mais util sendo java, ou C++. eu comecei a fazer um curso on line sobre java, mas a fama do C++ me fez ficar em duvidas..
    foi um ótimo tópico, obrigado.

  • Anônimo
    avatar

    Para gamedev eu considero o C++ infinitamente superior, vai lhe dar mais trabalho, mas é o que lhe da mais opções, a não ser que queira uma ferramenta pronta como um gamemaker.

  • ViniGodoy
    avatar

    Se você é só designer e quer fazer um jogo só pela curtição, eu sugiro pegar algo mais pronto, como a Flixel.

    Se quiser ir para a programação de verdade, e se tornar programador no futuro, você pode usar o C++ (muito superior no caso de jogos, como o Bruno falou) ou o Java, caso seu interesse seja fazer aplicações comerciais corporativas web (não jogos) no futuro.

  • Roberto  - Como sse faz um botao acesso a internet ?
    avatar

    Ola.
    Eu gostaria de saber se você poderia me ajudar a fazer um botão com a cesso a internet ?
    Estou usando o NETBeans v7 e consegui colocar um botao na tela mas o comando para faze-lo acessar a internet eu não sei...pode me ajudar ?
    Outra coisa, eu queria que no celular ficasse um icone com o desenho que eu escolher...tem como ?

    Att. roberto.

  • Yuri  - Plágio
    avatar

    Por favor, denuncie, ameace. Esse site vive disso:
    http://adsdepressao.blogspot.com.br/2013/10/java-no-desenvolvimento-de -jogos.html

  • Michel Montenegro  - Onde posso divulgar minha engine?
    avatar

    Como alguns aqui devem saber o projeto JMMORPG que começou em Jun/2011 evoluiu e virou o Parallax. Já lancei a versão Alpha dele, e ando recebendo bons feedbacks a respeito do projeto. Gostaria de encontrar locais mais específicos de divulgação.


    Caso queiram testar o projeto, abaixo os links:

    Site: Oficial: http://www.einformacao.com.br/

    Download: https://sourceforge.net/projects/parallaxu/files/

    Vídeo Tutorial: https://www.youtube.com/watch?v=7RBCqJegsHw

    Manual: http://ufpr.dl.sourceforge.net/project/parallaxu/Manual_Parallax.pdf (Atualizadíssimo sempre)

  • Vinícius  - Divulgação
    avatar

    Oi Michel,

    Você pode escrever um post detalhando a engine (estilo um postmortem). Ou mostrar alguns tutoriais de uso. Teremos prazer em publicar.

  • Michel Montenegro
    avatar

    Mando para qual email? ^^

    Vou escrever e dar uma olhadas nos já existentes para ter uma ideia do formato.

  • Anônimo
    avatar

    Michel,

    pode enviar para contato@pontov.com.br, que chega para todos revisores do portal.

    É feita uma revisão, e cada caso é um caso. Mas é comum sugerimos melhorias ou mudanças no texto.

    O tema qualquer um relacionado a gamedev é bem vindo, fica a seu critério.

    A maior exigência que fazemos é que o tutorial não seja um mero "dump" de código, mas sim explique os conceitos envolvidos.

    Obrigado!

Escrever um comentário
Your Contact Details:
Gravatar enabled
Comentário:
[b] [i] [u] [url] [quote] [code] [img]   
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch::(:shock:
:X:side::):P:unsure::woohoo::huh::whistle:;):S:!::?::idea::arrow:
Security
Por favor coloque o código anti-spam que você lê na imagem.
LAST_UPDATED2  

Busca

Linguagens

Twitter