finalização 1º semestre 2010 > pucpr > pós jogos bruno c. de paula

26
Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Finalização

1º Semestre 2010 > PUCPR > Pós Jogos

Bruno C. de PaulaBruno C. de Paula

Page 2: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

SumárioComentar sobre detalhes de

desenvolvimento que não tiveram espaço neste curso;

Responder a dúvidas comuns e dar dicas em geral para seus projetos;

Fornecer material gratuito e fácil de usar para a prototipação rápida de seus jogos.

Lembre-se: O Diabo está nos detalhes! Ou seja, a diferença entre um bom e um mau jogo pode ser mínima!

Page 3: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

1) Como trabalhar com som?Componente Audio Listener:

Funciona como microfone;Recebe o som de um ou mais

componenetes do tipo Audio Source;Associado, geralmente, à Main Camera.Cada cena só pode ter 1 audio listener;

Componente Audio Source:Toca um audio clip (3d ou não);Arquivos do tipo .aif, .wav, .mp3 e .ogg.

311/04/23

Page 4: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Propriedade Audio SourceAudio Clip: arquivo;Play On Awake: roda quando a cena

inicia;Volume;Pitch: velocidade;Max / Min Volume: volume mínimo e

máximo não importando a distância;Rolloff Factor: quanto maior, mas

perto tem que se estar para ouvir o sim;Loop: repete ao chegar no fim.

411/04/23

Page 5: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Scripts para somaudio.Play(): toca um som;audio.Stop(): interrompe;audio.isPlaying: verifica se está tocando

// Tocar som específico:var som : AudioClip;audio.clip = som;audio.Play();Dica:

ferramenta para criação de efeitos sonoros.

511/04/23

Page 6: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

2) Multiplayer com o Unity?Sim, cliente-servidor construído em

Unity Ver:http://unity3d.com/support/resources/

example-projects/networking-exampleiPhone Multiplayer Tutorial;* Excelente tutorial ** .

611/04/23

Page 7: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Servidor não precisa ser escrito no UnityTambém pode usar outras

infraestruturas como servidor:SmartFox;

• Tutorial criação de ambientes multiusuário no Unity usando o SmartFox;

Raknet:• Interação com servidor C++;

Outros:• Photon, RedDwarf, NetDog, ...

711/04/23

Page 8: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Dicas para projeto MultiplayerDifícil de depurar, use duas instâncias

do Unity ou o Web Player;Se o Unity for o servidor, garanta que

ele rode em background (Edit > Project Settings > Player > Run in Background);

Pode usar NAT (Network Address Translation);

Projeto de jogo multiplayer não é simples!

811/04/23

Page 9: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Abordagens para jogos em redeAuthorative Server X Non-

Authorative ServerMaior processamento no servidor X

confiança no cliente;Client Side Prediction X Sem predição

911/04/23

Page 10: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Scripts para ConexãoNetwork.InitializeServer:

Cria o servidor;Pode ser uma máquina dedicada ou

que também está jogando.Network.Connect:

Conecta com um servidor existente;

Precisa do ip e da porta (senha opcional);

1011/04/23

Page 11: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Eventos de conexãoChamados automaticamente quando

acontece algo com a conexão;OnConnectedToServer,

OnDisconnectedFromServer, OnFailedToConnect, OnPlayerConnected, OnPlayerDisconnected...

1111/04/23

Page 12: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Componente Network ViewÚtil para sincronizar o estado de

componentes pela rede ou enviar mensagens;

State Synchronization indica o tipo de sincronização;

Controle fino usando o evento OnSerializeNetworkView;

1211/04/23

Page 13: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

RPCRemote Procedure CallsPermitem que sejam chamadas

funções em máquinas remotas;

1311/04/23

@RPCfunction ExibirMsg (txt : String){ Debug.Log(txt);}

networkView.RPC ("ExibirMsg", RPCMode.All, "Oi");

Page 14: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

3) Posso abrir mais de uma instância do Unity ao mesmo tempo?Sim!Cuidado! Evite abrir o mesmo projeto!

Crie um bat com: "C:\...\Unity.exe" –projectPath "C:\...\Projeto"

1411/04/23

Page 15: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

4) Como fazer pathfinding?Ótima solução do Aron Granberg;Usa algoritmo A*;Navegação em um grid de nós;Outras sugestões de implementação:

Campos potenciais;Waypoints.

1511/04/23

Page 16: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

5) E comportamentos emergentes / flocking?Fácil implementação ver

Programming GameAI By Example;Se quiser uma abordagem pronta, use a

Biblioteca UnitySteer (licença MIT);

1611/04/23

16

Separação:Evitar os vizinhos que estão muito próximos

Alinhamento: acompanhar a velocidade média do grupo

Coesão: acompanhar a posição média do grupo (centro de gravidade)

Evitar obstáculos: procurar desviar os obstáculos pelo caminho.

Page 17: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

6) Quais os principais tutoriais / exemplos disponíveis no site do Unity?Os que podem ajudar na

criação de seus jogos:Plataforma de 3ª Pessoa

;Tiro de 3ª Pessoa;Plataforma em 2D;Jogo de carro (realista) ;FPS.

1711/04/23

Page 18: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

7)Modelos, animações, gratuitos, baratos, fáceis de usar? A seguir, uma lista de ferramentas e

recursos fáceis de usar e rápidas de aprender!

TurboSquid:Mercado de modelos 3d.

1811/04/23

Page 19: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

7)Modelos, animações, gratuitos, baratos, fáceis de usar?Mixamo:

Serviço on line para criação de animações em 3D;

Integração perfeita com Unity, download do FBX otimizado para o Unity;

1911/04/23

Page 20: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

7)Modelos, animações, gratuitos, baratos, fáceis de usar?Você pode fazer o upload do

esqueleto, download da animação ou criação do personagem via Web.

Fiquem de olho (!):Pessoal da Stanford;Modelo de negócios inovador;Integração com OpenSim.

2011/04/23

Page 21: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

7)Modelos, animações, gratuitos, baratos, fáceis de usar / construir?Make Human: modelagem de

humanóide;UniHuman: versão lowpoly do

MakeHuman, roda no Blender;

2111/04/23

Page 22: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

7)Modelos, animações, gratuitos, baratos, fáceis de usar / construir?Spore (!) – Você pode exportar suas

criaturas / veículos e construções para o formato Collada (.dae).

2211/04/23

Page 23: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

7)Modelos, animações, gratuitos, baratos, fáceis de usar / construir?Sculptris;Ferramenta de

escultura digital;Alternativa gratuita ao

Zbrush;Fácil de usar;Gera modelos hi poly

(necessitam de tratamento posterior para poder ser usado em um jogo;

2311/04/23

Page 24: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

7)Modelos, animações, gratuitos, baratos, fáceis de usar / construir?ShapeShop:

Ferramenta de modelagem 3D com interface baseada em rascunhos;

Exporta Collada e obj.

2411/04/23

Page 25: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

7)Modelos, animações, gratuitos, baratos, fáceis de usar / construir?Google Sketchup:

Possui um armazém 3D; Arquivo .kmz é um .zip com .dae

dentro...

2511/04/23

Page 26: Finalização 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

7)Modelos, animações, gratuitos, baratos, fáceis de usar / construir?Arquivos BVH (e similares) (Biovision

Hierarchy - mocap) gratuitos:2500 movimentos;Free Motion Capture Data;Mocaps CMU Open Source.

Ferramentas gratuitas para visualização / edição de mocap:Animeeple – integrado com Unity (ver),

importa do Evolver.BVHHacker;

2611/04/23