Estrutura de jogo para cartas de jogo Java [fechado
-
23-09-2019 - |
Pergunta
Meus amigos e eu no UNI Love tocando Merda nas primeiras horas. Mas em breve nos formamos e deixaremos a cidade, então provavelmente não se reunirmos para um jogo por um tempo.
Quero desenvolver um aplicativo Java que possamos usar para jogar Shithead e nossos outros favoritos em uma rede.
Um aplicativo como este Já existe, mas é feio, buggy e não apóia as regras da nossa casa. A fonte está disponível, mas é uma bagunça que eu realmente preferia começar do zero do que tentar refatorá -la!
Construir meu jogo usando uma API ou estrutura de cartão de jogo padrão, se existir tal coisa, seria melhor do que começar do zero. A resposta para uma pergunta semelhante era usar o JPC-API, que supostamente fornece serviços básicos de cartas de jogo e prestação de serviços. Mas este projeto Sourceforge atualmente não disponibiliza arquivos ou código -fonte!
Existe uma alternativa, ou em algum outro lugar para encontrar essa estrutura?
Em breve precisarei de ajuda com o seguinte:
- Serviços de lobby (encontrando outros jogadores)
- Protocolo de rede de jogos (para comunicar movimentos entre jogadores)
- Teoria dos jogos (para escrever o oponente do computador)
- Detecção de condições vencedoras
- Desenvolvimento da interface do usuário do jogo
Solução
Eu recomendo que você use o Red-Dwarf para o servidor e o JNAG para a comunicação cliente-servidor.
JNAG como algumas amostras que você pode usar para começar. Além disso, o autor de JNAG (ME) está sempre feliz em ajudar as pessoas a usar o anão vermelho e o JNAG.
Outras dicas
Eu acho que você aprenderá muito mais construindo o núcleo do jogo e usando estruturas existentes para serviços gerais.
Existem opções suficientes para a comunicação do cliente/servidor, desde lobbies e protocolos específicos de jogos até escrever por coisas como JMS.
Para a lógica do jogo, é isso que torna seu jogo único, então descubra as condições de ganhar e tudo mais.
Para o seu oponente AI, você precisa fornecer uma função de avaliação, mas provavelmente pode usar as estruturas de IA existentes para escolher movimentos, dada essa função.
Para a GUI, existem ícones suficientes por aí, você provavelmente pode codificar uma GUI rudimentar com bastante facilidade.