0 Favourites

Photon Cloud: Multiplayer [Portuguese]

  • Como Taurian disse no OP: "Isso seria um grande addon - A capacidade de se poder comunicar com jogos de Multijogador usando: Photon Cloud Service".

    Mas tivemos que esperar seis meses antes da ExitGames sair com seu SDK de Nuvem em JavaScript. E ent?o voc? teve de esperar enquanto eu me converti para a vers?o alfa do meu plugin PhotonPlayer para o servidor Photon (veja meu post de 7 de julho de 2012) a um comportamento PhotonClient para a nuvem Photon. E eu tive que esperar at? que a equipa de Photon encontra-se tempo para participar no desenvolvimento.

    Mas eu decidi que n?o podia esperar mais e ent?o eu prossegui sozinho, seguindo o meu caminho atrav?s da documenta??o interna bastante escassa do Photon SDK de Nuvem em JavaScript, para chegar a um demo em Construct 2 do meu comportamento Photon Client para o Photon Cloud.

    Isto ? o que voc? pode esperar para ver quando voc? executar o demo e voc? ? o terceiro a participar com dois jogadores j? jogando em outros dois PCs (eu n?o testei em outros dispositivos):

    Assim, para obter a minha demonstra??o em funcionamento:

    1) Registe-se na ExitGames para uma conta de nuvem Photon no "Plano Forever Free", em que voc? fica com uma conta de um m?ximo de 20 CCU. Voc? receber? um ID de aplica??o que voc? vai precisar no Passo 4. (? um identificador criado para a sua aplica??o na Nuvem de Photons, usado quando um aplicativo cliente se junta. Ele separa os utilizadores do seu aplicativo de utilizadores de outros aplicativos em nuvem.)

    2) Agora voc? precisa ter acesso a um servidor web HTTP (se voc? n?o tem acesso a um servidor remoto, voc? pode usar localhost para uma demonstra??o in-house). Configure uma pasta no servidor web a partir do qual poder? servir a sua demonstra??o de exemplo:

    • Vou cham?-lo de 'photonclient.workout' nas etapas seguintes.

    3) Fa?a o download dos arquivos de demonstra??o do exerc?cio da minha conta Dropbox: https://dl.dropbox.com/u/54915877/photon.workout.zip

    4) Copie todos os arquivos do download da Dropbox, para a sua pasta photonclient.workout, preservando as subpastas (css, imagens, media, photons).

    5) Coloque num editor de texto o ficheiro cloud-app-info-template.js que est? na pasta photonclient.workout.

    6) Guarda o ficheiro de volta para a mesma pasta renomeado como cloud-app-info.js.

    7) Edite-o para alterar o valor da cadeia MasterAddress para o seu Photon Nuvem Mestre servidor mais pr?ximo - voc? pode encontrar uma lista deles em http://doc.exitgames.com/photon-cloud/Regions/#cat-reference. Voc? precisar? substituir a 'port' (seguindo o c?lon) com '9090' (apenas os quatro d?gitos, e n?o as aspas).

    8) Alterar o valor da cadeia AppId ao ID do aplicativo que voc? recebeu no Passo 1.

    9) Abra o navegador (Firefox/Chrome/Safari/IE10) e entrar no endere?o photonclient.workout onde voc? copiou os meus arquivos de demonstra??o do exemplo, e que agora tamb?m cont?m o seu pr?prio arquivo de cloud-app-info.js j? editado.

    10) Digite o seu apelido de 3 caracteres e clique no bot?o "Join".

    11) Partilha o link com um amigo e leva-o a fazer o mesmo. (Se voc? n?o tem um amigo, voc? pode ir para outro computador seu e fazer o mesmo. Se voc? n?o tem outro computador, voc? pode abrir um segundo navegador e fazer o mesmo.)

    12) Mova seu jogador e seu amigo / que voc? deve v?-lo mover-se em sua / seu outro computador / browser. Voc? est? em Multiplayer com Construct 2!

    13) Tentar vencer um dos outros jogadores.

    OK, ent?o agora voc? est? interessado em carregar o meu behavior PhotonClient em Construct 2 e tentar desenvolver um jogo multiplayer para si mesmo.

    Eu tenho medo de que voc? vai ter que esperar (sim, de novo!).

    Por um par de dias, enquanto eu completar a documenta??o. Nesse meio tempo, entretanto est? aqui a tentadora da folha de evento para a minha demonstra??o de exemplo (s? para provar que realmente foi feito em Construct 2):

    <img src="http://www.millercrawford.com/images-offsite/construct2/photonclient-workout-event_sheet.png" border="0">

    ---------------------------------

    2? Parte

    ---------------------------------

    (Nota:. Antes de tentar o Behavior PhotonClient conforme descrito aqui, voc? precisa trabalhar com a minha demonstra??o, como explicado no meu post de 02 de abril 01h17, no topo da p?gina 11)

    Como prometido, aqui est? o meu Behavior Construct 2 PhotonClient onde voc? pode agora tentar adicionar a seus pr?prios sprites:

    https://dl.dropbox.com/u/54915877/photonclient.zip - instalar este da maneira usual (desculpe, eu ainda n?o fiz disto um add-on).

    Aqui est?o as ACEs que voc? pode usar - voc? encontrar? exemplos do uso de cada um da minha demonstra??o do exemplo (o capx pode ser baixado https://dl.dropbox.com/u/54915877/photon.workout.capx):

    [Condi??es / eventos]

    • Ao se juntar
    • Ao sair
    • Na web player/s para ser criado
    • Na web jogador juntou-se
    • Na jogador web atualizada
    • On jogador web abandonou
    • Em caso de colis?o com outro jogador
    • Em impactado por outro jogador
    • Na mensagem
    • No jogo servidor pronto (actualmente confi?veis ??- a necessidade da equipe Photon para adicionar um manipulador de evento connect)

    [Ac??es]

    • Inicializar dados do jogador na web para criar (ou seja, os dados a serem usados ??por C2 na cria??o de players da web)
    • Definir ID do jogador web (esta pares s?o alocados no Photon atrav?s do photonID e com C2-alocado no UID)

    [Express?es]

    • WebPlayerX (A coordenada X actual do jogador web escolhido)
    • WebPlayerY (A coordenada Y actual do jogador web escolhido)
    • WebPlayerUID (UID do jogador web escolhido)
    • NumWebPlayersToMake (O n?mero de jogadores da web para fazer)
    • WebPlayerPID (Photon ID do jogador web escolhido)
    • Nome (de qualquer jogador ou do jogador web escolhido / seleccionados)

    Eu liberalmente deixei comentada a minha demo de exemplo, e espero que isso v? servir como documenta??o suficiente para o uso de cada uma das ACEs.

    O objecto PhotonClient tamb?m tem estas propriedades personalizadas que podem ser definidas da maneira normal, como (onde mais poderia?).

    A barra de propriedades:

    • Auto-repeat: Se activado, as setas do teclado (e movimentos dos Sprite) repetem-se ao manter pressionado. Caso contr?rio, as chaves precisam ser pressionadas repetidamente para produzir movimento. Isso pode ser mais f?cil para controlar o posicionamento.
    • Tiled: Se activado os sprites podem mover-se de piso para piso, em vez de pixel por pixel (ver o meu coment?rio abaixo).
    • Tamanho da Tile: Comprimento (em pixels) do lado de telha (o padr?o ? 32).
    • Come?o Aleat?rio (Random Start): Se activado, o meu jogador come?a numa posi??o escolhida aleatoriamente (ver o meu coment?rio mais abaixo).

    ]] Mais informa??es sobre a propriedade 'Tiled': Tal como acontece com a maioria dos jogos multiplayer, a lat?ncia ? um problema. Isso pode resultar em movimentos de pixel-a-pixel ranhosos. Uma maneira simples de lidar com isso ? fazer com que grandes movimentos de sprites de piso para piso, ao inv?s de tentar suavizar os movimentos de pixel por pixel. ? por isso que a minha demonstra??o de treino usa movimentos de lado-a-lado.

    ]] Mais sobre a propriedade 'Random Start': Quando activado, uma posi??o inicial aleat?rio ? escolhida para seu jogador e (mais importante) se j? passa a ser um jogador web nessa posi??o, outra posi??o ? escolhido e marcado, e assim por diante, at? uma posi??o desocupada ser encontrada. Caso contr?rio, ? at? voc? para escolher a posi??o de partida, e prever a possibilidade de uma colis?o inicial.

    Algumas coisas a serem observados:

    ]] Voc? precisa de utilizar o "Export Project" na op??o (como um site HTML5)- 'Fazer "Preview" vai dar erro (experimenta e ver?s!).

    ]] N?o executar a exporta??o atrav?s do minifier - ainda s?o algumas tor??es ser resolvidos antes que ele vai atender aos requisitos exigentes do Google Closure Compiler.

    ]] A entrada do nome do jogador, o "Junte-se" 'e' "Leave" bot?es, e o header (?= Construct 2 <-> Photon Cloud multiplayer =?) s?o criados antes do C2 runtime ser iniciado!

    Eles podem ser decorados no photon_client-inputs.css na pasta photon.workout/css, e no cabe?alho pode ser alterado editando o ficheiro inputs_header.txt na pasta photon.workout.

    ]] The Cloud Photon Service permite v?rias salas num s? lobby de jogo. Nesta fase, eu n?o tenho tentado implementar esse recurso e meu Behavior PhotonClient acessa uma sala individual (chamado de 'C2demo').

    Para todos as exporta??es que fizerem a pasta final dever? conter estes ficheiros que v?m na pasta exemplo do demo (Modificados ou n?o eu n?o sei, mas s? funcionar? correctamente com o SDK do photon):

    /photon/Photon-Javascript_SDK.js

    /css/photon_client-inputs.css

    /cloud-app-info.js

    /inputs_header.txt

    Aten??o todos os cr?ditos deste tutorial v?o para o utilizador Velojet!

    Thread Original: Multiplayer Game atrav?s de PhotonClient

    Atention all the credits for this tutorial goes to Velojet!

    Original Thread: Multiplayer Game with PhotonClient

    Personally I want to thank you http://www.scirra.com/users/velojetVelojet for this spectacular development that will help me in the future to develop a project that I have been working for few months ago.

  • Construct 3

    Buy Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Buy Now Construct 3 users don't see these ads
Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)