Dudas con conexión de red

Started by Yawin, May 10, 2011, 06:57:20 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Yawin

Se que llevo tiempo desaparecido (lo que hace estar de prácticas xD) pero sigo programando en Bennu en algunos de mis ratos libres y me ha surjido un problema.

No se si recordaréis que estaba programando un videojuego de estrategia en tiempo real. La parte de los tiles la tengo un poco estancada. Hay alguna cosilla con la que me he atascado, pero bueno. La cosa es que he intentado empezar la parte de la jugabilidad (en el sentido, conectar dos jugadores).

Me he decidido por Bennuplaynet, porque tenía los códigos del Bullet de Windgate, pero no me entero de nada.

¿El cliente tiene la misma cantidad de procesos abiertos que el resto de clientes y se pasan los datos de sus movimientos (en plan, partida de ajedrez por carta) o cómo va?
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

l1nk3rn3l


Yawin

Que se pueda jugar en red a mi juego xD
La verdad es que no lo tengo muy claro.
Tengo dos ideas pensadas:

  • 1º: Tengo un programa servidor al que se conectan los jugadores. Cuando están todos listos, comienza la partida. Básicamente, los clientes ven una representación de lo que está pasando según su punto de vista y envían al servidor lo que quieren hacer.
  • 2º: Los clientes están conectados entre ellos en plan red (todos con todos). Cuando uno hace un movimiento, envía lo que ha hecho a los otros clientes, donde se repite esa acción. Digamos, que cada uno juega una partida individual en su ordenador, pero el trabajo de la IA lo hacen otros.

La verdad, estoy muy perdido.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Arcontus

#3
Quote from: yawin on May 10, 2011, 12:58:16 PM
Que se pueda jugar en red a mi juego xD
La verdad es que no lo tengo muy claro.
Tengo dos ideas pensadas:

  • 1º: Tengo un programa servidor al que se conectan los jugadores. Cuando están todos listos, comienza la partida. Básicamente, los clientes ven una representación de lo que está pasando según su punto de vista y envían al servidor lo que quieren hacer.
  • 2º: Los clientes están conectados entre ellos en plan red (todos con todos). Cuando uno hace un movimiento, envía lo que ha hecho a los otros clientes, donde se repite esa acción. Digamos, que cada uno juega una partida individual en su ordenador, pero el trabajo de la IA lo hacen otros.

La verdad, estoy muy perdido.

De poder poder, lo puedes hacer de las dos maneras, la 2a es mucho más sencilla de programar, pero la 1ª seguramente te dará mayor rendimiento.

Si tu juego es por turnos, entonces lo tienes bastante más fácil que si es en tiempo real.

En fin, para gustos los colores :)

Saludos!
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com

Windgate

Antes de nada, ¿Has probado a conseguir alguna cosa funcional a partir de mi última plantilla?

Te la dejo en descarga directa por si no la tenías:

http://trinit.es/DescargaDirecta/BennuOthers/BennuPlayNet/template/BennuPlayNet%20v0.0.5%20Windgate.zip
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Yawin

La verdad Windgate, no he hecho más que leer código. Realmente, es que no entiendo cómo funciona. Porque en C#, por ejemplo, instancias un socket, le pasas los datos de a donde escuchar y lo abres; pero, aquí, no me entero de nada xD
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

l1nk3rn3l

la libreria bennuplaynet esta  diseñada para usarse como en div2 para principiantes..

si quieres funciones de bajo nivel, hay otras librerias de red para bennu que pueden cumplir
tus espectativas , ver bennupack ...

DLL examples /  Network Multiplayer



Yawin

Gracias, miraré ahí a ver qué encuentro.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Windgate

Con la BennuplayNet te olvidas de programar el protocolo y automatiza muchas cosas... Es más fácil que usar las librerías de bajo nivel, la BennuplayNet está hecha para hacer juegos en Bennu y está REGROSA
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es