Engine para criação de jogos Brasileira em Java - Parallax

Só corrigindo algumas informações. Na PDJ, Java tem 90 tópicos.

O C++, tem os 368 no fórum de C++, mas é necessário somar também os tópicos de APIs específicas de C++.
São eles:

  • 89 tópicos de SDL;
  • 80 tópicos de Allegro;
  • 86 de OpenGL;
  • 32 de DirectX;
  • 25 de Ogre 3D.

O que dá um total de 680 tópicos, aproximadamente 7 vezes e meia o número de tópicos falando de Java. Note que algumas APIs, como SDL e OpenGL tem quase tantos tópicos quanto o próprio Java.

No caso do Ponto V, Java é realmente a segunda linguagem mais visitada, devido a minha grande participação no GUJ, e recomendações constantes nos artigos de Java2D. Entretanto, a maior parte das visitações vindas do Google é no artigo “Conhecendo o JFrame” e geralmente é feita por pessoas querendo aprender a programar em Swing, não jogos. A linguagem mais visitada, para jogos, é disparado o C++, com mais do dobro das visitações. Em segundo lugar, com quase metade dos acessos, temos o Java.

No caso da Unidev, os números se mantém parecidos. Temos 10361 tópicos em C++, 677 tópicos em Direct X, 1198 tópicos em OpenGL, 2163 em Allegro, 576 em SDL, 87 em Ogre3D, 53 em GameSpaceLib, totalizando 15025 tópicos em C++.
Em Java temos 1192 tópicos e mais 52 em Java 3D, totalizando 1244 tópicos (aprox. 12 vezes menos).

Temos que considerar alguns fatores também. No Ponto V, o Java foi uma das primeiras linguagens a ser colocada no portal. Da mesma forma, o C++ foi uma das primeiras linguagens da Unidev e da PDJ. Por isso, o número de acessos tende a ser bem maior. Em termos de tendência, no Ponto V, ainda temos o C++ com o maior número de visitas, seguido do C#. No caso da PDJ, se não fosse pela recente participação do Michel, a linguagem mais visitada ainda seria o C++.

Por mim, esses números tem pouca relevancia. É como confirmar no índice TIOBE, só que com uma base de dados ainda menor, e com uma população viciada, basicamente formada por iniciantes. Por isso, mesmo indicando que o C++ é a linguagem do momento para jogos, peço que desconsiderem, pois esses dados dificilmente representarão a realidade do mercado.

Sobre minha participação ser -1 nessas comunidades. Vale lembrar que sou administrador da PDJ pq ajudo a manter o site no ar.
O mesmo vale para o Ponto V, que foi um site que criei. Existe muito trabalho nos bastidores, para manter tudo isso funcionando.

[quote=victorcosta]Eu não vejo problema nenhum em usar Java para jogos se é a linguagem que a pessoa domina. Possível é, temos para gráficos 2D o Java2D que tem performance mais que suficiente acelerada por hardware e pra gráficos 3D tem a LWJGL que inclusive o Minecraft usa, e eles tão muito bem

É claro que não é a linguagem mais adequada, mas se é possível fazer e o cara domina Java então com certeza vai ser mais fácil fazer em Java do que aprender uma nova linguagem como C++ e novas IDEs. Eu garanto que depois de criada toda a aplicação e montada toda a arquitetura em Java, a menor dificuldade do cara vai ser portar pra outra linguagem como C++

Eu mesmo tenho uma aplicação desktop que quero fazer em C++, mas não sei absolutamente nada de C++ então to fazendo em Java e Swing que domino. Depois de pronta vou portar ela e tenho certeza que vai ser mais fácil portar com um código pronto em Java do que tentar fazer na doida em C++ sem nenhum código pra me basear[/quote]

Você pode desenvolver jogos em qualquer linguagem victor, mas no caso você teria mais dificuldade em usar java nesse segmento porque a plataforma não te oferece bons recursos mutimídia. É uma coisa simples chamada investimento. Eu concordo com o v. godoy nesse quesito. Querer passar uma informação falsa somente por gosto não é justo com quem deseja iniciar ou se estabelecer no segmento de jogos. Não é porque aqui é o GUJ(Grupo de Usuários Java) que deixaria de postar a melhor maneira de solucionar um problema usando a ferramenta mais adequada. Eu trabalho com java também mas prefiro deixar interesses comerciais a parte quando o assunto é estudo, pesquisa e aprendizado.

Por exemplo a microsoft investe no directx(d3d, audio, input), directshow(captura de vídeo, áudio) para ferramentas como c# e c++. Logo a oracle não investe em nada disso a momento para java. Salvo conduto java fx que pode mudar esse quadro. Mas ele anda muito devagar.

O legal a se fazer é pesquisar por si mesmo e ver as limitações e vantagens de cada tecnologia para cada segmento. Essa conversa de time de futebol que acontece aí em cima não leva a lugar algum.

Primeiramente, entrei no tópico pq o autor começou dizendo que “isso mostra que Java não é bom só para web”. Nesse caso, afirmando que o seu projeto é uma prova de Java é bom para games.
Em segundo, pq sendo moderador ou não, tenho o direito de manifestar minha opinião. E não o fiz usando minha posição de moderador, ou dizendo que os usuários de opinião contrária seriam moderados.

Finalmente, não falei em momento nenhum da engine, nem do seu trabalho. Diferentemente do que você fez, não questionei sua capacidade profissional.
Falei apenas de um assunto pontual: o uso da plataforma Java para jogos sérios, profissionais.

[quote=juliocbq]Você pode desenvolver jogos em qualquer linguagem victor, mas no caso você teria mais dificuldade em usar java nesse segmento porque a plataforma não te oferece bons recursos mutimídia. É uma coisa simples chamada investimento. Eu concordo com o v. godoy nesse quesito. Querer passar uma informação falsa somente por gosto não é justo com quem deseja iniciar ou se estabelecer no segmento de jogos. Não é porque aqui é o GUJ(Grupo de Usuários Java) que deixaria de postar a melhor maneira de solucionar um problema usando a ferramenta mais adequada. Eu trabalho com java também mas prefiro deixar interesses comerciais a parte quando o assunto é estudo, pesquisa e aprendizado.

Por exemplo a microsoft investe no directx(d3d, audio, input), directshow(captura de vídeo, áudio) para ferramentas como c# e c++. Logo a oracle não investe em nada disso a momento para java. Salvo conduto java fx que pode mudar esse quadro. Mas ele anda muito devagar.

O legal a se fazer é pesquisar por si mesmo e ver as limitações e vantagens de cada tecnologia para cada segmento. Essa conversa de time de futebol que acontece aí em cima não leva a lugar algum.[/quote]

Por isso que eu disse SE POSSÍVEL (as vezes dependendo da tarefa torna-se inviável devido ao trabalho)

Mas discordo de você, é totalmente possível fazer um jogo em Java. Como já disse pra 2D tem o Java2D, e tem bibliotecas prontas pra som como o JOrbis pra .ogg e JBox2D pra física. Isso já atende a maioria das necessidades. Claro que não é a melhor solução, pois se fosse um jogo web era melhor Flash ou HTML5, ou se desktop C++ pela performance e falta de necessidade de uma VM

OpenGL entra na soma, pois o LWJGL esta atualizado, inclusive é ele quem da suporte atualmente ao “.ogg”.

Ao usar meu texto na integra, foste muito, mas muito descortês, desrespeitoso e agressivo a minha pessoa, se queria criticar de forma genérica não recorte texto ou códigos de um membro que postou algo e use como exemplo pejorativo, porque isto é quase uma agressão direta, é como criticar algo e pessoas apontando o dedo na cara de um dos participantes, nem deve ter percebido como isto suou ofensivo e pessoal, ai sim me obrigaste a pegar e ser direto contigo.

Na área de T.I tenho 14 anos de experiência, com Java desde 2003(10 anos), programava em Clipper, Delphi e VB (usando o Visual Studio) como meu ganha pão no começo de carreira, fora os serviços ao etilo faz tudo bem no começo mesmo “Manutenção, redes, etc.”, depois me envolvi com alguns projetos em C e com certeza em PHP (Vira e mexe estou pesquisando uma tecnologia nova, tanto que minha monografia foi sobre desenvolvimento para o Sistema Brasileiro de TV digital, aonde fiz um protótipo e levei no dia de minha defesa, e ele estava bem melhor do que pode imaginar, mas como era a cunho de pesquisa e queria ver outras coisas não o mantive), comecei a estudar a área de jogos pesadamente faz uns 2 anos e pouco, e também conheço bem o público “o lado cliente”, pois joguei diversos jogos desde MMORPG e Desktop (Age of Mitology, empires, Warcraft, Dota, GuildWars, Lineage, Wow, etc…), então sei e consigo visualizar o que o produto precisa fazer no final, isso inclusive facilitou muito o desenvolvimento da engine. Trabalhei com informações em Java que muito mole chegava aos milhares de registro, pois continha dados de toda vida estatal do Pará. trabalhei para 18 empresas na área de T.I, aos quais tenho otimas relações até hoje, e cada uma em segmentos diferentes ( Frota de Onibus, restaurantes, cooperativas, lojas, industrias, etc.)

  • Minha experiência profissional foi toda no meio corporativo, mesmo minha pós em Engenharia de Sistemas, foi focada neste meio, apesar de minha monografia ser um estudo social/psicológico em cima da atuação dos jogos eletrônicos na vida e evolução social-tecnologica.

O que critiquei, e critico qualquer profissional quando alguém pedir ajuda em algo e não receber esta ajuda, somada a desmotivação induzida ao uso da tecnologia, este tipo de conduta costuma às vezes “matar” tecnologias que poderiam alavancar, nunca se sabe “quem esta perguntando”, poderia ser alguém que poderia dar um ?up? no mesmo. É errado falar de outras tecnologias? Não, desde que pelo menos mate a duvida de quem a levantou na tecnologia pedida. E foste tão reincidente, que não deu para não te criticar forte nisso. Se eu pegar e “linkar” os tópicos em que participas, comentando algo na área de Java, vai notar o quão forte é esta reincidência, não falo isto por raiva ou algo do gênero, pelo contrario, sei ser grato e valorizar o trabalho alheio, principalmente das comunidades que citei aonde você atua, mas da mesma forma te digo que recentemente vira e mexe recebo por email perguntas e boa parte deles durante as conversas, quando questiono sobre procurar algumas comunidades Java, recebo uma reclamação da desmotivação que outros põe em cima, e quando falo de nomes, tu viny, esta quase sempre sendo indicado como um desmotivador top-list, “Viny postou? pqp já vai criticar a linguagem e vender outro produto”, eu que sei o que eles passaram pois até hoje ainda passo, sei como isto é chato, quando questionamos algo em Java, queremos a solução Java, se vier agregada de outra solução não Java ótimo, se não fica sem sentido fazer perguntas no GUJ ou outro tópico Java, pela tua experiência na área de jogos ser maior e ser moderador daqui e de outras comunidades Java, já devias saber que isso é básico. Pode expressar tua opinião pode, mas como disse te ver em um topico de jogos é saber o que esperar ou melhor “não esperar”, entende isto? Para e reflita pela otica de quem vem pedir ajuda/auxilio e reflita sobre a impressão que causa (“Ele sabe e não ou quer contribuir, por não gostar de Java”, mesmo que diga que adora Java ou odeia não muda o fato da pessoa sair daqui com mais duvidas do que quando entrou e pior, já com vontade de “largar a comunidade” por assim dizer). Sei que podes ajudar muito mais, que podes fazer uma diferença forte aqui, mas quando se fala de jogos em Java nas comunidades Java, esta um verdadeiro advogado do diabo. Por favor tente entender, não falo de ti pessoa, mas de ti auxiliador, seja por moderação ou mais experiencia.

Quer um exemplo?
“Como faço um sistema de movimento em Java”
Resp:
“Olha tem estas tecnologias que podem te ajudar, aqui tem um código que faz o que quer ou parecido. blá blá blá”
“Mas vou te dar um forte conselho se teu alvo for …, use tecnologia tal, veja um exemplo do mesmo trabalho nesta tecnologia.”

Sentiu a diferença?
É coisa boba, mas que faz toda a diferença.

Viste que de novo colocou palavras em minha boca? Em momento algum disse que Java era a solução para todos os problemas, mas sim que é possível e pode ser feito, usando binding ou outros recursos? Sim, pode sim, tanto que o Parallax é a prova cabal disto, em nenhum momento falei que Java era uma solução melhor que XXXX para Windows (Vira e mexe em outras comunidades e listas Java sofre este tipo de coisa, mas ainda sim é usada).

O autor do tópico fez uma afirmativa certa, quando falou sobre desktop, no sentido de poder ser feito, até onde vi não encontrei um real limitador para Java em ambiente desktop, te lembra que tu mesmo me encheu de medo sobre trabalhar com som, lá no ponto V? e foi uma das primeiras coisas que coloquei para funcionar, se analizar o genero de jogo que escolhi para que a engine cria-se, não tenho uma real nescessidade de imbutir controles como joysticks justamente pela cultura deste mundo (Sim, pesquisei antes, justamente por saber que não posso chegar de dois pés com Java, então humildemente fui estudando alternativas que pudessem tornar o projeto algo de sucesso, me valendo dos pontos fortes que a tecnologia oferece).

E entendo a euforia do autor, se eu encontro alguém que como eu ajuda-se de forma direta, no que se refere a tecnologia Java, ia pular de alegria, o mais importante não foi o que conceituei, foi o que mostrei funcionando, expliquei as dificuldades as facilidades, com tudo isto ele analisou e tirou suas próprias conclusões, por isto disse que não precisava chegar de dois pés, no rapaz e nem fazer o que fez (Falei no 2° Paragrafo).

Eu sou o tipo de profissional que escuta o que os outros falam, leio e analizo e faço algo acontecer, não sou um “coordeiro” e nem um do “contra”, o que venho observando durante o decorrer do projeto que a coisa não é assim não, é verdade que a Oracle para jogos eletronicos esta sendo um do contra, mas como disse tem aqueles que usam solução dos outros e tem os que fazem soluções, eu estou evoluindo uma solução, que pode até ser portada não em linguagem, mas conceitualmente para outro ambiente depois ( Lembrei do Artemis, que tem a versão em C++ agora, rsrsrs… ).

Viny agradeço o convite , apesar de estar ao menos por hora com o tempo apertado, posso fazer alguns artigos para o ponto V por exemplo tranquilamente, falando sobre as tecnologias que uso, sou a favor de ajudar sempre que possível e viável claro, só me add como autor para poder fazer um artigo.

Qualquer coisa me adicione E-mail/Msn/GoogleTalk: michel.montenegro@gmail.com

E aceito qualquer colaboração, no projeto mesmo os não tecnicos (rsrsr…).
Espero que fale bem do projeto para teus alunos. ( rsrsr… )

Se vocês quiserem ver o que já existe pronto e o que pode fazer, além dos 4 vídeos no site, só seguir o tutorial aqui em downloads, qualquer coisa o meu contato esta aqui (postado acima).
http://www.einformacao.com.br/parallax/downloads/projeto

Ps1: Já subi para um SVN o projeto, mas estou analisando a possibilidade de usar Git, cheguei a por, mas teve alguns colaboradores que andaram apanhando e como já é difícil ter ajuda, acho que devo manter no svn, assim que disponibilizar de vez, o código já oficializando git ou svn eu aviso.

Ps2: Sei que vai haver comentários de desenvolvedores positivos ou negativos, mas antes de qualquer coisa olhem o projeto, baixem o exemplo, vejam os vídeos, leiam, ai sim podem falar até quem sabe dar um apoio construtivo com propriedade o mesmo.

Para finalizar, só reclamei da grosseria, mesmo que não proposital e do que foi repetitivo/incidente na postura em relação a Java na comunidade Java, no sentido de apoio, fora isto não tenho do que falar (Não que recorde agora hahaha…). Se olhar não é nada grave ou que mate, mas são pequenas coisas que acumuladas viram grandes, nunca deixem de olhar pela ótica da pessoa que esta do outro lado da bancada e nem todo curioso na área de Jogos é um curioso em Java, coisas bobas, mas ao menos deu para ter uma conversa sadia, mesmo que tenha tido seus momentos de fervor.

[quote=victorcosta][quote=juliocbq]Você pode desenvolver jogos em qualquer linguagem victor, mas no caso você teria mais dificuldade em usar java nesse segmento porque a plataforma não te oferece bons recursos mutimídia. É uma coisa simples chamada investimento. Eu concordo com o v. godoy nesse quesito. Querer passar uma informação falsa somente por gosto não é justo com quem deseja iniciar ou se estabelecer no segmento de jogos. Não é porque aqui é o GUJ(Grupo de Usuários Java) que deixaria de postar a melhor maneira de solucionar um problema usando a ferramenta mais adequada. Eu trabalho com java também mas prefiro deixar interesses comerciais a parte quando o assunto é estudo, pesquisa e aprendizado.

Por exemplo a microsoft investe no directx(d3d, audio, input), directshow(captura de vídeo, áudio) para ferramentas como c# e c++. Logo a oracle não investe em nada disso a momento para java. Salvo conduto java fx que pode mudar esse quadro. Mas ele anda muito devagar.

O legal a se fazer é pesquisar por si mesmo e ver as limitações e vantagens de cada tecnologia para cada segmento. Essa conversa de time de futebol que acontece aí em cima não leva a lugar algum.[/quote]

Por isso que eu disse SE POSSÍVEL (as vezes dependendo da tarefa torna-se inviável devido ao trabalho)

Mas discordo de você, é totalmente possível fazer um jogo em Java. Como já disse pra 2D tem o Java2D, e tem bibliotecas prontas pra som como o JOrbis pra .ogg e JBox2D pra física. Isso já atende a maioria das necessidades. Claro que não é a melhor solução, pois se fosse um jogo web era melhor Flash ou HTML5, ou se desktop C++ pela performance e falta de necessidade de uma VM

[/quote]

Pois é, mas não foi o que eu disse no post que vc comentou!?

O problema do java 2d é que é lento comparado com o prism que provavelmente irá substituílo daqui a um tempo, e está presente no java fx. Usar java 2d não gera tão bons resultados como o prism.

Uma questão é importante e que isto é vital, quando falamos de Jogos em Java, é o fator, estilo de jogo e recursos dísponiveis.

Foi inclusive o que analizei e venho analizando no projeto Parallax, justamente por conhecer seus limitadores, estou caminhando dentro do que o ambiente pode me proporcionar com qualidade, enquanto estiver atendendo a demanda esta otimo, se em algum ponto não tiver jeito, ai não tem como não portar para outra solução tecnologica, mas até o memento esta sendo bem tranquilo, mas isto porque analisei os dois fatores estilo de jogo e recursos dísponiveis.

Incrivel quando falam de HTML5 penso no pessoal do Flex pulando das cadeiras e chutando o PC, de tanta briga que presenciei por conversas religiosas entre os dois (Tipo: “HTML 5 vai acabar com flex, vocês já eram!”) hehehe…

[quote=Michel.Montenegro]Uma questão é importante e que isto é vital, quando falamos de Jogos em Java, é o fator, estilo de jogo e recursos dísponiveis.

Foi inclusive o que analizei e venho analizando no projeto Parallax, justamente por conhecer seus limitadores, estou caminhando dentro do que o ambiente pode me proporcionar com qualidade, enquanto estiver atendendo a demanda esta otimo, se em algum ponto não tiver jeito, ai não tem como não portar para outra solução tecnologica, mas até o memento esta sendo bem tranquilo, mas isto porque analisei os dois fatores estilo de jogo e recursos dísponiveis.

Incrivel quando falam de HTML5 penso no pessoal do Flex pulando das cadeiras e chutando o PC, de tanta briga que presenciei por conversas religiosas entre os dois (Tipo: “HTML 5 vai acabar com flex, vocês já eram!”) hehehe…[/quote]

o problema do flex era ser uma tecnologia fechada enquanto a html5 é aberta e mais acessível. A adobe acabou doando flex para apache. Esse é um detalhe que pode decidir a vida de um projeto.

A oracle liberou o jfx e agora é opensource. Se ele der certo vai trazer o java para o desktop com muitos recursos(3d, aúdio e vídeo) de desempenho de hardware.

Minha experiencia com algumas linguagens como Delphi/VB/Python/C/C++/C# e Java me remete a pensar: Realmente, o que daria pra fazer um game sem problemas usando apenas a linguagem do inicio ao fim, o C++ é o que mais acho pessoas falando ou citando tanto no Brasil como fora do Brasil.

Sou apenas um estudante na área de games como ja disse antes, estou reunindo e tentando entender como começar e ja deixo claro não quero por enquanto usar nada de Engine quero entender em um todo, o começo, o que é preciso, como iniciar um projeto, como fazer para que meus personagens ganhem vida, como criar meus cenarios, colisoes, etc…etc…etc…etc…etc…, nada de engine ou coisas assim, e ao que percebi eu preciso reaprender a desenvolver pois o conceito de games não passa nem de perto a desenvolvimento Web ou Desk.

Muitas pessoas me disseram “Não use Java para games, use C++ ou C#”, eu havia simplesmente ignorado o Java e estava reunindo materiais em C++ e C#, inclusive o Ponto V tem uma gama de exemplos em C# que me ajudaram muito e tambem o Sr. Camello com seus posts em seu blog mostrando desde o inicio como usar XNA, aqui: http://camelloxna.blogspot.com/

Quando vi o projeto Parallax e o criador me disse: “Isso é Java”, eu fiquei bobo e corri atras pra saber sobre isso e pensei: “Aff, e agora, Java ou C++” sim, pq M$ com seu C# XNA é tensa, lembro bem o que fizeram com desenvolvedores VB6 quando anunciaram seus .Net e ainda agora com Win8 dizem nao rodar XNA. Mas o fato foi que a noticia de dizer que o Parallax usava Java me fez sorrir novamente pois até mesmo pra C++ estava dificil reunir documentação e tutoriais e essa noticia me fez pesquisar mais sobre Java com Slick2D e LWJGL.

Como disse, minha experiencia com games é ZERO, nao sei nada mas quero aprender, vou apanhando e aprendendo o que precisava é do Norte que o Michel me ajudou a encontrar e entender que com Java é possivel. O que procuro é o conceito, como fazer, como iniciar como criar algo e acredito eu que com Java eu irei conseguir isso e futuramente quando perceber alguma dificuldade eu ja terei uma base para migrar para outra linguagem qualquer, pois o conceito ja foi adquirido. Fiz isso com sistemas Desktop migrando VB/Delphi para Java ou C++, entaum acredito que o importante é o conceito, o ponto inicial, o resto independe da linguagem pois ja esta definido o inicio/meio e fim do projeto, e é isso que estou tentando levantar em minhas pesquisas.

Novamente, agradeço a todos pelos esclarecimentos e principalmente ao Sr.Michel que esta me ajudando bastante nesse inicio quase frustado pelo “Java nao e boa pra criar games”. Pela história dos games o C/C++ é dominante, mas realmente o começo pra quem não sabe nada em qualquer linguagem que seja é muito dificil, chega a ser tenso. Mas escolhi aprender como fazer e tenho que lidar com as dificuldades seja la qual for a linguagem escolhida.

obrigado.

Java2D é acelerado por hardware, qualquer PC com uma placa decente de vídeo roda o jogo a 60 fps com a janela maximizada. No meu PC mesmo dá uns 3000 fps acho

É acelerado mas não faz metade do que o prism faz, inclusive o 3d. Existem bugs que até hoje não foram corrigidos no java 2d, como o fato da imagem(VolatileImage ou BufferedImage que escrevem na memória da placa de vídeo) perder sua referência na placa aceleradora. A falta de sincronismo deixa o resultado como se fosse pintado pela api do windows, ou seja acelerado por software(lento em poucas palavras).

[quote]There are some severe problems associated with the internal implementation of BufferedImage which make using them very tricky if you want to get the best performance. The problem lies with managed images, and this note attempts to put into writing what I’ve found out about them to save other people from going through the same pain.
[/quote]
http://www.jhlabs.com/ip/managed_images.html

Esse problema já é bem velho.

Mas é como falei desde o início. A plataforma Java não atende a tudo.

Você é obrigado a recorrer a bindings.

Em momento nenhum falei que alguém é impossibilitado de fazer coisas usando esses bindings. Uma vez no C++, o céu é o limite.

Porém, existem custos e riscos associados a isso:

  • Você não poderá mais rodar sua aplicação em qualquer local onde tenha uma VM: Para isso, você terá que reescrever o binding;
  • Parte de seu projeto depende de código C ou C++;
  • Você deve aumentar os testes em outras plataformas;
  • Você agora está apostando não só no Java, mas nos fabricantes de todos os bindings envolvidos no seu projeto.

Falar que você pode fazer funcionar na linguagem é fácil. Pois como já argumentamos em outro post, é possível fazer funcionar qualquer coisa, em qualquer linguagem. Especialmente se você incluir projetos híbridos, com os bindings, na jogada. Acho que isso é um ponto pacífico e ninguém discorda dessa afirmação.

Agora, fazer algo funcionar, com custo adequado, gerenciando riscos, entendendo trade-offs e no final dar lucro é que é o grande problema. E, no caso específico do Java, fazer um game usando 100% de Java puro (ou APIs escritas em java puro) é extremamente limitante. E incomparavelmente inferior ao que se pode fazer em outras plataformas.

[quote=ViniGodoy]Mas é como falei desde o início. A plataforma Java não atende a tudo.

Você é obrigado a recorrer a bindings.

Em momento nenhum falei que alguém é impossibilitado de fazer coisas usando esses bindings. Uma vez no C++, o céu é o limite.

Porém, existem custos e riscos associados a isso:

  • Você não poderá mais rodar sua aplicação em qualquer local onde tenha uma VM: Para isso, você terá que reescrever o binding;
  • Parte de seu projeto depende de código C ou C++;
  • Você deve aumentar os testes em outras plataformas;
  • Você agora está apostando não só no Java, mas nos fabricantes de todos os bindings envolvidos no seu projeto.

Falar que você pode fazer funcionar na linguagem é fácil. Pois como já argumentamos em outro post, é possível fazer funcionar qualquer coisa, em qualquer linguagem. Especialmente se você incluir projetos híbridos, com os bindings, na jogada. Acho que isso é um ponto pacífico e ninguém discorda dessa afirmação.

Agora, fazer algo funcionar, com custo adequado, gerenciando riscos, entendendo trade-offs e no final dar lucro é que é o grande problema. E, no caso específico do Java, fazer um game usando 100% de Java puro (ou APIs escritas em java puro) é extremamente limitante. E incomparavelmente inferior ao que se pode fazer em outras plataformas. [/quote]

Para games, até mesmo para quem esta comecando e nao tem base nenhuma de como comecar vc recomenda o C/C++ ??? Pelas minhas pesquisas encontro muita gente dizendo: “Use C/C++, esqueça as outras”, tenho mais tempo de codigos em C/C++ do que em Java mas a transição de desenvolvimento corporativo Desktop/Web para games é complicadissima pois tem-se uma maneira de fazer para uma totalmente diferente de tudo que ja vi.

Pelo visto, e pelos posts que ja encontrei tanto a nivel Brasil como fora do Brasil recomendam-se sempre usar C/C++ mas nao se encontra nada do tipo: How to use C++ and Direct or OPenGL. Encontra-se muita teoria de tudo e muito pouca pratica. Estou estudando para conseguir criar em Java para talvez consiga estender isso até o C/C++ futuramente. Como eu disse, preciso entender para criar e a curva esta fechada…kkkk !

obrigado

[quote=fernandopaiva][quote=ViniGodoy]Mas é como falei desde o início. A plataforma Java não atende a tudo.

Você é obrigado a recorrer a bindings.

Em momento nenhum falei que alguém é impossibilitado de fazer coisas usando esses bindings. Uma vez no C++, o céu é o limite.

Porém, existem custos e riscos associados a isso:

  • Você não poderá mais rodar sua aplicação em qualquer local onde tenha uma VM: Para isso, você terá que reescrever o binding;
  • Parte de seu projeto depende de código C ou C++;
  • Você deve aumentar os testes em outras plataformas;
  • Você agora está apostando não só no Java, mas nos fabricantes de todos os bindings envolvidos no seu projeto.

Falar que você pode fazer funcionar na linguagem é fácil. Pois como já argumentamos em outro post, é possível fazer funcionar qualquer coisa, em qualquer linguagem. Especialmente se você incluir projetos híbridos, com os bindings, na jogada. Acho que isso é um ponto pacífico e ninguém discorda dessa afirmação.

Agora, fazer algo funcionar, com custo adequado, gerenciando riscos, entendendo trade-offs e no final dar lucro é que é o grande problema. E, no caso específico do Java, fazer um game usando 100% de Java puro (ou APIs escritas em java puro) é extremamente limitante. E incomparavelmente inferior ao que se pode fazer em outras plataformas. [/quote]

Para games, até mesmo para quem esta comecando e nao tem base nenhuma de como comecar vc recomenda o C/C++ ??? Pelas minhas pesquisas encontro muita gente dizendo: “Use C/C++, esqueça as outras”, tenho mais tempo de codigos em C/C++ do que em Java mas a transição de desenvolvimento corporativo Desktop/Web para games é complicadissima pois tem-se uma maneira de fazer para uma totalmente diferente de tudo que ja vi.

Pelo visto, e pelos posts que ja encontrei tanto a nivel Brasil como fora do Brasil recomendam-se sempre usar C/C++ mas nao se encontra nada do tipo: How to use C++ and Direct or OPenGL. Encontra-se muita teoria de tudo e muito pouca pratica. Estou estudando para conseguir criar em Java para talvez consiga estender isso até o C/C++ futuramente. Como eu disse, preciso entender para criar e a curva esta fechada…kkkk !

obrigado

[/quote]

A culpa disso são os fóruns brasileiros. A maioria deles nunca é transparente e sempre tem o problema de “sonegar informação”. A ogre 3d por exemplo é muito bem documentada, e tem um monte de exemplos lá.

http://www.ogre3d.org/

Também possui mapeamentos pra java.

Eu comecei estudando pelo Java, e não me arrependo. Não recomendo o c++ de cara pq é uma linguagem bem complexa, e isso pode ser um tanto frustrante. Uma opção similar ao Java é o c# + xna. Agora vai muito dos seus objetivos se for ir para o exterior, você terá que encarar c++ cedo ou tarde.

Opa Vini, como disse antes tenho um conhecimento e horas de linhas de código maiores em C++ q em Java, em C++ fiquei uns 8 anos mais ou menos em Java faz 5 q estou, entaum o problema msm seria entender como funciona criar os games…C# com XNA acho uma otima pedida mas pelo que ja andei lendo por ai o Win8 ja naum dara mais suporte a XNA, bem coisa da M$ isso msm, nao da a minima pra quem usa suas plataformas.

Mas vou na batalha, tentar entender e estudar pra sacar como se produz tudo e a linguagem acho eu que depois de entender sera o de menos.

obrigado

[quote=Michel.Montenegro]


Aos outros membros do fórum peço desculpas se fui um pouco forte em minhas colocações ou um tanto rude, mas já vi isto aqui e fora daqui tantas vezes (pela mesma pessoa), que não poderia deixar passar isto, e por favor sintam-se a vontade para comentar sobre coisas pertinentes e de forma construtiva ao rapaz que criou o tópico, e peço desculpas inclusive a ele, por ter sido mais energético aqui.

Um fraternal abraço[/quote]

Rude? Desculpe, mas como criador da engine, você foi muito, muito deselegante, partindo para o pessoal ao invés de argumentar

Parabéns pelo esforço e dedicação na criação da engine, mas críticas são o que nos fazem crescer e melhorar. Você não pode se colocar acima das críticas apenas porque fez um trabalho duro e o disponibilizou à comunidade.

[quote=blackforce][quote=Michel.Montenegro]


Aos outros membros do fórum peço desculpas se fui um pouco forte em minhas colocações ou um tanto rude, mas já vi isto aqui e fora daqui tantas vezes (pela mesma pessoa), que não poderia deixar passar isto, e por favor sintam-se a vontade para comentar sobre coisas pertinentes e de forma construtiva ao rapaz que criou o tópico, e peço desculpas inclusive a ele, por ter sido mais energético aqui.

Um fraternal abraço[/quote]

Rude? Desculpe, mas como criador da engine, você foi muito, muito deselegante, partindo para o pessoal ao invés de argumentar

Parabéns pelo esforço e dedicação na criação da engine, mas críticas são o que nos fazem crescer e melhorar. Você não pode se colocar acima das críticas apenas porque fez um trabalho duro e o disponibilizou à comunidade.

[/quote]
blackforce, obrigado! :smiley:

Só leia todos os textos e principalmente o contexto (note a palavra reincidência, etc.) com calma. Só respondi a uma grosseria, ao que foi escrito depois pelo viny, não foi intencional, logo de minha parte esta tudo bem, tanto viny como eu acredito que tenhamos nos entendido, então por mim passei uma borracha. Em relação ao autor do tópico, ele mesmo concordou comigo, pois falei diretamente com ele depois, caso ele achasse algo ruim, eu mesmo teria deletado, relaxa às vezes o animo esquenta um pouco, o importante é o que tiramos de positivo. :wink:

:arrow: Mas antes que o tema se torne o “ba fá fá que rolou” e nem foi lá estas coisas ( rsrsr…), vamos contribuir com o fernandopaiva com informações, ele esta procurando materiais e esta bem difícil, tanto em C++ como Java a respeito do assunto, ele esta estudando algo que passei para ele, mas quanto mais materiais melhor. O pior que material no Geral é difícil de garimpar seja em qual tecnologia for.

Pense na dificuldade em achar material de ?conceito de criação de quest?, ?táticas usadas em …?, simplesmente não tem ou quando tem é um retalho bem miudinho, garimpamos carvão e fazemos força até virar diamante ( rsrsr… )

[quote=Michel.Montenegro][quote=blackforce][quote=Michel.Montenegro]


Aos outros membros do fórum peço desculpas se fui um pouco forte em minhas colocações ou um tanto rude, mas já vi isto aqui e fora daqui tantas vezes (pela mesma pessoa), que não poderia deixar passar isto, e por favor sintam-se a vontade para comentar sobre coisas pertinentes e de forma construtiva ao rapaz que criou o tópico, e peço desculpas inclusive a ele, por ter sido mais energético aqui.

Um fraternal abraço[/quote]

Rude? Desculpe, mas como criador da engine, você foi muito, muito deselegante, partindo para o pessoal ao invés de argumentar

Parabéns pelo esforço e dedicação na criação da engine, mas críticas são o que nos fazem crescer e melhorar. Você não pode se colocar acima das críticas apenas porque fez um trabalho duro e o disponibilizou à comunidade.

[/quote]
blackforce, obrigado! :smiley:

Só leia todos os textos e principalmente o contexto (note a palavra reincidência, etc.) com calma. Só respondi a uma grosseria, ao que foi escrito depois pelo viny, não foi intencional, logo de minha parte esta tudo bem, tanto viny como eu acredito que tenhamos nos entendido, então por mim passei uma borracha. Em relação ao autor do tópico, ele mesmo concordou comigo, pois falei diretamente com ele depois, caso ele achasse algo ruim, eu mesmo teria deletado, relaxa às vezes o animo esquenta um pouco, o importante é o que tiramos de positivo. :wink:

:arrow: Mas antes que o tema se torne o “ba fá fá que rolou” e nem foi lá estas coisas ( rsrsr…), vamos contribuir com o fernandopaiva com informações, ele esta procurando materiais e esta bem difícil, tanto em C++ como Java a respeito do assunto, ele esta estudando algo que passei para ele, mas quanto mais materiais melhor. O pior que material no Geral é difícil de garimpar seja em qual tecnologia for.

Pense na dificuldade em achar material de ?conceito de criação de quest?, ?táticas usadas em …?, simplesmente não tem ou quando tem é um retalho bem miudinho, garimpamos carvão e fazemos força até virar diamante ( rsrsr… )[/quote]

Exatamente, eu mesmo ja participei de várias discussões aqui e em outros fórums desde Windows passando por BSDs e Linux até Java/C++/Python/Ruby/Delphi etc…etc…etc…O fato é que estou procurando documentação e só de saber que com Java tem um jeito de fazer ja me deixa feliz.
Nesse fds nem deu pra ler muita coisa, estou desenvolvendo uma app para Android entaum ta me consumindo o tempo e ainda faculdade é mais tenso ainda…kk !!

Mas é isso, eu quero aprender como desenvolver games e ja levantei muita doc em C++/Java e Python(PyGame + Blender)…vamos ve no q vira…Aguardem os proximos capitulos…kkkkk !

[]s a todos e obrigado.

Este artigo sobre o Minecraft (Feito em Java), é ótimo, fala sobre como um jogo com gráficos ruins, chegando a ser “bagunçado”, conseguiu ser tão forte, e ser sinônimo de sucesso, no quesito jogos em Java. Um game que tinha tudo para dar errado, deu certo, as vezes ou quem sabe quase sempre o divertimento é a verdadeira receita do sucesso, sempre tem exceções, mas o fato é, jogamos o que achamos divertido, o que ele tinha/tem de tão especial. :wink:

http://cosmiceffect.com.br/2012/03/12/minecraft-o-software/

Boa leitura.