preciso de um programador que entenda de Photon pago via Pix pela ajuda!!
3 participantes
Página 1 de 1
preciso de um programador que entenda de Photon pago via Pix pela ajuda!!
pessoal preciso de alguem que entenda de multiplayer para me ajudar a sincronizar meu jogo multiplayer tem que ser alguém que entenda mesmo.
este e meu jogo ele esta com um pequeno delay e preciso que alguém me ajude a concertação via assistência remota vejam o video dele nele voces verão o delay. preciso de ajuda para hoje mesmo ok.
https://www.youtube.com/watch?v=9MukUwf8UA4&t=2s
este e meu jogo ele esta com um pequeno delay e preciso que alguém me ajude a concertação via assistência remota vejam o video dele nele voces verão o delay. preciso de ajuda para hoje mesmo ok.
https://www.youtube.com/watch?v=9MukUwf8UA4&t=2s
claudiano2020- Avançado
- PONTOS : 1610
REPUTAÇÃO : 38
Idade : 37
Respeito as regras :
Re: preciso de um programador que entenda de Photon pago via Pix pela ajuda!!
este e o problema pessoal podem me dar alguma dica se tem algo errado aqui ou uma forma melhor de sincronização?
private void sendUnitVelocity()
{
Rigidbody component = GetComponent<Rigidbody>();
if (is_online && gameController.GetComponent<GlobalGameManager30>().myShootTurn)
{
float x = component.velocity.x;
float y = component.velocity.y;
if ((double)x > 0.05 || (double)x < -0.05 || (double)y > 0.05 || (double)y < -0.05)
{
Vector3 velocity = component.velocity;
Vector3 position = gameObject.transform.position;
int ping = PhotonNetwork.GetPing();
object[] eventContent = new object[4]
{
velocity,
position,
base.gameObject.name,
ping
};
RaiseEventOptions raiseEventOptions = new RaiseEventOptions
{
Receivers = ReceiverGroup.Others
};
SendOptions sendOptions = default(SendOptions);
sendOptions.Reliability = true;
SendOptions sendOptions2 = sendOptions;
PhotonNetwork.RaiseEvent(unit_pos_code, eventContent, raiseEventOptions, sendOptions2);
}
}
}
public void OnEvent(EventData photonEvent)
{
if (photonEvent.Code != unit_pos_code)
{
return;
}
if (fixedCounter == 1)
{
object[] obj = (object[])photonEvent.CustomData;
Vector3 vector = (Vector3)obj[0];
Vector3 a = (Vector3)obj[1];
object obj2 = obj[2];
int num = (int)obj[3];
int num2 = PhotonNetwork.GetPing() / 2 + num / 2;
if (obj2.ToString().Contains("PlayerUnit"))
{
obj2 = obj2.ToString().Replace("PlayerUnit", "Player2Unit");
}
else if (obj2.ToString().Contains("Player2Unit"))
{
obj2 = obj2.ToString().Replace("Player2Unit", "PlayerUnit");
}
GameObject gameObject = GameObject.Find((string)obj2);
gameObject.GetComponent<Rigidbody>().velocity = vector;
gameObject.transform.position = a + vector * (num2 / 2000);
}
if (!gameController.GetComponent<GlobalGameManager30>().myShootTurn)
{
fixedCounter++;
}
if (fixedCounter > 10)
{
fixedCounter = 0;
}
}
public void FixedUpdate()
{
sendUnitVelocity();
}
private void sendUnitVelocity()
{
Rigidbody component = GetComponent<Rigidbody>();
if (is_online && gameController.GetComponent<GlobalGameManager30>().myShootTurn)
{
float x = component.velocity.x;
float y = component.velocity.y;
if ((double)x > 0.05 || (double)x < -0.05 || (double)y > 0.05 || (double)y < -0.05)
{
Vector3 velocity = component.velocity;
Vector3 position = gameObject.transform.position;
int ping = PhotonNetwork.GetPing();
object[] eventContent = new object[4]
{
velocity,
position,
base.gameObject.name,
ping
};
RaiseEventOptions raiseEventOptions = new RaiseEventOptions
{
Receivers = ReceiverGroup.Others
};
SendOptions sendOptions = default(SendOptions);
sendOptions.Reliability = true;
SendOptions sendOptions2 = sendOptions;
PhotonNetwork.RaiseEvent(unit_pos_code, eventContent, raiseEventOptions, sendOptions2);
}
}
}
public void OnEvent(EventData photonEvent)
{
if (photonEvent.Code != unit_pos_code)
{
return;
}
if (fixedCounter == 1)
{
object[] obj = (object[])photonEvent.CustomData;
Vector3 vector = (Vector3)obj[0];
Vector3 a = (Vector3)obj[1];
object obj2 = obj[2];
int num = (int)obj[3];
int num2 = PhotonNetwork.GetPing() / 2 + num / 2;
if (obj2.ToString().Contains("PlayerUnit"))
{
obj2 = obj2.ToString().Replace("PlayerUnit", "Player2Unit");
}
else if (obj2.ToString().Contains("Player2Unit"))
{
obj2 = obj2.ToString().Replace("Player2Unit", "PlayerUnit");
}
GameObject gameObject = GameObject.Find((string)obj2);
gameObject.GetComponent<Rigidbody>().velocity = vector;
gameObject.transform.position = a + vector * (num2 / 2000);
}
if (!gameController.GetComponent<GlobalGameManager30>().myShootTurn)
{
fixedCounter++;
}
if (fixedCounter > 10)
{
fixedCounter = 0;
}
}
public void FixedUpdate()
{
sendUnitVelocity();
}
claudiano2020- Avançado
- PONTOS : 1610
REPUTAÇÃO : 38
Idade : 37
Respeito as regras :
Re: preciso de um programador que entenda de Photon pago via Pix pela ajuda!!
"Meu jogo com multiplayer está com um pequeno delay"
Espero que entenda que isso pode significar muita coisa, não fica claro se está falando de latência/ping, delay ao processar input, etc.
Pelo vídeo não dá pra perceber o problema.
Como seu jogo é bem previsível, quase determinístico, daria pra simular toda a jogada no frame que o jogador dispara o botão, deixar a jogada acontecer normalmente no celular do jogador, e mandaria pro outro a informação já processada de como a jogada foi feita, direção inicial, onde colidiu, onde parou, etc.
Dessa forma você não sincronizaria a posição ou velocidade do Rigidbody e sim o que você ainda vai ver na sua maquina, o futuro da jogada, a coisa toda.
De certa forma, seria até melhor em relação a latência, pois se a jogada demora 2 segundos pra acontecer e o player tem 200ms de latência, com 200 ms ele já vai receber o processamento inteiro da jogada, de uma vez só, não ficaria sincronizando aos poucos podendo não terminar na mesma posição por conta do threshold de posição do Photon.
Espero que entenda que isso pode significar muita coisa, não fica claro se está falando de latência/ping, delay ao processar input, etc.
Pelo vídeo não dá pra perceber o problema.
Como seu jogo é bem previsível, quase determinístico, daria pra simular toda a jogada no frame que o jogador dispara o botão, deixar a jogada acontecer normalmente no celular do jogador, e mandaria pro outro a informação já processada de como a jogada foi feita, direção inicial, onde colidiu, onde parou, etc.
Dessa forma você não sincronizaria a posição ou velocidade do Rigidbody e sim o que você ainda vai ver na sua maquina, o futuro da jogada, a coisa toda.
De certa forma, seria até melhor em relação a latência, pois se a jogada demora 2 segundos pra acontecer e o player tem 200ms de latência, com 200 ms ele já vai receber o processamento inteiro da jogada, de uma vez só, não ficaria sincronizando aos poucos podendo não terminar na mesma posição por conta do threshold de posição do Photon.
SteveRogers- Instrutor
- PONTOS : 2623
REPUTAÇÃO : 156
Respeito as regras :
Re: preciso de um programador que entenda de Photon pago via Pix pela ajuda!!
ola amigo quanto voce me cobraria para me ajudar a ajustar meu jogo?
este aqui e um outro video do problema.
neste video da de ver melhor o problema
este aqui e um outro video do problema.
neste video da de ver melhor o problema
claudiano2020- Avançado
- PONTOS : 1610
REPUTAÇÃO : 38
Idade : 37
Respeito as regras :
claudiano2020- Avançado
- PONTOS : 1610
REPUTAÇÃO : 38
Idade : 37
Respeito as regras :
Re: preciso de um programador que entenda de Photon pago via Pix pela ajuda!!
Oi eu to precisando de ajuda com o Photon tbm
Vorzoolvan- Iniciante
- PONTOS : 2982
REPUTAÇÃO : 0
Respeito as regras :
Re: preciso de um programador que entenda de Photon pago via Pix pela ajuda!!
Claudiano, como vc fez para sincronizar a imagem dos botões de jogadores ?...(os escudos dos times)
Vorzoolvan- Iniciante
- PONTOS : 2982
REPUTAÇÃO : 0
Respeito as regras :
Re: preciso de um programador que entenda de Photon pago via Pix pela ajuda!!
foi via este tutorial custon https://forum.photonengine.com/discussion/9937/example-for-custom-propertiesVorzoolvan escreveu:Claudiano, como vc fez para sincronizar a imagem dos botões de jogadores ?...(os escudos dos times)
veja meus jogos no google play
https://play.google.com/store/apps/dev?id=6585847019396626438
claudiano2020- Avançado
- PONTOS : 1610
REPUTAÇÃO : 38
Idade : 37
Respeito as regras :
Tópicos semelhantes
» Pago pela ajuda de alguém, projeto "QUIS", problema RANKING.
» Ola sou programador e preciso da sua ajuda!!
» [Equipe]Preciso de ajuda de um programador
» Precisamos de um Level Desgner ou Programador, que entenda de Otimização de Senario
» Preciso de um programador
» Ola sou programador e preciso da sua ajuda!!
» [Equipe]Preciso de ajuda de um programador
» Precisamos de um Level Desgner ou Programador, que entenda de Otimização de Senario
» Preciso de um programador
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos