Photon Cloud: Multiplayer [Portuguese]

Discuss game development design and post your game ideas

Post » Mon May 06, 2013 11:08 pm

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 ento voc teve de esperar enquanto eu me converti para a verso 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 no podia esperar mais e ento eu prossegui sozinho, seguindo o meu caminho atravs da documentao 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 no testei em outros dispositivos):


Assim, para obter a minha demonstrao 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 mximo de 20 CCU. Voc receber um ID de aplicao que voc vai precisar no Passo 4. ( um identificador criado para a sua aplicao 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 no tem acesso a um servidor remoto, voc pode usar localhost para uma demonstrao in-house). Configure uma pasta no servidor web a partir do qual poder servir a sua demonstrao de exemplo:
- Vou cham-lo de 'photonclient.workout' nas etapas seguintes.

3) Faa o download dos arquivos de demonstrao do exerccio 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 prximo - voc pode encontrar uma lista deles em http://doc.exitgames.com/photon-cloud/Regions/#cat-reference. Voc precisar substituir a 'port' (seguindo o clon) com '9090' (apenas os quatro dgitos, e no 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 endereo photonclient.workout onde voc copiou os meus arquivos de demonstrao do exemplo, e que agora tambm contm o seu prprio arquivo de cloud-app-info.js j editado.

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

11) Partilha o link com um amigo e leva-o a fazer o mesmo. (Se voc no tem um amigo, voc pode ir para outro computador seu e fazer o mesmo. Se voc no 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, ento 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 documentao. Nesse meio tempo, entretanto est aqui a tentadora da folha de evento para a minha demonstrao de exemplo (s para provar que realmente foi feito em Construct 2):



---------------------------------
2 Parte
---------------------------------

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

Como prometido, aqui est o meu Behavior Construct 2 PhotonClient onde voc pode agora tentar adicionar a seus prprios sprites:
https://dl.dropbox.com/u/54915877/photonclient.zip - instalar este da maneira usual (desculpe, eu ainda no fiz disto um add-on).

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

[Condies / 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 coliso com outro jogador
- Em impactado por outro jogador
- Na mensagem
- No jogo servidor pronto (actualmente confiveis ??- a necessidade da equipe Photon para adicionar um manipulador de evento connect)

[Aces]
- Inicializar dados do jogador na web para criar (ou seja, os dados a serem usados ??por C2 na criao de players da web)
- Definir ID do jogador web (esta pares so alocados no Photon atravs do photonID e com C2-alocado no UID)

[Expresses]
- 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 nmero 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 documentao suficiente para o uso de cada uma das ACEs.

O objecto PhotonClient tambm 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 contrrio, as chaves precisam ser pressionadas repetidamente para produzir movimento. Isso pode ser mais fcil 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 comentrio abaixo).

- Tamanho da Tile: Comprimento (em pixels) do lado de telha (o padro 32).

- Comeo Aleatrio (Random Start): Se activado, o meu jogador comea numa posio escolhida aleatoriamente (ver o meu comentrio mais abaixo).

]] Mais informaes sobre a propriedade 'Tiled': Tal como acontece com a maioria dos jogos multiplayer, a latncia 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 invs de tentar suavizar os movimentos de pixel por pixel. por isso que a minha demonstrao de treino usa movimentos de lado-a-lado.

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

Algumas coisas a serem observados:

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

]] No executar a exportao atravs do minifier - ainda so algumas tores 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" botes, e o header (= Construct 2 <-> Photon Cloud multiplayer =) so criados antes do C2 runtime ser iniciado!

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

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


Para todos as exportaes que fizerem a pasta final dever conter estes ficheiros que vm na pasta exemplo do demo (Modificados ou no eu no 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

Ateno todos os crditos deste tutorial vo para o utilizador Velojet!
Thread Original: Multiplayer Game atravs de PhotonClient


Atention all the credits for this tutorial goes to Velojet!
Original Thread: Multiplayer Game with PhotonClient


Personally I want to thank you Velojet for this spectacular development that will help me in the future to develop a project that I have been working for few months ago.DarkevilPT2013-06-01 20:18:11
B
5
S
1
Posts: 16
Reputation: 957

Return to Game Development, Design & Ideas

Who is online

Users browsing this forum: No registered users and 0 guests