Desenvolvimento de Jogos com JavaFX

Galera, to precisando ouvir algumas opiniões de vcs…

Estou interessado em desenvolver jogos online (estilo jogo de carta), onde o usuario tem q ter uma conta e pode jogar sozinho ou com outras pessoas!

Porem nao sei nem por onde começar, dei uma pesquisada e parece que o javaFX é bem robusto e fácil de trabalhar!

Alguém tem alguma dica, ou algo para que eu comece a ir atras?

[]'s

Veja este video,

O Poder do JavaFX > http://javaaberto.blogspot.com.br/2012/09/o-poder-do-javafx.html

Este link mostra exemplos funcionais de timeline usando javafx 2, isso pode ajudar na sua criatividade, ajudou na minha.

http://download.oracle.com/otndocs/products/javafx/2.2/samples/Ensemble/index.html

Para esse tipo de jogo, eu consideraria já investir em HTML5. Até você vencer a curva de aprendizado, o padrão já estará pronto.

Assim você não dependerá de instalação de VM e terá suporte em todos os dispositivos que rodam browser.

O problema de usar HTML5, é o bendido IE, pois ainda uma grande gama de usuários usa XP (eu por exemplo), e o GRANDE IGNORANTE Microsoft, só atualizou o navegador para o xp até a versão 8, e todos nós sabemos que o IE 8 não roda CSS3, nem HTML5.

Se você desenvolver usando HTML5 se restringirá para um numero limitado de usuários, fiquei sabendo que existem alguns atributos do HTML5 e CSS3 que não rodam no IE 9 e 10. que maravilha…

Existe sim de que o usuário use outro navegador, porém existe um número de pessoas que não se disvinculam do ie.

Então se deseja realmente desenvolver jogos sem ter dor de cabeça lá pra frente, pode desenvolve-los usando jquery.

dei uma pesquisada no google e achei sem muito esforços este link

ele mostra sites com exemplos e link para ferramentas para desenvolvimento de jogos usando jquery

http://www.emanueleferonato.com/2010/04/13/17-jquery-powered-web-games-with-source-code/

Mais para mim eu acho muito mais vantagem investir no javafx, além que conhecimento nunca é d+, e concerteza você ficará fera nos recursos gráficos que o javafx tem a oferecer.

Eu vejo grande potencial no javafx, pela sua facildade de criar estruturas visuais que era o que esta faltando no java.

O JavaFX será limitado em vários dispositivos: Tablets, Windows 8, etc… Sem falar que você delega ao usuário a instalação da VM, o que é uma tarefa um tanto estressante.
Não dou muito tempo para plataformas como ele e o silverlight começarem a ser demonizados assim como o flash foi.

Além disso, é uma questão de tempo até o IE atualizar seu navegador.

Dizer que “conhecimento nunca é D+” é um argumento inútil. Por ele você investe em “qualquer coisa”, pois tudo gerará conhecimento.

É melhor dar argumentos técnicos, tais como:
A desvantagem do HTML5 é realmente o fato dele não estar pronto. Aí, você esbarra nas limitações do IE e em diferenças entre os navegadores.
Há problemas também no suporte ao som, que ainda não foram bem resolvidos (embora a tag audio deva ser suficiente para um game de cartas).

O ideal, se for realmente investir em HTML5, é procurar uma engine como a cocos-javascript o a melon-js.

JavaFX é Java, com ele você vai reforçar seu conhecimento no “Java Core” de qualquer forma, vale a pena.

Outra coisa, JavaFX é Java Embarcado também e JavaSE. JavaSE está emagrecendo e os dispositivos móveis melhorando em processamento. Veja JavaFX no BeagleBoard:

A Oracle não vai parar de investir no bichinho e no Java 9 vai se tornar uma especificação aberta.

Minha sugestão é:

Aprenda os dois, pois vai reforçar seus conhecimentos Java com JavaFX e ainda fazer algo interessante, como um jogo. Veja a série sobre games do Carl Dea:

http://carlfx.wordpress.com/

Agora, o HTML não há nada de tão complicado nele, de verdade. Não sei qual o mistério nisso. É uma tecnologia lado cliente, tem muito material de estudo e coisa pronta na internet. As bibliotecas Javascripts são centenas, mas tem um ponto legal nisso: elas só fazem sucesso se forem fácil de usar(entre outros fatores), e no geral são simplíssimas! Não sei o porquê de tanta discussão!


Se precisar de ajuda com JavaFX só avisar no nosso grupo:

https://groups.google.com/forum/?fromgroups#!forum/javafx-br

Ou aqui mesmo no fórum. Mas entra no grupo, vira e mexe postamos notícias lá...

Voltando a esse tópico anos depois, eu gostaria de dizer que comecei uma série de artigos sobre Jogos em JavaFX. É bem básico, mas serve para quem está começando criar alguns joguinhos legais. E hoje o JavaFX roda em celular, etc…

[quote=Jesuino Master]Voltando a esse tópico anos depois, eu gostaria de dizer que comecei uma série de artigos sobre Jogos em JavaFX. É bem básico, mas serve para quem está começando criar alguns joguinhos legais. E hoje o JavaFX roda em celular, etc…


[/quote]

Legal. Qual celular que roda JavafX?

Estou querendo comprar um…

[quote=ImpossiveI][quote=Jesuino Master]Voltando a esse tópico anos depois, eu gostaria de dizer que comecei uma série de artigos sobre Jogos em JavaFX. É bem básico, mas serve para quem está começando criar alguns joguinhos legais. E hoje o JavaFX roda em celular, etc…


[/quote]

Legal. Qual celular que roda JavafX?

Estou querendo comprar um…[/quote]
Podem rodar através de projeto que faz o porte. Só não sei se podem fazer acesso nativo a API, senão vira uma aplicação limitada não aproveitando recursos nativos.

Mas independente de qualquer coisa, é coisa de fã de Java insistir na tecnologia para aplicações do tipo. JavaFx é fora de cogitação.

Bom, sou do time que cada um programa no que achar melhor e evito impor minhas preferencias, mesmo que uma solução não seja a melhor, não significa que seja ruim de cara. Se existisse soluções únicas pra todos governar, não existiram tantas linguagens assim.

Raramente eu discordo de você em algum ponto. Mas nesse caso, eu discordo veementemente.

Muitas opções são ruins de cara. E o fato de existirem várias linguagens é justamente para que umas sejam mais adaptadas para determinadas tarefas do que outras.

Tente programar jogos em PHP, ou em Java SE, e você achará muitas limitações - o que tornam elas plataformas ruins “de cara”. Tente escrever uma página web em C++, e você verá que o suporte é muito pequeno e trabalhoso. Tente escrever um microkernel usando C#, e você será um herói se sequer conseguir fazer um programa rodar.

As varias opções são justamente a prova de que alguma linguagem ou plataforma não estava atendendo em algum aspecto, e fomos obrigados a criar outras.

É como tentar cortar carne com uma faca de passar manteiga. Pode até ser sua faca favorita, mas não serve para cortar carne.

Mas como falei, se você vai se posicionar contra ou a favor, é melhor fazer com argumentos técnicos. Não argumentos passionais como “é uma plataforma super usada!”, ou “é a que eu mais gosto de programar!”

Não costuma ficar discutindo nesses posts porque o resultado é o mesmo: posts gigantescos com réplicas e tréplicas pra ninguém convencer ninguém até que um dos lados cansa e para de postar. Mas vamos lá:

Não acredito em solução única nem que existe um motivo único pra existir mais de uma linguagem. Tem muitas que surgem simplesmente por modismo, ego, gosto ou estratégia comercial também. Generalizar pelo excesso ou pela falta chegamos a conclusão que é ruim, mas o mundo já mostrou que não é preto e branco, existe uma infinidade de tons onde cada um vai para um subconjunto de opções. Nós de exatas é que temos uma tendência de ver a coisa mais objetiva.

Seria uma opção minha, pra começo de conversa. E dependeria do jogo, da página web ou do microkernel. Argumento técnico não é o único motivo. O fato de usar uma solução que não é a melhor tecnicamente não significa que ele está dizendo que ela É A MELHOR ou está tentando convencer alguém. E novamente, a História está cheia de pessoas que encontraram ótimas soluções justamente por ter ido pelo ‘pior caminho’. Sem contar o clássico ‘por que ele pode’. Com certeza não existirá um Crysis (sei lá como escreve) pra JavaSE, ou mesmo um grande jogo, pelo menos não no estágio que a plataforma se encontra hoje. Mas ninguém falou que o objetivo é esse.

[quote=marcosalex]Não costuma ficar discutindo nesses posts porque o resultado é o mesmo: posts gigantescos com réplicas e tréplicas pra ninguém convencer ninguém até que um dos lados cansa e para de postar. Mas vamos lá:

Não acredito em solução única nem que existe um motivo único pra existir mais de uma linguagem. Tem muitas que surgem simplesmente por modismo, ego, gosto ou estratégia comercial também. Generalizar pelo excesso ou pela falta chegamos a conclusão que é ruim, mas o mundo já mostrou que não é preto e branco, existe uma infinidade de tons onde cada um vai para um subconjunto de opções. Nós de exatas é que temos uma tendência de ver a coisa mais objetiva.

Seria uma opção minha, pra começo de conversa. E dependeria do jogo, da página web ou do microkernel. Argumento técnico não é o único motivo. O fato de usar uma solução que não é a melhor tecnicamente não significa que ele está dizendo que ela É A MELHOR ou está tentando convencer alguém. E novamente, a História está cheia de pessoas que encontraram ótimas soluções justamente por ter ido pelo ‘pior caminho’. Sem contar o clássico ‘por que ele pode’. Com certeza não existirá um Crysis (sei lá como escreve) pra JavaSE, ou mesmo um grande jogo, pelo menos não no estágio que a plataforma se encontra hoje. Mas ninguém falou que o objetivo é esse.

[/quote]
Se você é o próprio investidor do projeto, tudo bem, mesmo sabendo que a tecnologia é limitada, pode escolher o que quiser pois obviamente o problema será só seu. Mas não dá para ser ao modo “opção sua só por querer” em projetos mais profissionais onde quem investe deseja ter boa continuidade independente da pessoa.

Tirando o fato que Java não é uma plataforma popular pra frontends (loja de aplicativos?), não ha aparelhos disponíveis no mercado, e os que existem disponíveis não podem ter o java plugin habilitado por questões de segurança, o que resta de bom em usar Javafx?

VEJAM O SEGUINTE : Meu velho veja bem eu estou tentado realizar a multiplicação entre duas matrizes 9x9: matrizMK e a matrizK.inverse().
Contudo a palavra fica com sublinhado vermelho(erro), e a mensagem quando compila é a seguinte: Exception in thread ?main? java.lang.RuntimeException: Uncompilable source code ? Erroneous sym type: Array.inverse.

Como faço para multiplicar a matrizMK com a Inversa da matrizK???
O CÓDIGO:

public static void main(String[] args) {

double[][] matrizMK = {{65,57,36,20,77,155,35,83,165},{90,10,15,76,25,107,13,47,193},{57,36,3,0,101,85,7,121,139},
{27,54,66,18,46,25,62,131,41},{68,47,33,48,6,131,126,24,162},{62,41,99,70,79,105,3,86,137},{14,77,60,76,6,138,98,126,13},
{25,73,78,50,54,113,40,143,41},{9,2,36,0,11,0,0,0,18}};

double [][] matrizK = {{1,0,0,0,0,0,0,0,2},{0,2,3,0,0,0,0,0,0},{0,0,3,0,1,0,0,0,0},{0,0,0,4,0,5,0,0,0},
{0,0,0,0,5,0,0,6,0},{0,3,0,0,0,6,0,0,1},{0,0,0,0,0,0,7,1,0},{1,0,0,2,0,0,3,8,0},{4,0,0,0,0,1,0,0,9}};

//int aux = 0;

System.out.println(?MATRIZ Recebida:?);
Matrix matriz=new Matrix(matrizMK);
matriz.print(5,0);

System.out.println(?MATRIZ chave publica?);
Matrix chave= new Matrix(matrizK);
chave.print(5,0);

System.out.println(?MATRIZ INVERSA da chave pública?);
Matrix inversa= new Matrix(matrizK).inverse();
inversa.print(5,0);

// PRODUTO DAS MATRIZES MK E MatrizK.inverse()

int row, column, i;
double aux;
double c[][] = new double[matrizMK.length][matrizK.inverse()[0].length];
for (row = 0; row < c.length; row++) // multiplicação das matrizes
{

for (column = 0; column < c[row].length; column++) {
aux = 0;
for (i = 0; i < matrizMK[row].length; i++) {
try {
aux = aux + matrizMK[row][i] * matrizK.inverse()[i][column];
} catch (Exception e) {
e.printStackTrace();
}
} c[row][column] = aux;
}
}
// define matriz produto
Matrix matrizProduto = new Matrix©;
System.out.println(“Produtoatriz MK com a matriz Inversa”);
matrizProduto.print(5,0);
}

}

Galera gostaria que alguém pudesse me responder o mais breve possível. Agradeço