Ir ao conteúdo
  • Cadastre-se

Dúvidas: linguagem e engine - jogos


Posts recomendados

Fala, galera, tudo bem? Sou novo aqui e preciso de alguma ajuda pra começar um novo projeto que tenho em mente. Infelizmente não tenho conhecimento pra começar a contribuir pro fórum, mas espero que isso mude logo. Vou explicar brevemente meu problema e quem sabe vocês não podem me dizer por onde começar.

 

Não é de hoje eu tenho interesse em começar a programar, porque sempre tive ideias, seja pra jogos ou aplicativos, mas nunca cheguei a um consenso de que linguagem aprender e nunca achei algo que me mostrasse que o que eu estou aprendendo tem alguma utilidade prática. Cheguei a começar a aprender C, mas parei porque não estava vendo muita utilidade naquilo pro que eu buscava, que era desenvolver aplicações mais modernas. Fiquei uns 6 meses parado, sem mexer em nada e agora eu decidi voltar, mas quero aprender pra valer, ir a fundo, de forma que eu possa não só desenvolver, mas ser capaz de entender a estrutura de uma linguagem e o que é, como se constrói uma linguagem e por aí vai.

 

Bom, o que me motivou foi a vontade de jogar um joguinho que eu jogava antigamente pelo pc, e pelo visto não existe pra android nada parecido. Bom, meus problemas começaram aí. Quero aprender para ser capaz de desenvolver o jogo. Eu aprendo relativamente rápido, então fui buscar informações que me pusessem no caminho, para saber por onde começar, mas encontrei uma vastidão de informações e opiniões diferentes. No fim das contas me disseram para programar em Java, C# ou LUA, que eram boas para isso, mas eu busco a linguagem que seja mais claramente voltada pro android, e pesquisando vi que seria Java, correto? Ainda nesse ponto, como funciona a relação da linguagem em que o programa é escrito com o sistema em que ele irá rodar? Vi que java é a linguagem para o android, mas também me disseram para programar em outras duas linguagens, então existe essa portabilidade? Como ela funciona?

 

Vou falar um pouco do jogo que quero programar. Eu julgo que seja um jogo simples, ele é basicamente em janelas, tem um menu com tópicos como "Quick Game, Private, Missions, etc", cada um desses tópicos leva pra uma nova tela, onde ele verá outros menus ou jogo irá começar. O jogo se desenrola com uma batalha entre dois jogadores, mas é quase como um rpg de papel. Cada jogador tem 3 personagens e cada um deles tem determinadas habilidades, que dão determinado dano e tem determinados efeitos, impedindo o inimigo de usar habilidades ou roubando energia. Assim que o jogador encerra o seu turno algumas habilidades entram em cooldown e a janela de habilidades fica travada enquanto o contador de tempo passa pro inimigo dele até que ele encerre a rodada ou o tempo termine. Ou seja, as animações são hyper simples, apenas trocas de telas e movimentos de pequenas janelas, além de alguns efeitos de som pra cada um desses movimentos. Preciso criar e organizar os personagens, as missões e fazer a conexão entre os jogadores. 

 

Explicado como é o jogo, preciso saber linguagem, IDE, engine e por aí vai. Na verdade, essa é uma boa dúvida. Sei que uma IDE não exclui uma engine e uma engine não exclui uma IDE, mas o que exatamente é uma engine? Em um exemplo prático, como ela interage com a IDE? Gostaria também de uma indicação a bibliografia da linguagem, eu estou bem inclinado a trabalhar com java, então estou querendo qualquer tipo de livros e informações, além de cursos e o que tiver mais do java. Eu não tenho problemas com a leitura em inglês, mas por conta dos termos técnicos, prefiro começar com livros e textos em português. Se eu não tiver escolha, tudo bem, vamos botar o inglês em prática :).

 

Algumas perguntas a mais... Para não perder o progresso os usuários vão precisar de uma conta, e eu gostaria que fosse associada ao email do google, como funciona isso? Vou precisa entender e saber lidar com banco de dados? Se sim, preciso me preocupar com isso agora?

 

Ah, sobre Java, o que é XML e SQL?

O que seria a API?

 

Bom, se você leu até aqui, muito obrigado por tanta dedicação só pra me ajudar. Sei que ainda não posso contribuir com nada pro fórum, mas logo isso irá mudar :).

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Guilherme Thopson

Começando pelo início. A linguagem para android é e fato Java. 

Para desenvolver nessa plataforma precisarás de conhecimentos em:

 

 Java Orientada a objetos

SDK Android

 XML

Integração da API do google para autenticação

Banco de dados para armazenar os dados do jogo, como progresso, nível, nome de personagem, skills e etc.

Engine de jogo

 

A IDE, é uma questão muito pessoal de desenvolvedor.. uns gostam do Eclipse(como eu), outro já preferem o Netbeans ou qualquer outra IDE que permite desenvolver em java.

 

Vou falar agora um pouco a respeito das últimas perguntas:

O que é XML?   (eXtensible Markup Language), usada em diversos casos. Em aplicativos android é usado para definir o layout do app ou jogo.

 

SQL? é a linguagem de banco de dados. com ela você faz as consultas, inserções e toda ação necessária na apicação no quesito de guardar dados, atualizar dados.. e etc.

 

API, é documento que descreve a funcionalidade de cada método/função que a linguagem oferece. Basicamente serve para auxilar você a desenvolver explicando o retorno de cada função, onde aplicar a função e etc.

 

Engine.  bom esta é considerado o coração de um jogo.. geralmente você não cria uma engine, elas já existem prontas, onde tudo que você precisa é entender como ele é integrado, funções que ele oferece.. por exemplo as engines auxiliam você a implementar a dinâmica, física, colisões.. e etc... um exemplo de boa engile é a unity 3d.. mas existem várias, e mais específicas para android:  http://www.mestreandroid.com.br/android-game-engines/

 

Bom é por aí.

Link para o comentário
Compartilhar em outros sites

@dif

Antes de mais nada, muito obrigado. Gostaria só de tentar sanar algumas questões que surgiram.

 

40 minutos atrás, dif disse:

Java Orientada a objetos

SDK Android

 XML

Integração da API do google para autenticação

Banco de dados para armazenar os dados do jogo, como progresso, nível, nome de personagem, skills e etc.

Engine de jogo

 

Você me disse que isso é o que eu deveria aprender pra poder programar nessa área. Isso me trouxe uma dúvida, por onde eu começo? Existem livros ou cursos diretos sobre essas áreas separadamente?

 

Uma outra pergunta, qual a relação entre SDK e IDE?

 

Acho que a grande questão mesmo é essa, por onde eu começo?

 

Bom, muito obrigado pela atenção.

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Guilherme Thopson Começa sempre pelo início!

Familiarização com a linguagem Java. Estudar o modo procedural dela primeiro, entender como de fato a linguagem funciona.

Depois dar continuidade com o paradigma orientada a objetos que é essencial para aplicativos e jogos.

 

8 minutos atrás, Guilherme Thopson disse:

qual a relação entre SDK e IDE?

Nenhuma. A IDE é apenas o ambiente de desenvolvimento. A SDK é o kit de desenvolvimento.

Você pode usar qualquer IDE que quiser, a que melhor você tiver afinidade. Particularmente recomendo o uso do eclipse. Aqui no fórum tem um tutorial básico que podes achar aqui: 

Livros, não conheço um para indicar, contudo você pode facilmente encontrar muito material sobre desenvolvimento mobile android.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!