Gemix Photon

Extensiones oficiales y no para expander el lenguaje Gemix.

Re: GemixPhoton

Postby CicTec » Mon Feb 05, 2018 10:09 pm

Quizas porque esta usando un sistema de mensajes y necesita para eso guardar y enviar textos.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: GemixPhoton

Postby shao » Wed Feb 14, 2018 11:37 pm

No termino de entender el modo de online que es photon.

¿Photon envía los datos a cliente y servidor en toda la partida o sólo conecta a cliente con servidor y luego desaparece?.
Es decir, cliente y servidor envían los datos a photon (servidor de photon) y desde ahí se gestiona la partida, pero no creo que sea así por que el que la gestiona es el jugador servidor, eso se puede ver en los códigos de ejemplo.
Entonces photon sólo conecta a jugador cliente con jugador servidor y a partir de ahí jugador cliente envía los datos a jugador servidor y jugador servidor gestiona la partida, pero si fuese así, jugador servidor jugaría con ventaja al no contar con lag.
O
Ambos envían los datos a photon y photon los envía de nuevo al jugador servidor y a partir de esos datos jugador servidor gestiona la partida. Creo que es ese método.

Entonces ¿que método es photon?.
User avatar
shao
 
Posts: 6034
Joined: Wed Jun 17, 2009 4:51 pm

Re: GemixPhoton

Postby coldev » Thu Feb 15, 2018 12:47 am

photon si hablamos de redes es topologia estrella

https://es.wikipedia.org/wiki/Red_en_estrella

como dices todos son clientes , inclusive el jugador servidor...

pero si fuese así, jugador servidor jugaría con ventaja al no contar con lag.

exacto, para solventar tal situación , puedes :

1. considerar a todos como servidor (el movimiento y colisiones es gestionado por cada cliente, el jugador servidor también actúa como cliente y solo comparte
su posición con los demás)


2. Si tienes un juego en tiempo real, si quieres usar al jugador servidor como tal, entonces debes usar algún algoritmo de compensación de lag
suponiendo que la latencia de la red es 200ms , entonces el jugador servidor tendrá sus movimientos ejecutados cada 200 ms ,
en lugar de 0 ms... como dices.. (puedes simular lag con codigo gemix )
ej: Capturar el teclado en el server cada 200ms ..(suponiendo q el lag es 200ms), y para los demás players capturar normal..
asi todos jugaran en igualdad de condiciones si te refieres a la latencia del jugador server.


(La solución 1 es mas fácil, la 2 es la mas usada en juegos comerciales )
coldev
 
Posts: 49
Joined: Tue Mar 24, 2009 6:56 pm

Re: GemixPhoton

Postby shao » Thu Feb 15, 2018 2:03 pm

Es que creo mezclaste dos ideas en este último mensaje.
---------------------------

A ver si mi entendimiento es correcto.

1 - En una partida con dos jugadores, los dos jugadores enviarán los datos al servidor de photon:

Image

Eso, según entiendo, es la red en estrella.

2 - Después el servidor devuelve los datos unificados al jugador que inició la partida (jugador servidor).
Esto debe ser así por que el servidor de photon no va a gestionar la partida el sólo (no es un servidor dedicado con su programa independiente para gestionar la partida), por lo que debe devolver los datos a un jugador (el jugador servidor, el que creó la partida o el que le sigue) que la gestione.

Image

Y este jugador procesa la partida a partir de esos datos.


Conclusión mía: Si es así como funciona, entonces no hay lag por que el jugador servidor también mandó los datos al servidor de photon por lo que también tiene su lag.
Entonces no son necesarios los ejemplos que me diste, así que no termino de entender cómo es el flujo de los datos.
User avatar
shao
 
Posts: 6034
Joined: Wed Jun 17, 2009 4:51 pm

Re: GemixPhoton

Postby Nowy » Thu Feb 15, 2018 2:57 pm

segun yo entiendo, photon pone el servidor, pero un player es el que controla la partida. Tu te conectas al server photon pero tu decides que se envia etc.
User avatar
Nowy
 
Posts: 597
Joined: Sat Oct 04, 2008 11:14 am
Location: Tenerife

Re: GemixPhoton

Postby shao » Thu Feb 15, 2018 5:40 pm

Vale, yo decido qué se envía pero tanto el jugador servidor como el jugador cliente envían los datos a photon, eso se ve en el código, entonces... pregunta:

- Si ambos jugadores envían los datos a photon, ¿cómo es posible que la gestión la lleve el jugador servidor?.

Entonces ahí entra mi conclusión del otro post.
Y es que ambos jugadores envían los datos al servidor de photon, acto seguido éste (servidor photon) los envía de nuevo al jugador servidor y este jugador servidor gestiona la partida.

No sé si estoy en lo cierto, yo creo que es así como funciona.
User avatar
shao
 
Posts: 6034
Joined: Wed Jun 17, 2009 4:51 pm

Re: GemixPhoton

Postby erkosone » Thu Feb 15, 2018 10:27 pm

Exactamente para esto:

Todos los conectamos a un servidor photon..

Todos tenemos el LAG a la hora de comunicarnos "entre nosotros"..

Todo lo que proceses tu en tu PC y compartas por red.. llegará con un "LAG" a los demas.. pero para ti será instantaneo.

Lo anterior pasa igual para todos los demás clientes..
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: GemixPhoton

Postby CicTec » Fri Feb 16, 2018 12:17 am

Shao, en resumen photon es un container con info y filtrador sobre la partida de red, que recibe los datos, los filtra y los re-envia a todos los nodos en automatico (nodo = cliente) de la partida que estan conectados.

Un nodo puede ser un cliente simple o un "servidor" de la partida, que puede ser tambien un cliente (jugador) o simple gestor.

El que gestiona la partida es el "server" o "server jugador", el que gestiona los datos de red es photon.

Si un server caduca, y este es un jugador, otro jugador pasa a ser server y la partida sigue, si caduca photon se bloquea todo, porque los nodos no comunican entre si.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: GemixPhoton

Postby coldev » Wed Feb 21, 2018 4:53 am

nueva version

:claphands:

player properties son variables compartidas de cada jugador , que al modificarlas automaticamente los demas jugadores tienen los cambios
coldev
 
Posts: 49
Joined: Tue Mar 24, 2009 6:56 pm

Re: GemixPhoton

Postby SimulatorOne » Tue Feb 27, 2018 10:28 pm

Huuhh! :D

debo probar esto, al menos!
De paso actualizar el pack notepad++

Me ha gustado la Simpleza de uso de estas 2 nuevas funciones! es increible!

* INT PHOTON_PLAYER_SET_PROP(string key, string value)
//set player property

* STRING PHOTON_PLAYER_GET_PROP(int playerid, string key)
//get player property
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

PreviousNext

Return to Extensiones Gemix

Who is online

Users browsing this forum: No registered users and 1 guest