MMORPG em Java - ManiaOnline versão 0.08.00

83 respostas
G

Nova versão de desenvolvimento lançada e disponível para testes.


Principais Novidades:

  1. Sistema de Cabelo e Barba: Ao criar um personagem é possível escolher o cabelo e a barba do mesmo. Durante o jogo, o personagem será desenhado com o cabelo e barba escolhidos na hora de sua criação.

  2. Itens iniciais: Ao criar um personagem, ele recebe alguns itens iniciais para facilitar o começo do jogo. (Exemplo: Roupas, dinheiro, poções, etc.)

  3. Juntar dinheiro na mochila: Antes era possível juntar as moedas apenas jogando-as no chão, agora é possível fazer na mochila, basta arrastar qualquer quantidade de moedas e soltar em cima de outra quantidade qualquer.

  4. ‘Olhar’ item na mochila: Antes era possível usar a função ‘Olhar’ apenas nos itens do chão, agora é possível usar na mochila, basta clicar com o botão direito sobre o item e clicar em ‘Olhar’.

  5. ‘Usar’ item da mochila: Antes era possível usar a função ‘Usar’ apenas nos itens do chão, agora é possível usar direto na mochila, basta clicar com o botão direito sobre o item e clicar em ‘Usar’.

  6. Novos itens: Foram incluídos vários itens novos como armaduras, armas, etc.

  7. Respaw de Montros: Na versão anterior os monstros renasciam (respaw) no mesmo lugar que morreram, a partir de agora eles fazem respaw na área de origem deles, independente de onde morreram. Cada monstro possui uma área e tempo para respaw específicos.

  8. Contorno dos textos: O contorno das letras dos textos foi refeito para melhorar a visibilidade, evitando que o texto fique ilegível ao misturar-se com as cores de fundo do jogo.

  9. Distancia para pegar objetos no chão: Agora é permitido pegar objetos no chão apenas se estiverem no azulejo ao lado (1 azulejo de distância).

  10. Novo tipo de ataque: Foi implementado o ataque a distância utilizando Arco e Flecha, as flechas são consumidas da mochila e não é possível atacar sem flechas na mochila. Também não é possível atacar a distância caso haja colisão entre o atacante e o alvo.

  11. Ícone no Desktop: Nesta nova versão, ao baixar o jogo ManiaOnline não é mais criado o ícone no Desktop (Área de Trabalho)

Para testar, basta criar uma conta no site http://maniabr.no-ip.org/ e clicar em ‘Jogar Agora’ no menu esquerdo. A conta de login do jogo é a mesma do site.
Para quem já possui conta em nosso site, basta entrar no jogo e criar um novo personagem (personagens antigos foram apagados).

83 Respostas

D

nosssaaa que chiquee…

me adiciona no msn e me conte sobre isso ae?

[email removido]
abraços

M

Mandou muito bem, cara. Tem que ser assim: chegar mostrando resultado, nada de ficar falando que vai fazer.

Algumas observações do pouco tempo que joguei.

1 - Comandos não são triviais e não achei eles numa olhada rápido no tutorial. Demorei até pra descobrir como mata os bichos hehe.

2 - Não está claro o sistema de danos. É meio aleatório o quanto vale a morte de um bicho. Seria interessante saber como melhorar o ataque e tal

3 - Os monstros não deveriam ter acesso a área segura(local das casinhas, para compras e tal), na minha opinião.

4 - Tenta trocar o andar por cliques até onde se quer caminhar.

5 - Habilitar uma tecla mais comum para compras, como espaço ou enter. Talvez até mesmo o mouse. Eu descobri que digitar comprar no chat abre o menu de compras na cagada total.

6 - Coloque alguma ação aos NPCs, como uma simples fala.

Seu jogo está indo num caminho muito bom. Continua nesse nível que vais longe =)

M

Por que isso me lembrou muito Tibia?

Mas mesmo assim, está um ótimo trabalho, da pra perceber que está no inicio mas vejo algum futuro se investirem algum tempo.

Quem é o time de desenvolvimento desse jogo?

L

po meu se copiou o tibia… não podia copiar algo melhor não tipo ragnarok…

M

AHuAHAUhAU true…

Mas de qualquer jeito, com um pouco de vontade da para ficar melhor que tibia, essas backpacks flutuantes são melhor que o de lá, mas quero ver como vai lidar com nested bags. A unica coisa que será muito dificil é criar uma historia melhor, tudo bem que a cipsoft conseguiu destruir o RPG do game, na época que eu parei já não tinha graça, imagina hoje como está.

Mas agora que reparei, o cara veio só fazer propaganda, ele podia dizer um pouco mais do desenvolvimento.

P

Pow, dá uns pontos pro cara… O legal é que é Java…
Ragnarok em java deve ser tenso fazer… Assim como qualquer outro 3D

Então pow…
O cara só tem 1 post…
Podia falar algumas coisas do desenvolvimento do jogo em si, e da equipe também…

Quando se clica em créditos, só existem dois programadores…

Mas tá de parabéns… Teve colhão de fazer um jogo online em Java…
E de colocar a bandeira do brasil no jogo! kkkk
apesar de só ter “-1 usuários onlines” quando entrei, até que é legalzinho! rs

D

nó… vendo esse post me inspirou pra tentar fazer um joguin tipo rpg…

pena que eu nao sei NADAAAAAAAAAAAA sobre isso…kkkkkk
vou ficar só na vontade!

abraços =]

G

Já adicionei.
Segue meu msn [email removido]

marcio_gs:
Mandou muito bem, cara. Tem que ser assim: chegar mostrando resultado, nada de ficar falando que vai fazer.

Algumas observações do pouco tempo que joguei.

1 - Comandos não são triviais e não achei eles numa olhada rápido no tutorial. Demorei até pra descobrir como mata os bichos hehe.

2 - Não está claro o sistema de danos. É meio aleatório o quanto vale a morte de um bicho. Seria interessante saber como melhorar o ataque e tal

3 - Os monstros não deveriam ter acesso a área segura(local das casinhas, para compras e tal), na minha opinião.

4 - Tenta trocar o andar por cliques até onde se quer caminhar.

5 - Habilitar uma tecla mais comum para compras, como espaço ou enter. Talvez até mesmo o mouse. Eu descobri que digitar comprar no chat abre o menu de compras na cagada total.

6 - Coloque alguma ação aos NPCs, como uma simples fala.

Seu jogo está indo num caminho muito bom. Continua nesse nível que vais longe =)

1 - Já coloquei o tutorial como prioridade para a próxima versão (0.09.00).

2 - Estou pensando em colocar essas informações em uma wiki, colocando o dano de cada equipamento a exp de cada monstro, etc. Mas estou meio sem tempo pra fazer essa wiki.

3 - Coloquei isso na lista de tarefas para versões futuras.

4 - Tb coloquei isso na lista de tarefas para versões futuras.

5 - Como funcionaria? Explique melhor. Não entendi muito bem.

6 - O NPC ficaria falando sozinho?

Valew pelos comentários! A próxima versão vai ficar filé! Hehehe

Marky.Vasconcelos:
Por que isso me lembrou muito Tibia?

Mas mesmo assim, está um ótimo trabalho, da pra perceber que está no inicio mas vejo algum futuro se investirem algum tempo.

Quem é o time de desenvolvimento desse jogo?

Pq eu era viciado em tibia!! hehehehe

O time conta com 2 programadores e 1 desenhista.

Só eu sei o trabalho que deu pra fazer esse jogo funcionar. Mas agora é só ir atualizando. Devagar e sempre.

H

Cool mesmo.

É mto osso fazer jogo do zero, parabens pela iniciativa.

Eu fiz algo muito similar a mto tempo atrás em DX 8.

Foi o periodo que eu mais aprendi de programação, mas eu desisti de games depois de um tempo, espero que vc tenha mais força de vontade que eu.

G

heroijapa:
Cool mesmo.

É mto osso fazer jogo do zero, parabens pela iniciativa.

Eu fiz algo muito similar a mto tempo atrás em DX 8.

Foi o periodo que eu mais aprendi de programação, mas eu desisti de games depois de um tempo, espero que vc tenha mais força de vontade que eu.

Já to fazendo esse jogo a uns 5 anos. Agora tenho que ir até o final, mesmo que demore mais 5 anos! hehehehehe

E realmente eu aprendi muito fazendo o jogo. Até tirei as certificações java (SCJA, SCJP, SCWCD, SCBCD e SCEA part I).

Mas é claro que nesses 5 anos, de vez em quando eu tirava umas férias de 6 meses do jogo! hehehehe

V

Quantos jogadores suporta?

V

Há uma série de pequenos erros de português e inglês no site. Seria legal corrigi-los:

Logo no título, está escrito:
Versão 0.8.00 Conluída!

Quando o correto é:
Versão 0.8.00 Con[color=red]c[/color]luída!

A palavra certa é respawn.

No mais, parabéns pelo projeto. É muito raro chegarem tão longe. Seria legal falar de alguns aspectos técnicos do jogo.
O servidor usa Socket puro? O protocolo vocês que inventaram ou usaram o projeto Darkstar? E como estão fazendo para lidar com o lag?

G

Até hoje o máximo de jogadores online foi 3.
Eu não sei quantos ele suporta, mas deve ser pouco.

ViniGodoy:
Há uma série de pequenos erros de português e inglês no site. Seria legal corrigi-los:

No mais, parabéns pelo projeto. É muito raro chegarem tão longe. Seria legal falar de alguns aspectos técnicos do jogo.
O servidor usa Socket puro? O protocolo vocês que inventaram ou usaram o projeto Darkstar? E como estão fazendo para lidar com o lag?


Erros de português arrumados.

O servidor usa socket puro sim.
O que é Darkstar?
A comunicação entre cliente e servidor e feita com objetos serializados.
O lag é um problema que ainda não sei como resolver.
O banco de dados é Mysql.

Tb criamos um editor de mapas em java para o jogo.

V

Gelleo:
Até hoje o máximo de jogadores online foi 3.
Eu não sei quantos ele suporta, mas deve ser pouco.

Nesse caso ele ainda não é um “Massive” multiplayer online RPG. heheheheh

Legal, TCP ou UDP?

É um projeto que a Sun iniciou para servidores MMO. Hoje ele é mantido pela comunidade e chama-se RedDwarf:
http://www.reddwarfserver.org/

Não é muito eficiente. Provavelmente um protocolo escrito à mão com campos personalizados poderia aumentar muito o throughput do seu servidor. Procure pensar num protocolo também que evite a necessidade de confirmação de mensagens, o que te permitiria usar UDP e reduzir lags.

É impossível resolver o lag. Na internet, o tempo de ping será de pelo menos 200ms, o que é muito. Num dia ruim, você poderá ter lags de até 1ms.
O que você pode fazer para atenuar é:

  1. Fazer ações no cliente, mesmo sem receber a confirmação do servidor;
  2. Tratar clientes de modo que o lag de um não afete outro (isso envolve incluir timeouts para recebimentos de mensagem no game loop, por exemplo);
  3. Usar UDP (esse sim, atenua “de verdade” o problema de lag, mas não é um protocolo muito confiável);
  4. Manter o jogo otimizado (use para isso o VisualVM).

Muito legal o editor. Também acho o MySQL uma boa opção de BD. O servidor também foi feito em Java?

P

Além daquelas sugestões…

  1. Quando eu morro no jogo, porque fechar o jogo inteiro? Poderia ir simplesmente para a página de Login… Para abrir o jogo já demora um pouquinho, é uma perda de tempo desnecessária…

  2. Juntar poções assim como junta flechas

  3. As vezes dá algum bug, que o char anda sozinho, e não para… É necessário sair do jogo e entrar novamente

  4. Dar “logout” sem fechar a tela do jogo (para trocar de character por exemplo)

  5. Tem algum temporizador para fazer um “clean” no mapa do game?

  6. O método de avaliar qual equipamento é melhor por enquanto é o preço… Quandor der “olhar” no equipamento, poderia exibir a proteção dele num valor numérico, como o Tibia (arm: __)

FICOU 5 ANOS FAZENDO O JOGO?! OMG
Se bem que a equipe é só de 2 pessoas… Mas mesmo assim! xD
Nesse tempo você estava fazendo faculdade, ou foi após terminar?

P

Já descubri quando ocorre o Erro de “andar sozinho sem parar até sair do jogo”…

Se você segurar a seta pra ele andar para alguma direção, e depois apertar o “enter” para digitar alguma mensagem, ocorre o bug

T

comprei arma e armadura mais não acho os bixos o.o

P

HUAhuHAU
vai pro sul (pras laterais não tem mesmo)…
Cuidado com os lobos e os sapos! kkkk
Vai nas aranhas

M

Nested bags é quando voce tem uma bag dentro da outra.

Eu também já havia começado um MMO, mas parei com um editor um pouco mais simples que o seu e não era possivel atacar monstros ainda.

E eu imagino o tempo que gastaram no projeto, só para o que eu fiz foram pelo menos 6 meses trabalhando direto.

Pena que perdi os sources uma vez que perdi meu pen-drive, depois disso desisti de continuar. (PS: hoje em dia existe github :D)

D

Fala galera! Eu faço parte da equipe de desenvolvimento do ManiaOnline, no caso, sou o outro programador da equipe.
Acho que já comentei sobre o desenvolvimento desse jogo aqui no fórum, mas nós ainda não estávamos divulgando muito.
Vou ajudar nas respostas sobre o jogo :slight_smile:

ViniGodoy, usando UDP não é arriscado perdermos muitos pacotes deixando o cliente perdido? Sei que é mais rápido, mas num dia de lag ele deve piorar ainda mais o problema do lag com a perda de pacotes, não?

pedroroxd, tem algumas besteirinhas no jogo que estão atrapalhando mesmo, nós vamos tentar corrigi-las logo. Esse bug do personagem andar sozinho eu também percebi, o ouvinte do teclado não percebe o ‘released’ e o personagem não para de andar, basta apertar e soltar a seta do teclado novamente que ele para. Vou colocar este erro na lista de correções. O temporizador para dar um ‘clean’ no game ainda não está implementado, mas nada que não seja resolvido com um re-start manual no servidor hehehe.

Acho que o Leo deu uma exagerada no tempo de desenvolvimento… Mas deve ser quase isso hehehe, uns 4 anos acho. Na época nós estávamos fazendo faculdade sim, e trabalhando também, então o tempo era quase zero, depois que nos formamos (2009) o desenvolvimento está bem mais rápido, o ano de 2010 rendeu bastante. Como o Leo disse, teve épocas que nós tiramos umas férias do desenvolvimento também, principalmente no final do meu curso pra fazer o TCC (meu coordenador não aceitou apresentar o jogo porque disse que qualquer um faz um joguinho desses. Eu devia ter batido nele?) Outro motivo para a demora é que quando começamos o desenvolvimento tínhamos pouca experiência, principalmente eu que nem sabia Java hehehe (Sou programador COBOL), por algumas vezes tivemos que refazer alguns códigos, e com certeza ainda tem coisa que pode ser melhorada.

tioola, se não me engano (nem eu sei direito hehehe), tem umas aranhas abaixo da cidade (pro sul), e uns ratos a direita da cidade, são um pouco mais difíceis de achar. O Sapo e o Lobo estão meio fortes, cuidado com eles. Nós estamos trabalhando em um mapa novo e melhorando as imagens a algum tempo, na versão 0.09.00 deve ficar pronto, inclusive com uns monstros novos que eu achei que ficaram bem legais.

Marky, nós pretendemos fazer as ‘nested bags’ sim, a mochila com 16 itens apenas fica muito limitada, e alguns itens eu prefiro não permitir o empilhamento (como é feito nas flechas e moedas), não deve demorar muito e nós colocaremos esta melhoria em desenvolvimento. Que pena que você perdeu seu código, eu gostaria de ter conhecido o seu rpg.

K

Ola, estou comecando a desenvolver programas em Java e gostaria de participar da atualizacoes do Jogo, se puder programar alguma coisa para o jogo por favor me comuniquem!

Agradeco!

M

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 chao.

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.

V

Você precisa ter um protocolo organizado para isso, com numeração de mensagens, transmissão de updates.

Veja bem, um inimigo envia uma informação de posição, dizendo que está em (10,10). Em seguida, ele anda e envia a posição (10, 12). O primeiro pacote se perde. O segundo chega. Você realmente precisa retransmiti-lo? O que o TCP faz é segurar o segundo pacote até que o primeiro chegue, pois ele garante a chegada e a ordenação. E isso aumenta drasticamente o lag, uma vez que você espera por informações descenessárias.

O protocolo de MMOs é tipicamente escrito em UDP. Claro, alguns serviços como CHAT e trocas de arquivos, que podem depender de ordem e confiabilidade, usam TCP. Mas atualizações de estado do jogo, se implementadas na forma de um protocolo de stream, não precisam usar TCP. Como elas são frequentes e seriais, o UDP torna-se um excelente candidato para elas. O UDP também tem uma vantagem extra: ele é capaz de perfurar firewalls (procure sobre Hole Punching).

No mais, parabéns, por mais que tenha bugs, problemas e coisas para corrigir é muito raro alguém apresentar algo funcional, quem dirá um jogo online via internet. Sucesso para vocês. E, se quiserem escrever alguma coisa sobre a experiência lá no Ponto V, entre em contato.

L

ViniGodoy:

É impossível resolver o lag. Na internet, o tempo de ping será de pelo menos 200ms, o que é muito. Num dia ruim, você poderá ter lags de até 1ms.
O que você pode fazer para atenuar é:

  1. Fazer ações no cliente, mesmo sem receber a confirmação do servidor;
  2. Tratar clientes de modo que o lag de um não afete outro (isso envolve incluir timeouts para recebimentos de mensagem no game loop, por exemplo);
  3. Usar UDP (esse sim, atenua “de verdade” o problema de lag, mas não é um protocolo muito confiável);
  4. Manter o jogo otimizado (use para isso o VisualVM).

Muito legal o editor. Também acho o MySQL uma boa opção de BD. O servidor também foi feito em Java?

Vendo jogos de primeira pessoa que geralmente no Brasil conseguimos um latency de, no máximo, 50ms (tem servidores que dá pra jogar com 15ms por exemplo, tipo CS e TF2), não é possível ter tais latencies em servidores de mmo?! Ou é no máximo 200ms mesmo?

200ms eu só consigo se estiver em um servidor gringo (tipo wow)

V

Leozin:
Vendo jogos de primeira pessoa que geralmente no Brasil conseguimos um latency de, no máximo, 50ms (tem servidores que dá pra jogar com 15ms por exemplo, tipo CS e TF2), não é possível ter tais latencies em servidores de mmo?! Ou é no máximo 200ms mesmo?
200ms eu só consigo se estiver em um servidor gringo (tipo wow)

O problema de MMO é justamente o primeiro “M”. Quando você tem a coisa massiva você precisa de muita banda do lado do servidor, um tempo de atendimento de pacotes muito otimizado e precisa também levar em conta que um número de usuários jogando juntos irá colocar todos os tipos de conexão no servidor ao mesmo tempo.

Então, você terá que nivelar para o sujeito que usa uma rede de baixa velocidade num sábado à tarde, vindo de uma cidade no interior do país.

Em servidores FPS, o ambiente costuma a ser muito mais controlado.

G

Se não existisse essa dependência dele, bateria sim.

Criar jogos não é uma atividade trivial, se ele soubesse que o trabalho para se fazer tal jogo (mesmo que em estado primário, mas funcional) é algo absurdo, envolvendo programação mais complexa, com socks, leitura de sprites, acesso a matrizes de N dimensões e outras N coisas, com certeza ele iria mudar de ideia.

G

Yes. O servidor é java tb.

kestering:
Ola, estou comecando a desenvolver programas em Java e gostaria de participar da atualizacoes do Jogo, se puder programar alguma coisa para o jogo por favor me comuniquem!

Agradeco!

Dou a ideia de vc começar fazendo um jogo da velha, depois um tetris e ir evoluindo ao poucos.

ViniGodoy:

Veja bem, um inimigo envia uma informação de posição, dizendo que está em (10,10). Em seguida, ele anda e envia a posição (10, 12).

No mais, parabéns, por mais que tenha bugs, problemas e coisas para corrigir é muito raro alguém apresentar algo funcional, quem dirá um jogo online via internet. Sucesso para vocês. E, se quiserem escrever alguma coisa sobre a experiência lá no Ponto V, entre em contato.

Mas com isso o personagem não seria “teletransportado” da posição (10,10) para a (10,12)? Tenho que ver isso direitinho.

Quanto a escrever alguma coisa para o pontov vou ver com o Daniel sobre o que poderíamos falar.

Grinvon:

Se não existisse essa dependência dele, bateria sim.

Criar jogos não é uma atividade trivial, se ele soubesse que o trabalho para se fazer tal jogo (mesmo que em estado primário, mas funcional) é algo absurdo, envolvendo programação mais complexa, com socks, leitura de sprites, acesso a matrizes de N dimensões e outras N coisas, com certeza ele iria mudar de ideia.

Concordo em gênero, número e grau.

V

E, do jeito que você implementou, ele não se teletransporta também? Com o TCP, na situação que descrevi, vc receberá 2 pacotes seguidos, o (10,10) e o (10,12). A atualização fica tão rápida que ele também parece ter se teletransportado.

Não existe magia, o canal de comunicação é o mesmo. Ou você irá perder um pacote e receber outro, ou você irá esperar:

  1. Alguns milisegundos para descobrir que o pacote não chega mesmo;
  2. Todo tempo de retransmissão do pacote;

Para só então os dois pacotes chegarem juntos (o que estava atrasado + o que já chegou e só estava esperando o antigo).

Para disfarçar o “salto”, a maior parte dos jogos fazem o personagem mover-se rapidamente no client. É por isso que em tempos de lag, as vezes vemos gente parada e, em seguida, andando bem rápido.

G

Foi isso que fizemos no cliente. Vamos supor que o cliente recebeu 2 mensagens de uma vez. O cliente vai pegar esses 2 passos, vai guardar em uma lista, vai aumentar um pouco a velocidade do personagem e vai fazer a animação dele andado. Sem teletransportar. Quanto mais mensagens estiverem na fila para serem processadas pelo cliente, maior será a variável de aumento da velocidade do personagem.

[size=18]NOVIDADES[/size]

A versão 0.08.01 está 23% pronta.

Segue a lista de correções da versão 0.08.01

  1. Permitir fechar o painel de Status. (50% pronto)

  2. Criar o ‘Guia do Iniciante’. (50% pronto)

  3. Corrigir erro que faz o personagem andar sem parar. (100% pronto)

  4. Quando o personagem morrer, não fechar o jogo.

  5. Corrigir erro de monstros atacando a distância.

  6. Corrigir camada do painel Equipamentos que está ficando por cima do menu inicial.

  7. Colocar abertura do painel Status no popup do mouse.

  8. Corrigir troco da venda que vem todo picado.

  9. Corrigir erro de repetição dos textos do bate-papo.

  10. Deixar os monstros mais fracos.

  11. Parar de atacar um alvo quando clicar nele novamente.

  12. Corrigir venda de itens empilhados.

  13. O servidor algumas vezes não salva dados do personagem

  14. Espalhar os monstros pelo mapa

  15. Usando a espada, a habilidade que sobe é a mão limpa.

  16. Não salva habilidades quando morre (100% pronto)

V

Então não haveria problema. O que o UDP faria é deixar a mensagem 1 morrer. E, no fundo, você nem precisa dela, pois a 2 tem uma informação mais atual. Você faz o seu cliente caminhar até o local da mensagem 2 e pronto. :slight_smile:

O TCP irá aumentar o lag, quando ele faz o sistema parar e retransmitir uma informação desatualizada. É por isso que o UDP geralmente é usado na parte do jogo que faz esse tipo de atualização de estado, pois como essas atualizações são muito periódicas, não há problema em perder uma informação ou outra no caminho.

G

Você está certo.
No caso do MMORPG UDP é melhor.
Vou ver se faço isso na próxima versão.

Mas ai como resolvo o problema do login? Se perder uma mensagem dá erro.

[list]Quando faço o login o cliente me manda um objeto do tipo Login com o login e a senha do cara (MD5).[/list]
[list]O servidor recebe e valida a senha no banco.[/list]
[list]Se a senha estiver OK ele manda a lista de personagens pro cliente.[/list]
[list]O cliente escolhe o personagem e manda o nome desse personagem para o servidor.[/list]
[list]O servidor pega todas as informações do personagem e manda para o cliente.[/list]
[list]Inicia o jogo.[/list]

[size=18]NOVIDADES[/size]

A versão 0.08.01 está 78% pronta.

  1. Permitir fechar o painel de Status. (50% pronto)

  2. Criar o ‘Guia do Iniciante’. (100% pronto)

  3. Tirar o controle de velocidade da versão de produção (100% pronto)

  4. Erro na imagem do escudo de madeira (100% pronto)

  5. Corrigir erro que faz o personagem andar sem parar. (100% pronto)

  6. Quando o personagem morrer, não fechar o jogo. (100% pronto)

  7. Corrigir erro de monstros atacando a distância. (100% pronto)

  8. Corrigir camada do painel Equipamentos que está ficando por cima do menu inicial. (100% pronto)

  9. Colocar abertura do painel Status no popup do mouse. (100% pronto)

  10. Corrigir troco da venda que vem todo picado. (100% pronto)

  11. Corrigir erro de repetição dos textos do bate-papo. (100% pronto)

  12. Deixar os monstros mais fracos. (100% pronto)

  13. Parar de atacar um alvo quando clicar nele novamente. (100% pronto)

  14. Corrigir venda de itens empilhados.

  15. O servidor algumas vezes não salva dados do personagem

  16. Espalhar os monstros pelo mapa

  17. Usando a espada, a habilidade que sobe é a mão limpa.

  18. Não salva habilidades quando morre (100% pronto)

V

O login vc faz por TCP. Geralmente o UDP só é usado para atualização das informações do mundo mesmo. Para chat, login e trocas de arquivos, usa-se o TCP.

G

Nossa senhora! que resposta rápida! hehehe

Acho que vou ter que fazer isso mesmo. Vlw!

K

seria legal porta-lo para isometrico, da uma ilusao quase 3d, sei fazer mapa isometrico em javascript mais em java comecei agora, alguem sabe onde encontrar tutorial sobre mmorpg com java desde parte do servidor como cliente?

estou querendo desenvolver um.

G

Também acho que isométrico fica muito bom, muito bonito. Eu mesmo, adorava jogar Nigestalker, belo jogo do Genesis. Mas isométrico é um tanto mais difícil de se programar. A vantagem do plano de cima é que você já tem muita coisa pronta, e dar-se para reaproveitar mais ainda.

G

Acho que ninguém fez isso ainda. Mas se vc achar alguma coisa, me manda que eu quero tb! hehehe

[size=18]NOVIDADES[/size]

A versão 0.08.01 está 100% pronta.

  1. Permitir fechar o painel de Status. (100% pronto)

  2. Criar o ‘Guia do Iniciante’. (100% pronto)

  3. Tirar o controle de velocidade da versão de produção (100% pronto)

  4. Erro na imagem do escudo de madeira (100% pronto)

  5. Corrigir erro que faz o personagem andar sem parar. (100% pronto)

  6. Quando o personagem morrer, não fechar o jogo. (100% pronto)

  7. Corrigir erro de monstros atacando a distância. (100% pronto)

  8. Corrigir camada do painel Equipamentos que está ficando por cima do menu inicial. (100% pronto)

  9. Colocar abertura do painel Status no popup do mouse. (100% pronto)

  10. Corrigir troco da venda que vem todo picado. (100% pronto)

  11. Corrigir erro de repetição dos textos do bate-papo. (100% pronto)

  12. Deixar os monstros mais fracos. (100% pronto)

  13. Parar de atacar um alvo quando clicar nele novamente. (100% pronto)

  14. Corrigir venda de itens empilhados. (100% pronto)

  15. O servidor algumas vezes não salva dados do personagem (100% pronto)

  16. Espalhar os monstros pelo mapa (100% pronto)

  17. Usando a espada, a habilidade que sobe é a mão limpa. (100% pronto)

  18. Não salva habilidades quando morre (100% pronto)

M

Gostei da velocidade que o projeto está andando.

Só não sei por que, mas ficar vendo o jogo inteiro em portugues não me agrada.

G

Marky.Vasconcelos:
Gostei da velocidade que o projeto está andando.

Só não sei por que, mas ficar vendo o jogo inteiro em portugues não me agrada.

Não entendi. Você não gosta de jogos em português?

[size=18]NOVIDADES[/size]

Pessoal é com orgulho que informo o inicio do desenvolvimento da versão 0.09.00 do ManiaOnline.

Essa versão tem como objetivo principal criar o novo mapa 1000x1000.

Segue a lista de demandas da versão 0.09.00

  1. Atualizar WIKI (Monstros, equipamentos, lugares, etc).

  2. Memória MO

  3. Fazer com que o Ctrl+1,2,3,4,5 tb feche a mochila e os outros.

  4. Construir um mapa novo 1000x1000.

  5. Fazer uma cidade principal

  6. Fazer um cemitério

  7. Adicionar novos monstros

  8. Juntar dinheiro do troco

  9. Criar certificado novo com maniabr.com.br

  10. [ERRO] Conexão cai e cliente continua

  11. [ERRO] Não permitir 2 personagens com mesmo nome

  12. [Erro] [ManiaEditor] conta-gotas

  13. [ERRO] Usando a espada, a habilidade que sobe é a mão limpa.

  14. Adicionar o escudo na lista de itens do vendedor Pedro.

  15. Criar itens raros como prêmios das missões

  16. Mostrar ataque e defesa das roupas.

  17. [ERRO] Fazer os monstros andarem direito

  18. [Erro] Arrastar menu para fora da janela e perder o foco

  19. Criar um favicon para o site.

  20. Arrumar textos “Fulano matou UM ARANHA”

  21. [ERRO] Mostrar o menu do personagem quando clica no personagem

  22. Criar itens de comida

  23. Criar missões para monstros novos

  24. [Erro] Monstros travando

  25. [Erro] Dano do monstro positivo

  26. Mudar o nome do jogo

  27. Desvincular imagens do editor

  28. Aumentar e diminuir o zoom no editor de mapas

  29. Substituir azulejos no editor

  30. [Erro] Quando tenta entrar de novo sem fechar o jogo o cliente trava.

  31. [ERRO] Erro no vendedor

M

É, 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.

Voces tem algum editor de mapas? Se não, acho que isso poderia ser a proxima tarefa de voces.

D

EAi Gelleo muitoo loko jogo eim… show continuem assim cara.

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.

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.

M

Também dei uma parada nos meus projetos, mas foi por causa de tempo agora. E deve ter ficado bem legal agora com isometria.

E também aproveitar a dica do Godoy sobre usar UDP.

G

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.

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.

M

Ah é, tinha esquecido.

G

Só atualizando o andamento do Projeto

Versão 0.09.00 22% pronta!

  1. Atualizar WIKI (Monstros, equipamentos, lugares, etc). (10% pronto)

  2. Memória MO (100% pronto)

  3. Fazer com que o Ctrl+1,2,3,4,5 tb feche a mochila e os outros. (100% pronto)

  4. Construir um mapa novo 1000x1000.

  5. Fazer uma cidade principal

  6. Fazer um cemitério

  7. Adicionar novos monstros

  8. Juntar dinheiro do troco (100% pronto)

  9. Criar certificado novo com maniabr.com.br

  10. [ERRO] Conexão cai e cliente continua on (100% pronto)

  11. [ERRO] Não permitir 2 personagens com mesmo nome (100% pronto)

  12. [Erro] [ManiaEditor] conta-gotas

  13. [ERRO] Usando a espada, a habilidade que sobe é a mão limpa.

  14. Adicionar o escudo na lista de itens do vendedor Pedro.

  15. Criar itens raros como prêmios das missões

  16. Mostrar ataque e defesa das roupas.

  17. [ERRO] Fazer os monstros andarem direito

  18. [Erro] Arrastar menu para fora da janela e perder o foco

  19. Criar um favicon para o site.

  20. Arrumar textos “Fulano matou UM ARANHA”

  21. [ERRO] Mostrar o menu do personagem quando clica no personagem

  22. Criar itens de comida

  23. Criar missões para monstros novos

  24. [Erro] Monstros travando

  25. [Erro] Dano do monstro positivo

  26. Mudar o nome do jogo

  27. Desvincular imagens do editor

  28. Aumentar e diminuir o zoom no editor de mapas

  29. Substituir azulejos no editor

  30. [Erro] Quando tenta entrar de novo sem fechar o jogo o cliente trava.

  31. [ERRO] Erro no vendedor

S

Caramba Curti :stuck_out_tongue_winking_eye:
Me lembra o inicio de TIBIA os gráficos HOAOHAOa
Quando jogava a 10 anos atrás.
Nostálgico

Show Parabéns!

D

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…

=)

G

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?

K

Ficou bem parecido com o rpgMaker.

M

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á.

G

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á.

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.

Bom, de qualquer forma, foi uma sugestão.

G

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…

=)

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!

  1. Atualizar WIKI (Monstros, equipamentos, lugares, etc). (15% pronto)

  2. Memória MO (100% pronto)

  3. Fazer com que o Ctrl+1,2,3,4,5 tb feche a mochila e os outros. (100% pronto)

  4. Construir um mapa novo 1000x1000.

  5. Fazer uma cidade principal

  6. Fazer um cemitério

  7. Adicionar novos monstros

  8. Juntar dinheiro do troco (100% pronto)

  9. Criar certificado novo com maniabr.com.br (60% pronto)

  10. [ERRO] Conexão cai e cliente continua (100% pronto)

  11. [ERRO] Não permitir 2 personagens com mesmo nome (100% pronto)

  12. [Erro] [ManiaEditor] conta-gotas (100% pronto)

  13. [ERRO] Usando a espada, a habilidade que sobe é a mão limpa. (100% pronto)

  14. Adicionar o escudo na lista de itens do vendedor Pedro. (100% pronto)

  15. Criar itens raros como prêmios das missões

  16. Mostrar ataque e defesa das roupas.

  17. [ERRO] Fazer os monstros andarem direito

  18. [Erro] Arrastar menu para fora da janela e perder o foco

  19. Criar um favicon para o site.

  20. Arrumar textos “Fulano matou UM ARANHA”

  21. [ERRO] Mostrar o menu do personagem quando clica no personagem

  22. Criar itens de comida

  23. Criar missões para monstros novos

  24. [Erro] Monstros travando

  25. [Erro] Dano do monstro positivo

  26. Mudar o nome do jogo

  27. Desvincular imagens do editor

  28. Aumentar e diminuir o zoom no editor de mapas

  29. Substituir azulejos no editor

  30. [Erro] Quando tenta entrar de novo sem fechar o jogo o cliente trava.

  31. [ERRO] Erro no vendedor

  32. [Erro] Zé Matador não responde

D

Ah sim… mais como voce voce faz o “broadcast” as atualizaçoes? tem algumas formas de implementar como o seu ta trabalhando?

G

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.

D

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.

G

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.

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!

  1. Atualizar WIKI (Monstros, equipamentos, lugares, etc). (20% pronto)

  2. Memória MO (100% pronto)

  3. Fazer com que o Ctrl+1,2,3,4,5 tb feche a mochila e os outros. (100% pronto)

  4. Construir um mapa novo 1000x1000.(50% pronto)

  5. Fazer uma cidade principal (5% pronto)

  6. Fazer um cemitério

  7. Adicionar novos monstros

  8. Juntar dinheiro do troco (100% pronto)

  9. Criar certificado novo com maniabr.com.br (60% pronto)

  10. [ERRO] Conexão cai e cliente continua (100% pronto)

  11. [ERRO] Não permitir 2 personagens com mesmo nome (100% pronto)

  12. [Erro] [ManiaEditor] conta-gotas (100% pronto)

  13. [ERRO] Usando a espada, a habilidade que sobe é a mão limpa. (100% pronto)

  14. Adicionar o escudo na lista de itens do vendedor Pedro. (100% pronto)

  15. Criar itens raros como prêmios das missões

  16. Mostrar ataque e defesa das roupas. (100% pronto)

  17. [ERRO] Fazer os monstros andarem direito

  18. [Erro] Arrastar menu para fora da janela e perder o foco (100% pronto)

  19. Criar um favicon para o site.

  20. Arrumar textos “Fulano matou UM ARANHA”

  21. [ERRO] Mostrar o menu do personagem quando clica no personagem

  22. Criar itens de comida

  23. Criar missões para monstros novos

  24. [Erro] Monstros travando

  25. [Erro] Dano do monstro positivo

  26. Mudar o nome do jogo

  27. Desvincular imagens do editor

  28. Aumentar e diminuir o zoom no editor de mapas

  29. Substituir azulejos no editor

  30. [Erro] Quando tenta entrar de novo sem fechar o jogo o cliente trava.

  31. [ERRO] Erro no vendedor (100% pronto)

  32. [Erro] Zé Matador não responde

  33. [ERRO] Personagem Sempre Logado

D

é faz sentido a sua implementação mais tem que ser muito rapido… desses broadcast desse obj.

D

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.

S

Vi que pegaram alguns itens de TIBIA cuidado com isso viu…
o Bow a Arrow eo Axe Ring =S
e alguns outros sprites

G

Saladinha:
Vi que pegaram alguns itens de TIBIA cuidado com isso viu…
o Bow a Arrow eo Axe Ring =S
e alguns outros sprites

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]

  1. Atualizar WIKI (Monstros, equipamentos, lugares, etc). (45% pronto)

  2. Memória MO (100% pronto)

  3. Fazer com que o Ctrl+1,2,3,4,5 tb feche a mochila e os outros. (100% pronto)

  4. Construir um mapa novo 1000x1000.(50% pronto)

  5. Fazer uma cidade principal (5% pronto)

  6. Fazer um cemitério

  7. Adicionar novos monstros (100% pronto)

  8. Juntar dinheiro do troco (100% pronto)

  9. Criar certificado novo com maniabr.com.br (60% pronto)

  10. [ERRO] Conexão cai e cliente continua (100% pronto)

  11. [ERRO] Não permitir 2 personagens com mesmo nome (100% pronto)

  12. [Erro] [ManiaEditor] conta-gotas (100% pronto)

  13. [ERRO] Usando a espada, a habilidade que sobe é a mão limpa. (100% pronto)

  14. Adicionar o escudo na lista de itens do vendedor Pedro. (100% pronto)

  15. Criar itens raros como prêmios das missões (100% pronto)

  16. Mostrar ataque e defesa das roupas. (100% pronto)

  17. [ERRO] Fazer os monstros andarem direito (100% pronto)

  18. [Erro] Arrastar menu para fora da janela e perder o foco (100% pronto)

  19. Criar um favicon para o site. (100% pronto)

  20. Arrumar textos “Fulano matou UM ARANHA” (100% pronto)

  21. [ERRO] Mostrar o menu do personagem quando clica no personagem (100% pronto)

  22. Criar itens de comida (50% pronto)

  23. Criar missões para monstros novos (100% pronto)

  24. [Erro] Monstros travando

  25. [Erro] Dano do monstro positivo

  26. Mudar o nome do jogo

  27. Desvincular imagens do editor

  28. Aumentar e diminuir o zoom no editor de mapas

  29. Substituir azulejos no editor

  30. [Erro] Quando tenta entrar de novo sem fechar o jogo o cliente trava.

  31. [ERRO] Erro no vendedor (100% pronto)

  32. [Erro] Zé Matador não responde

  33. [ERRO] Personagem Sempre Logado

J

Quando vc chega na coordenada X:1 e continua avançando ele volta pra x:400 então acredito que ele esteja dando uma volta ao redor do mapa… era pra ser este o comportamento ou deveria travar no final do mapa?

G

Exatamente, o mundo é redondo! Deu um trabalho fazer isso…

M

Exatamente, o mundo é redondo! Deu um trabalho fazer isso…

Wow… heheheh
Por essa eu não esperava, gostei.

J

Exatamente, o mundo é redondo! Deu um trabalho fazer isso…

Mas isso não ira gerar situações estranhas? Porque as extremidades dos mapas deveram seguir o mesmo “tema” de paisagem senão ficara algo meio sem nexo…

Por exemplo se vc tem um rio na coordenada X:1 que atravessa todo o mapa quando vc chegar na coordenada X:400 vc encontrará o mesmo rio, então daria a impressão que o mapa esta cercado por 2 rios mas na verdade é o mesmo…

M

Para criar a ilusão de um mapa redondo ia ter que tomar muito cuidado, fora o fato de que nao ia ser muito facil usar continentes, se existirem a noção de mundo redondo ira por agua abaixo, pois o usuario vai sempre estar no mesmo continente quando passar para o outro lado.

J

Senti falta do movimento na diagonal… principalmente para os monstros fica muito “artificial” o jeito que eles se deslocam…
Ah também da para deslogar mesmo se tiver algum bicho te batendo, podia ter um tempo de espera de 5 segundos desde o último ataque recebido ou efetuado…
As aranhas também as vezes ficam te atacando mesmo vc estando fora do alcance, não sei se é por culpa do lag ou problema do jogo…

D

voce tem blog?

seria legal você blogar as sobre técnicas que vc vem usando…

G

Jose111:
Mas isso não ira gerar situações estranhas? Porque as extremidades dos mapas deveram seguir o mesmo “tema” de paisagem senão ficara algo meio sem nexo…

Por exemplo se vc tem um rio na coordenada X:1 que atravessa todo o mapa quando vc chegar na coordenada X:400 vc encontrará o mesmo rio, então daria a impressão que o mapa esta cercado por 2 rios mas na verdade é o mesmo…

Não sei se entendi o que vc falou, mas seria isso mesmo. Se tem alguma coisa na coordenada X:1 quando ele der a volta ao mundo e chegar na coordenada X:400 ele encontrará a coisa novamente.

Tem que ter cuidado sim. No mapa atual colocamos todas as “bordas” como grama, ai não dá problema.
Mas nesse novo mapa as “bordas” do mapa será água. Ai o cara só vai poder dar a volta ao mundo de barco.

Jose111:
Senti falta do movimento na diagonal… principalmente para os monstros fica muito “artificial” o jeito que eles se deslocam…
Ah também da para deslogar mesmo se tiver algum bicho te batendo, podia ter um tempo de espera de 5 segundos desde o último ataque recebido ou efetuado…
As aranhas também as vezes ficam te atacando mesmo vc estando fora do alcance, não sei se é por culpa do lag ou problema do jogo…

Na versão 0.09.00 estamos melhorando a forma do monstro andar, a AI dos monstros ainda esta ruim.
Em uma versão futura vou colocar a diagonal e só poder deslogar depois de X segundos desde o último ataque.

Não sei se esse problema do ataque das aranhas é lag ou um bug mesmo. Vou dar uma olhada.

Valew pelas dicas.

Diabo Loiro:
voce tem blog?

seria legal você blogar as sobre técnicas que vc vem usando…

Eu não sei sobre o que eu escreveria no blog. O que vc sugere?

D

escrever sobre como voce implementou o jogo… ia ter bastante acessos pois não tem muito blog com esse tipo de conteúdo.

exemplos de posts

como implementou o mapa redondo
como implementou o servidor
como você desenha o mapa
implementar colisão

etc… tem tanto assunto legal… e dependendo do detalhamento e qualidade do post… o pessoal possa sugerir melhorias significativas nos seus algoritmos.

mais é só uma sugestão.

M

É, de barco resolve o problema, essa idéia é bem legal.

R

Pra galera que conhece, usar RMI em jogo é uma boa ideia ou enviar strings ainda é melhor (mais rápido, confiável etc)?

M

Na verdade o esquema é criar um protocolo proprio e usar o UDP para transferir as mensagens.

D

Explicando um pouco sobre o ‘mundo redondo’.

Quando você chega ao limite do mapa (hoje é 400 azulejos) você passa para o azulejo 1 e consegue dar a volta ao mundo, então se você andar sem parar em uma direção qualquer (desde que não tenha colisão) você volta para onde estava. Eu acho isso muito legal, deixa o ‘mundo’ mais natural, mais parecido com o nosso. Só que hoje nós temos a intenção de usar continentes, o mapa novo que estamos fazendo tem 1000x1000 azulejos e tem apenas 1 continente, uma ilha vulcanica. Desta forma, não tem mais como dar a volta ao mundo a pé (a não ser que eu deixasse este continente circular o mundo inteiro, que não é o caso), mas quando nós implementarmos navegação com barcos, será possível viajar entre os continentes/ilhas sem limite de fim de mapa, já que o mundo é redondo.

Hoje é possível saber quando cruza essa ‘fronteira’ vendo a posição X e Y que é exibida na tela, mas nós deixamos isso aparecendo para testes, na versão oficial possivelmente não terá isso, e ninguem perceberá quando cruzou esta fronteira, apenas saberão que é possível dar a volta ao mundo.

O Leo quer me matar por eu ter dado e idéia de fazer essa função do mundo redondo, pois nós já sofremos MUITO por causa disso e agora fazendo um continente, não tem mais como usufruir dessa funcionalidade hehehe.

Só de exemplo dos problemas que tivemos, quando o monstro está de um lado da fronteira e o personagem do outro, dá um trabalhão de cálculos pra calcular a distancia entre eles, pra fazer o monstro ir na direção do personagem, etc… Parece simples, mas não é nem um pouco, só na hora de implementar e testar que eu percebi o tamanho do problema que eu tava trazendo para o jogo com essa idéia de mundo redondo. Mas agora já foi, está pronto, e eu espero poder implementar barcos para poder usufruir dessa funcionalidade e permitir viagens entre continentes.

G

danielfroes:

O Leo quer me matar por eu ter dado e idéia de fazer essa função do mundo redondo, pois nós já sofremos MUITO por causa disso e agora fazendo um continente, não tem mais como usufruir dessa funcionalidade hehehe.

Eu ralei pra fazer isso e agora com esse novo mapa vai matar o mundo redondo.

R

O jogo tem o código fonte aberto? Uma boa ideia seria colocar o projeto no github assim mais pessoas poderiam contribuir com o projeto (o que aceleraria muito o desenvolvimento).

J

Alguma novidade no projeto?

E

se tratando de linux… a conexão tcp/udp funciona corretamente?
quero jogar! vou ser top no seu servidor kkkk

R

gostei
continue com o bom trabalho =)

G

O código não é aberto. Um dia quem sabe, mas por enquanto não.

O projeto tá parado. Vamos ver se nesse final de semana eu faço alguma coisa.

Elizeu_Santos:
se tratando de linux… a conexão tcp/udp funciona corretamente?
quero jogar! vou ser top no seu servidor kkkk

Renann:
gostei
continue com o bom trabalho =)

Vlw ai!

M

Pode me tirar umas duvidas?

Fizeste um SERVIDOR neste jogo ou é acesso Cliente <->Banco de Dados?

Caso esteja usando um servidor, aonde esta hospedando ele?

Fizeste ele em Swing, o que usaste para gerar os Widgets (GUI)?

M

Michel.Montenegro:
Pode me tirar umas duvidas?

Fizeste um SERVIDOR neste jogo ou é acesso Cliente <->Banco de Dados?

Caso esteja usando um servidor, aonde esta hospedando ele?

Fizeste ele em Swing, o que usaste para gerar os Widgets (GUI)?

Não participo desse projeto mas consigo responder com o que sei.

Existe um servidor sim, e ele que mantem o estado do mundo do jogo e conversa com os clientes.
Ele pode estar hospedado em qualquer lugar.

E para gerar aqueles menus dentro da GUI acredito que foi tudo na mão mesmo.

F

Alguma novidade?
.
Muito bom o projeto, parabéns!
.
[]

W

O Site ta OFF

o projeto foi descontinuado?

M

Não sei, queria até perguntar aonde eles hospedavam o servidor deles. Pois estou em um projeto parecido, tem aqui no GUJ o topico ( JMMORPG ), e queria um local para hospedar o meu server.

Criado 3 de fevereiro de 2011
Ultima resposta 2 de dez. de 2011
Respostas 83
Participantes 25