Sistema de red en Pilas

Aquí puedes proponer ideas para mejorar pilas, ¿que te gustaría ver en pilas?

Sistema de red en Pilas

Notapor kaiser » Mar Nov 30, 2010 11:10 am

Hola! abro éste hilo porque no me parece que uno dedicado al evento de conurbania sea el más adecuado para hablar del sistema de red. Se que existen librerías de red como twisted y podsixnet pero es lo único que sé de ellas, que existen, si realmente te interesa implementar alguna de ellas en Pilas entonces las echaré un vistazo, aunque yo creo que mientras se pueda debemos mantener Pilas lo más ligero posible, dependiendo de la menor cantidad de librerias posible, y mientras podamos utilizar lo que nos ofrece python y SFML ¿para qué más?. En cuanto a lo de TCP y UDP creo que TCP es más fiable y mientras los juegos no necesiten transmitir gran cantidad de información en tiempo real... puede ser suficiente ¿no?, una buena implementación a base de threads puede manter el juego corriendo mientras recibimos los datos, evitando que el juego se "cuelgue" en caso de que los paquetes se pierdan y haya que retransmitirlos (el jugador sólo verá un pequeño lag momentáneo como el sufrido en casi todos los juegos de red). En cuanto al sistema de eventos no se exactamente a que te refieres, soy bastante nuevo así que para mi hablar de eventos todavía significa hablar de interfaces gráficas, que es el único entorno en donde he escuchado ese término, si... soy de los que no ve pilas sólo como algo a desarrollar sino como algo de lo que aprender xD.

Un saludo!
De la API al IDE y del IDE a la API.
Avatar de Usuario
kaiser
 
Mensajes: 121
Registrado: Mié Nov 24, 2010 7:47 pm
Ubicación: Madrid (España)

Re: Sistema de red en Pilas

Notapor hugoruscitti » Mar Nov 30, 2010 5:36 pm

Buenas, en si podemos hacer el sistema de red de distintas maneras, usar
twisted es la aternativa que propongo porque me parece interesante
encarar la solución usando una biblioteca que nos simplifique el trabajo. Pilas
usa bibliotecas para todo (física, gráficos, interpolaciones, señales), no estaría mal
sumar una mas...

El sistema de eventos es el que utilizamos para que el usuario pueda
interactuar con el juego, por ejemplo: cuando pulsa una tecla
o mueve el mouse se genera un evento dentro del motor y eso puede
disparar una acción programada.
Relacionarlo con el sistema de redes nos permitiría hacer cómo "decirle a
un actor que haga algo cuando llegue un paquete de datos", o algo así. De esa
forma el receptor de eventos podría tratar a un paquete de datos como
un control "Virtual" y permitirle a una persona manejar un actor desde
otra máquina.

Voy a ordenar un poquito las pruebas que estuve haciendo y las voy a publicar
por acá en unos días, creo que es factible que pilas tenga soporte
para redes, pero igualmente es todo un desafio...

Como recomendación, twisted vale la pena, ya sea que la usemos
o no, te recomendaría investigarla un poco, tiene cosas interesantes
como el manejo de hilos que hace por cuenta propia y la documentación.

Sigamos con pruebas a ver como nos va... tal vez en una semanas (siendo muy
optimista) podamos tener algún minijuego con soporte para redes :o
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: Sistema de red en Pilas

Notapor kaiser » Mar Nov 30, 2010 7:09 pm

Hola! ok le echaré un vistazo a twisted a ver si aprendo a usarla y te puedo ayudar mejor, si tienes algún ejemplo sencillito y bien documentado cuélgalo y me pongo con ello.

Creo que ya se más o menos como funcionan los eventos, la verdad es que nunca me había planteado usar el sistema de red así, veré a ver si puedo adaptar lo que tengo a ese estilo.

En cuanto a lo de tener un juego en red dentro de unas semanas... creo que lo difícil no es programar un juego en red (ya te digo que el sistema que tengo se podría adaptar en cuestión de minutos para un juego por turnos) yo creo que lo complicado va a ser integrar todo lo que hagamos en Pilas.

Bueno Hugo, espero con impaciencia tus ejemplos, ojalá salga todo ésto adelante, creo que va a ser un impulso muy interesante para Pilas (...como cuando de el salto al 3D xD, por cierto me sorprendió no ver nada de 3D en la presentación de conurbania en la trasparencia de cosas previstas a implementar en el futuro en Pilas, creo que ya se habló algo de ésto en el foro ¿no?)

Un Saludo!
De la API al IDE y del IDE a la API.
Avatar de Usuario
kaiser
 
Mensajes: 121
Registrado: Mié Nov 24, 2010 7:47 pm
Ubicación: Madrid (España)

Re: Sistema de red en Pilas

Notapor kaiser » Dom Dic 05, 2010 12:35 pm

Hola Hugo! Estos días he estado un poco desconectado porque estaba lleno de exámenes de la uni. Me bajé el manual de Twisted que hay en la página oficial pero son 250 páginas en inglés, e incluso en el tutorial utiliza elementos que no había visto nunca antes (como el factory) y que no explica muy bien, asi que entre unas cosas y otras avanzo como puedo. A ver si puedes pasarme algún ejemplo que tengas hecho tú o algún tutorial más sencillo para que pueda empezar a hacer algo útil cuanto antes.

Un Saludo!
De la API al IDE y del IDE a la API.
Avatar de Usuario
kaiser
 
Mensajes: 121
Registrado: Mié Nov 24, 2010 7:47 pm
Ubicación: Madrid (España)

Re: Sistema de red en Pilas

Notapor hugoruscitti » Lun Dic 06, 2010 1:53 pm

Buenas Kaiser, te paso en ejemplo de chat lo mas simple que pude:

http://www.losersjuegos.com.ar/incoming ... hat.tar.gz

Ten en cuenta que la complejidad del programa viene principalmente porque
evité hacer hilos...

Para correr el ejemplo solo tienes que iniciar el servidor y luego tantos clientes
como quieras.

Luego, con respecto a la integración con pilas, también estoy un poco jugado
con el tiempo... voy a tratar de avanzar algo en el transcurso de la semana o
la próxima. Mi idea es investigar un poco mas sobre AMP de twisted, que permite
hacer protocolos orientados a comandos, y si veo que eso no es viable investigar
la posibilidad de enviar paquetes de datos en formato json.

http://twistedmatrix.com/documents/8.2. ... s.amp.html

Te dejo algunos documentos que hablan sobre twisted, el primer está en español,
pero es muy general, no se aplica mucho a lo que nos sirve (solo para tener una idea):

http://www.linux-magazine.es/issue/17/Twisted.pdf

Este otro está en inglés, pero explica un poco los conceptos
detrás de twisted:

http://www.linuxjournal.com/node/7871/print

También hay varios ejemplos en la página de twsited:

http://twistedmatrix.com/documents/curr ... /examples/

Y por último, este link es parte de un código de redes dentro de un videojuego:

http://bazaar.launchpad.net/~game-hacke ... network.py

Te comento cualquier novedad, y de paso hago un directorio de pruebas sobre
redes en el repo.

Saludos.
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: Sistema de red en Pilas

Notapor jscabuzzo » Sab Abr 14, 2012 9:15 pm

Hola a todos !!!
Estuve leyendo este hilo y otro que salio después sobre el tema de red (el ultimo fue sobre twisted).
Preguntas: ¿Que se busca sobre la utilización en red para pilas?¿solo que un juego sea multiplayer?¿que es lo que tienen en mente cuando piensan en pilas + red?

N del R: Utilice este hilo para no abrir otro, de hecho creo que todos tendríamos que evitar abrir hilos nuevos sobre un tema que ya se empezó a tratar en otro, de esta manera se auto-organizan que cosas se quieren agregar en breve al motor y uno puede saber que opina otro sin tener que revisar otros hilos.

Saludos.
Joaquin.
jscabuzzo
 
Mensajes: 4
Registrado: Jue Abr 12, 2012 6:39 pm

Re: Sistema de red en Pilas

Notapor kiketom » Mar Abr 17, 2012 7:43 pm

jscabuzzo escribió:Hola a todos !!!
¿Que se busca sobre la utilización en red para pilas?¿solo que un juego sea multiplayer?¿que es lo que tienen en mente cuando piensan en pilas + red?


Hola Joaquin.
En principio la idea es hacer que pilas pueda crear juegos multiplayer sencillos.
Actualmente estamos trabajando para que sea posible ;).
Avatar de Usuario
kiketom
 
Mensajes: 82
Registrado: Lun Ene 03, 2011 3:01 pm
Ubicación: Valencia, España

Re: Sistema de red en Pilas

Notapor jscabuzzo » Mié Abr 18, 2012 1:45 am

Hola kike !!!
Gracias por tu respuesta, que bueno que haya avances con eso, es obvio que se me cruzaron muchas ideas al pensar en pilas + red, hace poco que empeze a interiorizarme en el proyecto y mi interés a corto plazo es trabajar con el tema de los motores que se utilizan (y utilizaran) en pilas, también quería ver que ideas hay (y que ideas tenían otros usuarios) con respecto a este tema, dado que estamos en una sección de sugerencias e ideas.

Cualquier cosa mándame un mensaje privado o nos pasamos los mails, por si te puedo dar una mano o alguna sugerencia, aunque no se si te pueda ayudar mucho, me interesa también para aprender.

Espero que mas usuarios participen brindando ideas y sugerencias, y que se sumen al proyecto, yo voy a estar en contacto con hugo por el momento por el tema de los bindings (pyqt, pyside, wxpython, etc), espero que este proyecto crezca mucho y poder aportar lo mas que pueda.

Saludos.
Joaquin.
jscabuzzo
 
Mensajes: 4
Registrado: Jue Abr 12, 2012 6:39 pm


Volver a Sugerencias e ideas

¿Quién está conectado?

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