Jogo em rede  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
aloha
JavaChild

Membro desde: 07/08/2008 15:32:24
Mensagens: 139
Offline

Galera...

O professor pediu um jogo em rede com 1 servidor e 4 clientes, onde o servidor nao joga, apenas comunica os 4 clientes...

Qual a maneira certa ou a mais certa? Fazer no servidor, 1 thread para cada cliente?

obrigado!
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20540
Localização: Curitiba/PR
Online

Isso mesmo. E se quer um conselho, faça um jogo muito simples, como jogo da velha ou outro jogo de tabuleiro que não tenha muitas regras complexas.

Não faça jogos que dependam de decisão instantânea, como Pong. Pong é um exemplo de jogo especialmente difícil de se fazer em rede, justamente pq qualquer atraso irá gerar um congelamento perceptível da bola.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
aloha
JavaChild

Membro desde: 07/08/2008 15:32:24
Mensagens: 139
Offline

acho q vou fazer batalha naval
eh facil sera?

eu fiz um de damas em rede, cara nao foi muito facil nao... e era 2 pcs em rede apenas, nao 4


abraço
bruxel
JavaTeenager
[Avatar]

Membro desde: 28/12/2006 12:00:59
Mensagens: 175
Localização: Colinas/RS
Offline

fiz um trabalho na faculdade tb neste mesmo estilo.

sugestão
se não for regra, limitar o jogo a quatro participantes então não faça deixe a quantidade de participantes ilimitada.

em meu trabalho ganhei uns pontinhos extras por esta caracteristica


Bruxel, Alexsandro
Bal. Administração, com Análise de Sistemas
[MSN]
aloha
JavaChild

Membro desde: 07/08/2008 15:32:24
Mensagens: 139
Offline

mas dependendo do jogo tem q ser limitado, eu tava pensando e o jogo de batalha naval q o professor pediu, nao tem fundamento fazer em 4 pessoas...
porra o eskema eh 1x1...

q nem c for fazer truco eh 1x1 ou 2x2... damas eh 1x1... etc...

q tipo de jogo da pra fazer em varias pessoas?

valew
victorwss
JWizard
[Avatar]

Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline

Em 4 pessoas você pode fazer um jogo de ludo ou de war.

Victor Williams Stafusa da Silva

Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.

Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.


É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
[MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20540
Localização: Curitiba/PR
Online

Faz o batalha naval mesmo. É um bom jogo.
E, seu servidor terá que suportar 2 partidas de 2 pessoas simultaneamente.

Uma dica. Para o servidor estude o padrão State. É realmente muito útil.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
psevestre
JavaEvangelist

Membro desde: 13/05/2005 12:53:19
Mensagens: 432
Localização: São Paulo
Offline

aloha wrote:Galera...

O professor pediu um jogo em rede com 1 servidor e 4 clientes, onde o servidor nao joga, apenas comunica os 4 clientes...

Qual a maneira certa ou a mais certa? Fazer no servidor, 1 thread para cada cliente?

obrigado!


Pode ser, mas se é para aprender algo que saia um pouco do arroz-com-feijão, que tal usar UDP unicast para receber as mensagens e UDP multicast para enviar as atualizações ? Ah, e sem Threads (alem do principal, é claro).



http://justaphilpicks.blogspot.com/
[MSN]
aloha
JavaChild

Membro desde: 07/08/2008 15:32:24
Mensagens: 139
Offline

UDP? mas eu preciso ter certeza q todos receberam...

Sem Threads? Cara, não consigo imaginar como posso fazer para nao ter thread, acho q seria "impossivel". Não?

valew
cmoscoso
Virtual Machine Man

Membro desde: 23/10/2007 10:08:29
Mensagens: 687
Offline

aloha wrote:
Sem Threads? Cara, não consigo imaginar como posso fazer para nao ter thread, acho q seria "impossivel". Não?

valew


Nao com batalha naval que é turn-based, isto é, um joga de cada vez...
[Email]
aloha
JavaChild

Membro desde: 07/08/2008 15:32:24
Mensagens: 139
Offline

ahh ta, mas no meu caso eu tenho chat e talz... entao a tela nao pode ficar travada, logo preciso de thread...



abraço
psevestre
JavaEvangelist

Membro desde: 13/05/2005 12:53:19
Mensagens: 432
Localização: São Paulo
Offline

aloha wrote:UDP? mas eu preciso ter certeza q todos receberam...

Sem Threads? Cara, não consigo imaginar como posso fazer para nao ter thread, acho q seria "impossivel". Não?

valew


Bem, vc. não falou sobre QoS... No UDP pode haver perda, sim, logo, se é vital haver integridade, vc teria que implementar algum tipo de correção de erros no nível da aplicação. Note, no entanto, que há cenários em que a perda de pacotes é aceitável ou até mesmo preferível em relação ao overhead e atraso potencial que o TCP implica. Ex: streaming de aúdio/vídeo e jogos de ação em tempo real (os Counter-Strike da vida)

Quanto a não utilizar Threads, é possível, sim. Mesmo com TCP, vc. pode usar NIO e ter apenas um Thread.

http://justaphilpicks.blogspot.com/
[MSN]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team