EAi Gelleo muitoo loko jogo eim… show continuem assim cara.
[quote]Bem… ele estava bem parecido com esse ai, mas eu ainda não tinha implementado o esquema de Layers para desenhar uma arvore em cima do chão.
Engraçado, mas o Bruno Daniel Marinho(D. Loiro aqui do GUJ) também implementou algo parecido e ficou parado no mesmo lugar que eu estava. [/quote]
Eai mark depois que implementei a isometria… e dei uma parada nele, pois eu perdia muito tempo implementando recursos muito específicos sem organização.
Então agora estou estudando e projetando toda a arquitetura do jogo tentando tirar proveito de toda plataforma java, e me tornando agil para formar uma equipe de “desenvolvimento de games agil” que trabalhe de forma remota.
Gelleo na comunicação em vez de usar a serialização, eu recomendo que você crie um protocolo simples com Strings por exemplo se for usar sockets, isso vai te dar muito mais velocidade na comunicação.
[quote=Marky.Vasconcelos]É, acho que não gosto de jogos em portugues, fiquei tão acostumado a jogar até hoje jogos em ingles que acho estranho ver tudo em portugues.
[/quote]
Eu como não sei inglês prefiro jogos em português.
Já temos editor de mapas. Postei uma imagem dele na primeira página deste tópico.
Realmente tenho que fazer isso o mais rápido possível. O LAG no jogo está muito grande.
Estava aqui divagando… então, já que a cada dia aparece um tópico, mesmo que “tímido” sobre programação de jogos, poderia o GUJ criar uma sessão para abordar esse tema? Acho que poderia ser interessante e quem sabe, até movimentar um pouco mais essa área por aqui. É apenas uma sugestão singela, o que vocês acham?
A idéia é interessante, mas já existe um fórum especifico pra isso http://www.programadoresdejogos.com/ que o nosso amigo ViniGodoy moderador do GUJ também é moderador por lá.
A idéia é interessante, mas já existe um fórum especifico pra isso http://www.programadoresdejogos.com/ que o nosso amigo ViniGodoy moderador do GUJ também é moderador por lá.[/quote]
Eu sei disso, inclusive, acessa esse site há quase 7 anos. Mas há um incidência grande de pessoas aqui, poderia ser interessante, mesmo assim.
[quote=Diabo Loiro]Entao ja quem esta neste topico geralemente, curte games e os implementa em java acho que seria legal para todos.
Uma curiosidade voce poderia das mais detalhes de como voce implementou o servidor… como ele trabalha com os clientes…
=)[/quote]
Sabe o livro use a cabeça java?
Lá tem um tutorial de como criar um chat. Peguei esse exemplo e fui evoluindo aos poucos para um mmorpg.
No servidor em tenho uma thread responsável por esperar as conexões dos clientes. E outra thread responsável por encaminhar as informações pro cliente.
Quando o servidor recebe uma nova conexão, ele cria uma nova thread para tratar as mensagem recebidas do cliente. E adiciona esse cliente na thread responsável por encaminhar as informações pro cliente.
[size=18]NOVIDADES[/size]
Versão 0.09.00 30% pronto!
Atualizar WIKI (Monstros, equipamentos, lugares, etc). (15% pronto)
Memória MO (100% pronto)
Fazer com que o Ctrl+1,2,3,4,5 tb feche a mochila e os outros. (100% pronto)
Construir um mapa novo 1000x1000.
Fazer uma cidade principal
Fazer um cemitério
Adicionar novos monstros
Juntar dinheiro do troco (100% pronto)
Criar certificado novo com maniabr.com.br (60% pronto)
[ERRO] Conexão cai e cliente continua (100% pronto)
[ERRO] Não permitir 2 personagens com mesmo nome (100% pronto)
[Erro] [ManiaEditor] conta-gotas (100% pronto)
[ERRO] Usando a espada, a habilidade que sobe é a mão limpa. (100% pronto)
Adicionar o escudo na lista de itens do vendedor Pedro. (100% pronto)
Criar itens raros como prêmios das missões
Mostrar ataque e defesa das roupas.
[ERRO] Fazer os monstros andarem direito
[Erro] Arrastar menu para fora da janela e perder o foco
Criar um favicon para o site.
Arrumar textos “Fulano matou UM ARANHA”
[ERRO] Mostrar o menu do personagem quando clica no personagem
Criar itens de comida
Criar missões para monstros novos
[Erro] Monstros travando
[Erro] Dano do monstro positivo
Mudar o nome do jogo
Desvincular imagens do editor
Aumentar e diminuir o zoom no editor de mapas
Substituir azulejos no editor
[Erro] Quando tenta entrar de novo sem fechar o jogo o cliente trava.
Eu tenho um objeto que é responsável por guardar os dados dos personagem temporariamente para encaminhar aos outros clientes.
Por exemplo:
A thread que recebe os dados do cliente recebe a mensagem que o personagem X anda para cima. O servidor recebe essa mensagem e guarda no objeto que guarda tudo temporariamente.
O personagem Y anda para esquerda. O servidor recebe essa mensagem e guarda no objeto que guarda tudo temporariamente.
Ai quando a thread do servidor que encaminha as informações para os clientes é ativada, pega as informações que estão no objeto que guarda tudo temporariamente. Depois de pegar os dados, ele limpa o objeto. Então o servidor faz um loop em todos os clientes e manda as informações para os clientes.
[quote=Diabo Loiro]Quando a thread que manda para os clientes é ativada?? em que situação.
Não sei se entendi muito bem mais quando implementei essa funcionalidade utilizei o design pattern [color=darkred]observer[/color]…
no momento em que alguém se move o server ja faz broadcast automaticamente.
talvez isso ajude no delay tbm junto com tirar a serialização, acho que valeria a pena você fazer um teste.
lembrando sempre que é uma sugestão.
[/quote]
Tipo, tenho 3 pessoas na tela.
Uma pessoa andou pra cima. As outras duas vão receber essa mensagem. Até ai, sem problemas.
Eu usei observer na barra de status do personagem. Quando o pontos de vida dele muda, a barra de status tem que ser avisada.
Quando eu criei o servidor, eu achei que fazer broadcast toda vez que alguém anda iria ficar meio pesado. Eu preferi juntar mais informações para mandar de uma vez.
Nesse objeto que o servidor manda tem:
quem entrou ou saiu do jogo
quem andou ou falou.
quem perdeu ou ganhou hp
quem pegou ou soltou um item
Hoje quando duas pessoas andam ao mesmo tempo. O servidor vai receber a primeira mensagem, vai guardar. Depois vai receber a segunda e encaminha as duas no mesmo objeto para os outros clientes.
Na versão 0.10.00 devo focar em arrumar o LAG. Por isso vou precisar da ajuda de vocês para criar uma arquitetura de cliente-servidor robusta.
O tempo de espera do servidor para ativar a Thread que manda os dados para todos os clientes é de 10ms.
[size=18]NOVIDADES[/size]
Versão 0.09.00 40% Pronta!
Atualizar WIKI (Monstros, equipamentos, lugares, etc). (20% pronto)
Memória MO (100% pronto)
Fazer com que o Ctrl+1,2,3,4,5 tb feche a mochila e os outros. (100% pronto)
Construir um mapa novo 1000x1000.(50% pronto)
Fazer uma cidade principal (5% pronto)
Fazer um cemitério
Adicionar novos monstros
Juntar dinheiro do troco (100% pronto)
Criar certificado novo com maniabr.com.br (60% pronto)
[ERRO] Conexão cai e cliente continua (100% pronto)
[ERRO] Não permitir 2 personagens com mesmo nome (100% pronto)
[Erro] [ManiaEditor] conta-gotas (100% pronto)
[ERRO] Usando a espada, a habilidade que sobe é a mão limpa. (100% pronto)
Adicionar o escudo na lista de itens do vendedor Pedro. (100% pronto)
Criar itens raros como prêmios das missões
Mostrar ataque e defesa das roupas. (100% pronto)
[ERRO] Fazer os monstros andarem direito
[Erro] Arrastar menu para fora da janela e perder o foco (100% pronto)
Criar um favicon para o site.
Arrumar textos “Fulano matou UM ARANHA”
[ERRO] Mostrar o menu do personagem quando clica no personagem
Criar itens de comida
Criar missões para monstros novos
[Erro] Monstros travando
[Erro] Dano do monstro positivo
Mudar o nome do jogo
Desvincular imagens do editor
Aumentar e diminuir o zoom no editor de mapas
Substituir azulejos no editor
[Erro] Quando tenta entrar de novo sem fechar o jogo o cliente trava.
Legal que apareceu bastante gente para trocarmos conhecimentos!
Como o Leo disse, estamos com bastante problema de LAG, então na próxima versão estamos pensando em focar neste assunto.
A versão atual resolvemos focar um pouco nos gráficos, pois nós temos várias imagens novas que estavam só aguardando para entrar no jogo. As imagens atuais estão horríveis, muitas nem são nossas, então tava precisando mesmo mudar isso.
Em breve eu posto no site algumas imagens da cidade que estou fazendo, falta corrigir uns detalhes nas imagens ainda.
O Leo já postou no site desenhos de itens e monstros novos para quem tiver curiosidade.
[quote=Saladinha]Vi que pegaram alguns itens de TIBIA cuidado com isso viu…
o Bow a Arrow eo Axe Ring =S
e alguns outros sprites[/quote]
Mas esses itens não estão no jogo.
Vc deve ter lido a news que é muito antiga.
Eu usei essas imagens para criar a funcionalidade do arco e flecha enquanto o desenhista não me entregava as imagens dos itens. Esse item não existe no jogo.
Mas eu vou alterar aquela news antiga. Se vc reparar bem no personagem, vai ver que a calça dele ta torta.
Obrigado por acompanhar o andamento do jogo. Qualquer coisa estamos ai!
[color=red][size=18]NOVIDADES[/size][/color]
[size=18]Versão 0.09.00 50% Pronta![/size]
Atualizar WIKI (Monstros, equipamentos, lugares, etc). (45% pronto)
Memória MO (100% pronto)
Fazer com que o Ctrl+1,2,3,4,5 tb feche a mochila e os outros. (100% pronto)
Construir um mapa novo 1000x1000.(50% pronto)
Fazer uma cidade principal (5% pronto)
Fazer um cemitério
Adicionar novos monstros (100% pronto)
Juntar dinheiro do troco (100% pronto)
Criar certificado novo com maniabr.com.br (60% pronto)
[ERRO] Conexão cai e cliente continua (100% pronto)
[ERRO] Não permitir 2 personagens com mesmo nome (100% pronto)
[Erro] [ManiaEditor] conta-gotas (100% pronto)
[ERRO] Usando a espada, a habilidade que sobe é a mão limpa. (100% pronto)
Adicionar o escudo na lista de itens do vendedor Pedro. (100% pronto)
Criar itens raros como prêmios das missões (100% pronto)
Mostrar ataque e defesa das roupas. (100% pronto)
[ERRO] Fazer os monstros andarem direito (100% pronto)
[Erro] Arrastar menu para fora da janela e perder o foco (100% pronto)
Criar um favicon para o site. (100% pronto)
Arrumar textos “Fulano matou UM ARANHA” (100% pronto)
[ERRO] Mostrar o menu do personagem quando clica no personagem (100% pronto)
Criar itens de comida (50% pronto)
Criar missões para monstros novos (100% pronto)
[Erro] Monstros travando
[Erro] Dano do monstro positivo
Mudar o nome do jogo
Desvincular imagens do editor
Aumentar e diminuir o zoom no editor de mapas
Substituir azulejos no editor
[Erro] Quando tenta entrar de novo sem fechar o jogo o cliente trava.