Central Habbo Forum
Ainda não está Registrado ? , Então está esperando o que ? , Registre-se e disfrute do melhor do Fórum, se já for registrado, só faça o login

(Observações : Usuários não registrados não tem direitos a nenhum conteúdo)
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Conectar-se

Esqueci minha senha

Últimos assuntos
» gente o melhor habbo q existe
Seg Jan 30 2012, 12:27 por lucas-nobile@hotmail.com

» [Tutorial GameMaker] Variáveis
Sex Nov 18 2011, 09:12 por admin

» Survival of the Ball 1.0
Sex Out 07 2011, 00:54 por admin

» Criando Habbo Retro (Sem Hamachi)
Dom Set 11 2011, 13:54 por -Desconectado

» Como criar um habbo V65 com Bling + Valentim 2011 + Bola + Freeze e sem Bug
Dom Ago 28 2011, 15:46 por admin

» Master emulator 100% fixado r63.2
Ter Ago 23 2011, 19:52 por idiegofelicio

» Server Habbo Pirata com VIP Club e HC Club
Sab Ago 20 2011, 11:39 por admin

» Calculadoras no Delphi 7
Dom Ago 14 2011, 20:49 por ♥Giulia♥

» [TutorialGamemaker]Criando Jogo de plataforma simples
Qua Ago 10 2011, 13:05 por admin

Palavras chave

Flux RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 


Social bookmarking

Social bookmarking digg  Social bookmarking delicious  Social bookmarking reddit  Social bookmarking stumbleupon  Social bookmarking slashdot  Social bookmarking yahoo  Social bookmarking google  Social bookmarking blogmarks  Social bookmarking live      

Conservar e compartilhar o endereço de Central Habbo Forum em seu site de social bookmarking

Conservar e compartilhar o endereço de Central Habbo Forum em seu site de social bookmarking


[Game Maker]Criando um jogo Multiplayer Online !

Ir em baixo

[Game Maker]Criando um jogo Multiplayer Online !

Mensagem  admin em Qui Mar 03 2011, 12:17

Criando um jogo Multiplayer Online

Game Maker: 6.1 (Ou superior)
Nível de experiência: Avançado

Descrição:

A algum tempo venho pensando em criar jogos multiplayer online,
mas acabei não criando por preguiça. E então o Near criou o jogo online dele,
e então tive vontade de fazer.

No início, usava a dll 39dll.dll, e não conseguia me conectar..

Então, vi que o Near usava o mplay, e nenhuma dll (calma, não decompilei o programa dele, apenas vi que não tinha nenhuma dll xD), então, resolvi estudar o help do gm e criar meu próprio jogo multiplayer online.

Em apenas 1 dia e meio de estudo, criei meu primeiro jogo multiplayer online.

E venho aqui, mostrar passo-a-passo como vocês criar seus próprios jogos online.
Aviso! O multiplayer online que consigo fazer até agora, é para duas pessoas, tentarei dar possibilidades infinitas de jogadores em breve.

1 - Estabelecendo uma conexão

Bom, eu uso a conexão TCP/IP, então ensinarei como se conectar com ela.

Primeiro crie um objeto chamado obj_conectar, adicione o seguinte código no evento Create:

Código:
if !mplay_init_tcpip("Meu IP")
{
show_message("Erro na conexão")
game_end();
}

O código acima, faz com que caso a conexão com seu IP seja estabelecida,
ir para a próxima room, caso contrário, dê erro na conexão.

Pronto, a conexão já foi estabelecida.

2 - Criando uma sessão

Para jogos multiplayer online, são necessárias sessões (pelo menos no gm eh assim oO').
O dono do IP, servirá como um servidor, ou seja, abrindo uma nova sessão, para outros jogarem com você, você irá precisar enviar seu endereço IP para essas pessoas.

Então, irei dizer aqui como criar uma sessão e entrar numa sessão já existente.

Criando uma nova sessão

Para criar uma nova sessão, crie um objeto chamado obj_novasessao, e adicione uma sprite a ele, adicione o seguinte código ao evento Mouse Left Pressed:

Código:
global.nome = get_string("Seu nome:","")
if mplay_session_create('',2,global.nome)
{
room_goto_next();
}
else
{
show_message("Erro ao criar uma nova sessão.")
}

No código acima, faz com que você digite seu nome,
e crie a sessão. Caso não dê para criar essa sessão por algum erro ocorrido,
a mensagem de erro será exibida.

Explicando o código:

Código:
mplay_session_create = Código para criar uma nova sessão
'' = aqui seria o nome da sessão, deixe em branco
2 = número de identificação do jogador
global.nome = variável do seu nome

Entrar numa sessão já existente

Para entrar em uma sessão criada por um amigo, iremos checar se existe
essa sessão, e então entrar nela, caso contrário, exibir uma mensagem de erro, crie um objeto chamado obj_entrarsessao e digite o seguinte codigo no evento Mouse Left Pressed:

Código:
global.nome=get_string("Seu nome:","")
if mplay_session_find()>0
{
if mplay_session_join(0,global.nome)
{
room_goto_next();
}
else
{
show_message("Erro ao entrar no jogo.")
}
}
else
{
show_message("Não há sessões disponíveis.")
}

O código "mplay_session_find()>0" checa se há alguma sessão,
e se ela existir, entrar no jogo com o nome da variável "global.nome".

3 - Enviando mensagens

Bom, sua conexão já está estabelecida, e já dá para criar ou entrar em alguma sessão, o que iremos fazer agora, é enviar mensagens.

-Como assim, mensagens?

É isso mesmo, mensagens.
Tudo o que se faz na sua tela, tem que aparecer na tela do outro jogador,
e essas informações são as mensagens. Por exemplo, a posição X e Y do player 1, tem que aparecer para o player 2, e para isso, a mensagem do X e Y do player 1 é enviada para o player 2.

Iremos criar 2 players com a mesma sprite, crie um círculo simples apenas para testes, 1 terá o movimento que você irá programar (Pode ser movimento RPG, plataforma, etc...), e o 2, será um objeto sem ações, para que as ações do player 2 no outro computador, sejam reproduzidas nele.

Bom, irei programar um movimento simples no obj_player1, então, adicione isso no evento Step:

Código:
if keyboard_check(vk_up) then y-=4
if keyboard_check(vk_down) then y+=4
if keyboard_check(vk_left) then x-=4
if keyboard_check(vk_right) then x+=4

Bom, pelo que você pode ver, ele só trabalha com movimento simples, de apenas 8 direções.

Agora iremos enviar a mensagem da posição do player 1 para o player 2, adicione no evento Step também:

Código:
mplay_message_send(0,1,x)
mplay_message_send(0,2,y)

Bom, irei explicar:

Código:
mplay_message_send = Código para o envio de mensagens
0 = Número do jogador
1 = Número de identificação da mensagem (Explicarei mais tarde)
x = Valor da mensagem, isso é o que será enviado para o outro jogador, a mesma coisa do Y, enviando o X e o Y, é enviada a posição exata do player 1.

Agora, essa mensagem foi enviada para o outro jogador, então, o que iremos fazer agora, é "reproduzir" essa mensagem. Crie um objeto chamado "obj_controlador", ele irá controlar as mensagens do jogo.

Adicione isso no evento Create:

Código:
mplay_data_mode(true);

Adicione um evento Step nele e escreva:

Código:
//Lendo mensagens
{
  while (mplay_message_receive(0))
  {
    messid = mplay_message_id();
    val = mplay_message_value();
    // Checando mensagens
    if (messid == 1) obj_player2.x=val;
    if (messid == 2) obj_player2.y=val;
  }
}

Bom, aqui é simples, irei explicar apenas a parte da variável "messid" e a "val",
essa variável identifica o número de identificação de cada mensagem, a variável "val" identifica o valor de cada mensagem.

Veja a parte:

if (messid == 1) obj_player2.x=val;
if (messid == 2) obj_player2.y=val;

Lá em cima, você viu o envio das mensagens, o número 1 corresponde ao X do player 1, e o 2 correspondo ao Y do player 1. Os seus movimentos no seu computador, corresponde aos movimentos do player 2 no computador de seu amigo, ou seja, o que você fizer aqui como player 1, aparecerá lá como player 2.

Lembrando, que apenas a sua posição X e Y está sendo enviada para o outro jogador, caso você mude de sprite, deverá enviar a mensagem da sua sprite atual, é a mesma coisa do X e do Y:

Código:
mplay_message_send(0,3,sprite_index)

E então, no controlador:

Código:
if (messid == 3) obj_player2.sprite_index=val;

Obs: Adicione os objetos obj_conectar, obj_novasessao e obj_entrarsessao na primeira room do jogo, o objeto obj_controlador e os dois jogadores adicione na segunda room do jogo.

By Froidz.
Pronto! terminamos pessoal, espero que tenham entendido como criar seu jogo Multiplayer Online.

Esse tutorial é original feito por mim, tive um certo trabalho para concluír o teste online, embora tenha feito em menos de 2 dias, não tinha conhecimento e aprendi, e espero que caso forem publicar esse tutorial em outros sites, apenas coloque os devidos créditos.

Creditos:Froidz Da GMBR Forum !

__________________________

Sou Fãn De:
[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
admin
Administradores
Administradores

Mensagens Mensagens : 201
Pontos Pontos : 572
Reputação Reputação : 64
Data de inscrição Data de inscrição : 15/06/2010
Idade Idade : 23
Localização Localização : Curitiba-PR

Ver perfil do usuário http://centralhabbo.forumbrasil.net

Voltar ao Topo Ir em baixo

Re: [Game Maker]Criando um jogo Multiplayer Online !

Mensagem  NataliaGata10 em Sab Abr 23 2011, 18:18

eu não entendi muito o tutorial , porque foi coisa de mais pra ler, não consegui gravar tudo isso em tão pouco tempo.Dai eu terei que ler tudo de novo ficar um varios dias lendo pra entender.Mais foi bom ter parado pra ler, algumas coisas pra criar meu jogo eu aprendi... Very Happy
avatar
NataliaGata10
Membros
Membros

Mensagens Mensagens : 1
Pontos Pontos : 2
Reputação Reputação : 1
Data de inscrição Data de inscrição : 23/04/2011
Idade Idade : 24
Localização Localização : Rua: Estrada da Raia. número: 319

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Quem BOm !

Mensagem  admin em Sab Abr 23 2011, 20:34

NataliaGata10 escreveu:eu não entendi muito o tutorial , porque foi coisa de mais pra ler, não consegui gravar tudo isso em tão pouco tempo.Dai eu terei que ler tudo de novo ficar um varios dias lendo pra entender.Mais foi bom ter parado pra ler, algumas coisas pra criar meu jogo eu aprendi... Very Happy


Sim,mais sujuro que vc começe a criar jogos mais simples,duvidas eu ajudo,mais para criar jogos no game maker nao e muito difil nao,vo trazer uns tutoriais a vc mais simples sobre o game maker

__________________________

Sou Fãn De:
[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
admin
Administradores
Administradores

Mensagens Mensagens : 201
Pontos Pontos : 572
Reputação Reputação : 64
Data de inscrição Data de inscrição : 15/06/2010
Idade Idade : 23
Localização Localização : Curitiba-PR

Ver perfil do usuário http://centralhabbo.forumbrasil.net

Voltar ao Topo Ir em baixo

Re: [Game Maker]Criando um jogo Multiplayer Online !

Mensagem  Fear em Seg Ago 01 2011, 15:39

Bom tópico me ajudou e vai ajudar os outros tbm Very Happy!
avatar
Fear
Moderadores
Moderadores

Mensagens Mensagens : 10
Pontos Pontos : 14
Reputação Reputação : 0
Data de inscrição Data de inscrição : 01/08/2011
Idade Idade : 27
Localização Localização : debaixo da ponter eér

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [Game Maker]Criando um jogo Multiplayer Online !

Mensagem  admin em Seg Ago 01 2011, 15:47

Fear escreveu:Bom tópico me ajudou e vai ajudar os outros tbm Very Happy!

Basta Presta Atençao nos Codicos que fica facil mesmo ^^ !

__________________________

Sou Fãn De:
[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
admin
Administradores
Administradores

Mensagens Mensagens : 201
Pontos Pontos : 572
Reputação Reputação : 64
Data de inscrição Data de inscrição : 15/06/2010
Idade Idade : 23
Localização Localização : Curitiba-PR

Ver perfil do usuário http://centralhabbo.forumbrasil.net

Voltar ao Topo Ir em baixo

Re: [Game Maker]Criando um jogo Multiplayer Online !

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum