Programar para red

Consulte acerca de programas, técnicas, algoritmos etc.

Programar para red

Notapor FioreT » Dom Ago 09, 2009 5:30 pm

Hola gente,

He estado haciendo algunas cositas con openGL y C++ y hasta el momento me ha ido bastante bien. Lo que me gustaría ahora es poder hacer un juego en red. Pero no se como hacer para que los objetos que están en diferentes procesos coordinen su estado. Mas que nada los personajes que se mueven por la pantalla. Por el momento tengo un par de sockets que se tiran cadenas entre si, podría mandar comandos por ahí, pero no se como coordinar cuando se corta la conexión y ese tipo de cosas

¿Existe alguna técnica para manejar todo esto? ¿Me podrían pasar algo para leer?
FioreT
 
Mensajes: 1
Registrado: Dom Ago 09, 2009 12:48 am

Notapor lacabra25 » Mar Sep 15, 2009 3:39 pm

Lo primero es saber si quieres que el juego se comunique de forma cliente-servidor, o de forma directa cliente-cliente (con cliente me estoy refiriendo al juego, obviamente si se usa TCP uno debera de hacer las veces de servidor y el otro conectarse a el), o en resumidas cuentas, como quieres que se comuniquen, tambien debes pensar si prefieres la seguridad de que lo que envias llegue (TCP) o si prefieres enviar datos lo mas rapido posible, aunque eso implique que algunos se pierdan (UDP). Despues debes mirar si vas a mantener en cada cliente todo el juego completo, y coordinar lo que sucede en uno en otro y viceversa, o si sera el servidor, o el cliente que haga de servidor, el que mantenga el control de todo el juego y los demas clientes solo recivan los datos necesarios para poder mostrar en pantalla el juego y reproducir los sonidos y demas y mandar al servidor las acciones que quieren realizar para que este las refleje en el juego de forma que el resto de cliente cuando reciva los datos del servidor vea reflejadas las acciones de los demas clientes (obviamente esta segunda opcion carga todo el peso de procesar el juego en el servidor y deja a los clientes encargados unicamente de mostrar los graficos, reproducir los sonidos, leer los eventos y enviar la orden correspondiente al servidor, y poco mas).

En cuanto a lo de saber cuando se corta la conexion y temas relacionados, primero debes de pensar si vas a usar TCP o UDP, y para poder decirte es necesario que digas si estas programando directamente los sockets a partir de bibliotecas del sistema, si estas usando una biblioteca determinada y esos detalles para poder explicarte en consecuencia al modo en que lo estes programando.

Yo hace unos mese que programe una biblioteca con funciones de red (para manejar TCP y UDP tanto con IPv4 como con IPv6) que esta bajo la licencia GPL, por lo que si quieres puedes utilizarla (el juego en que la uses deberia ser software libre que respete la licencia GPL) o ver el codigo fuente por si te sirve de ayuda. Desde la web en la que la tengo subida puedes descargarla y descargar tambien el codigo fuente: http://www.snl.ya.st/.

Espero haber sido de ayuda.
Esta cuenta ahora a pasado a la cuenta jhg
Avatar de Usuario
lacabra25
 
Mensajes: 222
Registrado: Mié Abr 02, 2008 9:45 pm
Ubicación: Tenerife (España)


Volver a General

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron