DESENVOLVIMENTO DE JOGO EM JAVA

Nas férias, dezembro de 2013 resolvi desenvolver um jogo em java, foram muitos dias sem dormir e bastante leitura… é um desafio e tanto para quem está começado como eu, pois os melhores tutoriais são em inglês, e pouco se tem material em português.

O mercado é dominado pelo desenvolvimento de jogos em C/C++, devido ser uma linguagem de grande desempenho com o hardware, porem, Java tem conquistado a cada dia seu espaço, graças a constante evolução no desempenho, sua portabilidade e magnificas engine, mais não é o que será tratado aqui.

O jogo não está lá essas coisas, logicamente é meu primeiro, e ralei muito para fazer cada implementação; escrito inteiramente em java, todas as imagens e efeitos sonoros foram baixados (a) da internet, alguns modificados; utilizei apenas uma biblioteca JLayer para reproduzir os arquivos mp3; o intuito desse jogo é apenas para efeito de aprendizagem.

champs da galaxia

Descrição do Jogo:

Trata-se de uma batalha espacial onde o jogador controla uma nave e deve destruir os inimigos, adquirindo o máximo de pontos.

No menu superior, tem informações sobre qual a missão (nível), quantidade de vidas, quantidade de pontos, quantidade de inimigos não abatidos e um temporalizador que faz uma contagem regressiva para trocar de missão.

Captura de tela de 2014-01-06 15:22:42

Possuí efeito sonoro: Musica de fundo, som de disparo, som de coleta de vida, som de explosão, som missão completa, som fim de jogo.

Ambiente de Desenvolvimento

S.O. Linux Ubuntu 13.10

IDE Eclipse

CONTROLE DO JOGO

Botão esquerdo do mouse dispara arma.

W, S, A, D movimenta a nave (ou) up, down, reght, left movimenta a nave.

Obs.: (Mantenha o cursor do mouse em cima da tela do jogo para poder dispara arma).

Este jogo foi desenvolvido com base em vários tutoriais, livros e artigos.

Referencias (Links):

Assassino Programação de Jogos em Java

Abrindo o Jogo

Biblioteca de MP3 para a Plataforma Java

Como criar jogos

Criando sprites com Blender e Gimp | flagrantdisregard

Cap. 9 – Threads (Segmentos) – Java Free.org

DesignsbyZephyr – YouTube

ForeignGuyMike – YouTube

Jogos em desenvolvimento em Java

Jogo tutorial

Jogos em desenvolvimento em Java

Livros de Programação Livre

Sprite Banco de Dados

The Spriters Resource

YoYo Games | Recursos Oficiais

Yann Braga – YouTube

O projeto do jogo deve ser executado na IDE Eclipse (ou em outra IDE que desejar se souber importar), para executar corretamente o efeito sonoro deve-se incluir a biblioteca Jlayer no projeto.

[button color=”green” size=”small” link=”https://mega.co.nz/#!ZUUCxRBI!bumc4FqwcCJqGakPj4xzDz7avWx0YUJ1A9qDw9U1yoI” target=”blank” ]Baixar: Projeto + game.jar[/button]

[button color=”green” size=”small” link=”https://github.com/FranciscoSouza/Jogos.git” target=”blank” ]Projeto no GitHub[/button]

Obs.: (para executar o .jar, mantenha o diretório “res” junto com o .jar).

Gostaria que, quem baixar mande um feedback, sugestões de melhorias, seja você também um contribuinte, para quem está iniciando o código está comentado, veja o que é possível melhorar para ter um melhor desempenho, agradeço a todos leitores.

Até a próxima.

Francisco de Assis

Servo de DEUS, Mestrando em Ciências da Computação (UFPE) Pós-Graduado em Docência do Ensino Superior (IDJ/UVA), Graduando em Automação Industrial (IFCE), Graduado em Analise e Desenvolvimento de Sistemas (UNILEÃO), casado com a mulher mais maravilhosa, Tamires Alencar e amante Python, Java, Games, Eletrônica, Robótica, Violão, Aviação...

Você pode gostar...

17 Resultados

  1. hidelgard disse:

    Primeiro quero parabenizá-lo pelo projeto está muito bom. Sobre as considerações seria interessante que o tiro da nave pudesse ser acionado ao pressionar o botao de espaço do teclado daria melhor jogabilidade. E que durante o jogo coletasse alguns itens pra aumentar o poder de fogo da nave e a velocidade, e ao passar de estagio a velocidade dos adversarios aumentassem, sei que é apenas um projeto mas fica a dica pra novas versoões.

  2. Hidelgard, obrigado por sua participação, será de grande valor para as próximas versões do jogo, e a dica que foi sugerida será sim implementada, em breve estarei postando uma nova versão com bastantes melhorias.vlw

  3. Vagnerlandio Nunes disse:

    Quais linguagens de programa vocês conhece para desenvolvimento de jogos e qual a gente terá um melhor proveito em alguns anos?

    É que eu fujo do java por não considerar uma linguem para o “futuro”.
    Ainda não fiz faculdade e queria saber de vocês que tem mais conhecimento em programação.

    Atualmente tenho 5 projeto de jogos e pretendo terminar um por ano. O primeiro estou fazendo em GML (linguagem do gamemaker) e depois de muitas pesquisas decidi fazer meus outros 4 jogos em C++.

    Apesar do C++ ser uma linguem de baixo nível, muitas Framework’s no mercado ajudam quem está acostumado com scripts. Como por exemplo a Cocos2d-x (C++) que é possível exportar o jogo para todas as plataformas e todos os consoles.

    Parabéns pelo site de vocês. Jayr está ai representando a nossa cidade (Penaforte)

    • Jayr Alencar disse:

      Cara,o que tá vindo com tudo ai, ou pelo menos tava, é HTML5, tem uma galera que desenvolve jogo nela ai, e faz umas coisas bem legais, é uma boa pra quem quer desenvolver jogos pra web, mas se você quer desenvolver pra mobile é melhor que seja Java.
      Pra pc, é melhor que seja uma linguagem baixo nível mesmo, C++ é uma boa e C também, principalmente pra quem quer belos e detalhados gráficos. Falo aqui um pouco do que sei e penso, mas que manja mesmo é o autor do post, Francisco!

  4. Bem, só para complementar, o Framework’s Cocos2d-x é uma excelente alternativa para quem deseja desenvolver games tanto para Web, como Desk, e principalmente Mobile, permite ao programador desenvolver com as linguagens C++, JavaScript, Lua. Veja esse Link: http://www.casadocodigo.com.br/products/livro-jogos-android

    As linguagens de Maior proveito aceita até hoje no mercado de desenvolvimento de jogos são as de baixo nível, com C, C++, Assembly, entre outras. Tudo depende do tipo de jogo que você deseja construir. Porem é muito interessante que você desenvolva inicialmente escrevendo o jogo todo no braço, assim pratica a programação e conhece melhor a linguagem. Aconselho que busque programar em C, C++, Java, Python, essas linguagens são bastante maduras, e não vão cair em desuso da noite para o dia. Sem contar que praticamente tudo que usamos hoje é java, por exemplo: cartões de créditos, uma porrada de aplicações para desktop, tablets, mobile, sites como Banco do Brasil, Lojas Americanas, entre outros Sistemas embarcados. Java é sim uma linguagem que revolucionou, e continuará para o futuro, assim tanto com muitas que vem sendo utilizadas. Visite os links que foi disponibilizado a cima.

  5. Lucas disse:

    Amigo, show de bola seu jogo…

    Eu to com um trabalho de curso também e to me ralando para desenvolver a barra do Tempo que você tem ali implementado.
    Estou utilizando o mesmo ambiente que você descreveu..

    Seria possível você disponibilizar esse código?

    Desde já agradeço.
    Abraço.

  6. Aurea Rainner disse:

    Ameii o blog, meus parabens!!

  7. João Hudson disse:

    O jogo ficou ótimo, o que eu acredito que melhoraria era
    tentar automatizar os inimigos para que eles atacassem.
    Outra observação que eu fiz é que eu creio que tenha como
    tu compactar tudo no (.jar), evitando a necessidade da pasta res .

  8. jhonnycck disse:

    show, muito top demais esses programacao

  1. 4 de fevereiro de 2014

    […] jogos, como o nosso amigo Francisco (vulgo Champs), que desenvolveu um pequeno jogo e postou no Clube dos Geeks, game este que se chama “Champs da Galáxia”. Eu já baixei e joguei, baixe você também e teste. Até a […]

  2. 27 de abril de 2014

    […] na linguagem de programação Java, de forma livre e com código aberto. Foi apresentado o game Champs da Galáxia, que foi desenvolvido pelo Clube dos Geeks, além de outros, para assim incentivar o […]

Deixe um comentário para Francisco de Assis Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *