A HLAPI fornece um sistema para desenvolver jogos multiplayer no Unity, funcionando sobre a LLAPI e tratando tarefas comuns como sincronização de estados entre clientes e servidor. Segue um modelo cliente-servidor autoritário onde um jogo tem um servidor e vários clientes, e o anfitrião faz as vezes de cliente e servidor. Componentes como NetworkIdentity e NetworkTransform sincronizam objetos na rede.
Gestão e monitoramento de redes e dispositivos com Software LivreCampus Party Brasil
Proatividade, baixo custo, interface amigável. Estes são apenas alguns dos benefícios que as soluções de gestão e monitoramento de redes e dispositivos com Software Livre podem trazer à sua empresa ou projeto. Participe dessa palestra e saiba mais, esclareça dúvidas e aproveite.
Palestrante: Rafael Gomes
Formado pela Universidade de Salvador em Gestão de Redes, atuou na UFBA como analista responsável pela segurança do Centro de Processamento de Dados. Hoje trabalha na Solutis Tecnologia LTDA, empresa responsável por prover soluções em código aberto. Atualmente está cursando a pós-graduação de Sistemas Distribuídos na UFBA e possui os certificados LPIC-1 (Linux Professional Institute Certification) e MCSO (Modulo Certified Security Officer).
Gestão e monitoramento de redes e dispositivos com Software LivreCampus Party Brasil
Proatividade, baixo custo, interface amigável. Estes são apenas alguns dos benefícios que as soluções de gestão e monitoramento de redes e dispositivos com Software Livre podem trazer à sua empresa ou projeto. Participe dessa palestra e saiba mais, esclareça dúvidas e aproveite.
Palestrante: Rafael Gomes
Formado pela Universidade de Salvador em Gestão de Redes, atuou na UFBA como analista responsável pela segurança do Centro de Processamento de Dados. Hoje trabalha na Solutis Tecnologia LTDA, empresa responsável por prover soluções em código aberto. Atualmente está cursando a pós-graduação de Sistemas Distribuídos na UFBA e possui os certificados LPIC-1 (Linux Professional Institute Certification) e MCSO (Modulo Certified Security Officer).
Trabalhando com eventos e serviços no Zend Framework 2William Felipe
Trabalhando com eventos servicos no Zend Framework 2:
Uma abordagem clara e direta de como e quando utilizar eventos e serviços no Zend Framework 2.
Palestra na PHP Conference Brasil - 2014
O AWS Lambda é um micro serviço sem servidor que executa seu código trigado por eventos ou por uma chamada http através do API Gateway. Você pode usar o AWS Lambda como seu backend que opera em larga escala, desempenho, segurança e alta disponibilidade. O AWS Lambda pode executar automaticamente códigos em resposta a múltiplos eventos, como modificações a objetos em buckets do Amazon S3 ou atualizações de tabela no Amazon DynamoDB.
Esta apresentação tem por objetivo explicar como o kernel Linux expôe suas interfaces de entrada, e de que forma o usuário pode criar devices virtuais para enviar eventos, como cliques de mouse ou teclado.
Utilizando o uinput, o usuário consegue ler eventos, e converte-los como quiser.
Trabalhando com eventos e serviços no Zend Framework 2William Felipe
Trabalhando com eventos servicos no Zend Framework 2:
Uma abordagem clara e direta de como e quando utilizar eventos e serviços no Zend Framework 2.
Palestra na PHP Conference Brasil - 2014
O AWS Lambda é um micro serviço sem servidor que executa seu código trigado por eventos ou por uma chamada http através do API Gateway. Você pode usar o AWS Lambda como seu backend que opera em larga escala, desempenho, segurança e alta disponibilidade. O AWS Lambda pode executar automaticamente códigos em resposta a múltiplos eventos, como modificações a objetos em buckets do Amazon S3 ou atualizações de tabela no Amazon DynamoDB.
Esta apresentação tem por objetivo explicar como o kernel Linux expôe suas interfaces de entrada, e de que forma o usuário pode criar devices virtuais para enviar eventos, como cliques de mouse ou teclado.
Utilizando o uinput, o usuário consegue ler eventos, e converte-los como quiser.
Instruções para utilizar a ferramenta de anotações de emoções em Tweets, desenvolvida como parte do trabalho de doutorado em Ciência da Computação de Fernando Vieira da Silva
A presentation about my PhD thesis current status I've presented at the WTD (Workshop on PhD and MSc thesis, and scientific initiation) at the Institute of Computing of the University of Campinas, Brazil.
Identifying Emotions in Tweets for Brazilian Stock Market Prediction (WTD Pre...Fernando Vieira da Silva
A presentation about my PhD thesis current status I've presented at the WTD (Workshop on PhD and MSc thesis, and scientific initiation) at the Institute of Computing of the University of Campinas, Brazil.
Apresentação com o material da palestra com dicas de otimização em linguagem C, que apresentei no 11° Encontro C/C++ Brasil e na 22° Semana da Engenharia da Facens.
2. HLAPI – O que é?
● Sistema para desenvolver capacidade multiplayer em jogos no
Unity
● Funciona SOBRE a LLAPI
● Trata muitas tarefas comuns no desenvolvimento multiplayer
3. Arquitetura
● Segue o modelo Cliente-Servidor, com SERVIDOR
AUTORITÁRIO
● Um participante pode ser cliente e servidor ao mesmo tempo
(não é necessário servidor dedicado)
4. Server e Host
● Jogo tem 1 servidor e muitos clientes
● Quando não há servidor dedicado o Host faz o papel de cliente
e servidor no mesmo processo
● Host usa um cliente LocalClient para ser comunicar com o
servidor, enquanto os demais usam um RemoteClient
5. Jogadores, Jogadores Locais e Autoridades
● Há um objeto associado a cada jogador
● Comandos são enviados aos jogadores (ex: disparar tiro)
● Somente é possível enviar comandos ao seu próprio jogador
(jogador local)
6. Objetos Não-Jogadores
● Autoridade de Objetos Não-Jogadores (como inimigos) fica com
o servidor
● PS: A partir do Unity 5.2é possível um cliente obter autoridade
de um objeto não-jogador, mas é não é um processo trivial...
7. NetworkManager
● É o principal componente que controla as funcionalidades de
rede
9. NetworkIdentity
● Identifica o objeto na rede – Faz com que seu objeto seja
conhecido pelo sistema de Networking da HLAPI
● Componente precisa ser adicionado ao GameObject
10. NetworkTransform
● Sincroniza a posição do GameObject (posição, rotação e
escala) com todos os demais clientes e o servidor na rede
● Componente precisa ser adicionado ao GameObject
11. Spawning
● Pode-se controlar os objetos que são feitos spawn diretamente
no NetworkManager através do campos “Player prefab” e
“Spawn Info”.
● Esses objetos serão criados nos clientes e gerenciados pelo
sistema de spawning da HLAPI
12. Sincronização de Estados: SyncVars
class Player : NetworkBehaviour
{
[SyncVar]
int health;
public void TakeDamage(int amount)
{
if (!isServer)
return;
health -= amount;
}
}
● Variáveis que são sincronizadas do servidor para os clientes
● Quando um objeto é spawned ou um novo jogador entra, os
estados mais atualizados das SyncVars são visíveis.
13. Jogadores e Comandos
● Jogador no cliente envia comando para o jogador no servidor
● Servidor chama funções nos clientes via RPC (Remote
Procedure Calls)
14. Exemplo Comando
class Player : NetworkBehaviour
{
public GameObject bulletPrefab;
[Command]
void CmdDoFire(float lifeTime)
{
GameObject bullet = (GameObject)Instantiate(
bulletPrefab,
transform.position + transform.right,
Quaternion.identity);
var bullet2D = bullet.GetComponent<Rigidbody2D>();
bullet2D.velocity = transform.right * bulletSpeed;
Destroy(bullet, lifeTime);
NetworkServer.Spawn(bullet);
}
void Update()
{
if (!isLocalPlayer)
return;
if (Input.GetKeyDown(KeyCode.Space))
{
CmdDoFire(3.0f);
}
}
}
15. Exemplo RPC
class Player : NetworkBehaviour
{
[SyncVar]
int health;
[ClientRpc]
void RpcDamage(int amount)
{
Debug.Log("Took damage:" + amount);
}
public void TakeDamage(int amount)
{
if (!isServer)
return;
health -= amount;
RpcDamage(amount);
}
}